Show / Choose From List (Configurable)

BetterTouchTool v6.426
macOS 15.7.3

Dynamically retrieved list gets dismissed when moving mouse over the items. Works as expected when switching with up/down cursor keys and selecting with enter.

Used script:
async function retrieveJSON() {
const cacheFile = "~/.btt_cache.json";
const raw = await runShellScript({
script: cat ${cacheFile} 2>/dev/null || echo "[]"
});
return raw;
}

mh seems to work fine here, what does your btt_cache.json contain?

I just tried with a basic script:

async function retrieveJSON() {
  let items = [
    {
        "title": "hello world",
        "icon": "sfsymbol::globe",
      // this shows various forms of actions. In case you are just triggering
      // a single action, it does not need to be an array.
      action: [
        `btt::paste_text@@{"text": "hello world"}`,
        "keyboard::0", //type a
        "keyboard::11", //type b
        "keyboard::8", //type c
        "js::runShellScript({script: `say hello`})",
        {
          btt: "paste_text",
          args: {
            text: "hello world 2",
            insert_by_pasting: true,
          },
        },

        {
          shortcut: "theNameOfTheShortcut",
          input: "some optional input",
        },
      ]
    },
    {
      title: "some title",
      subtitle: "some subtitle",
      subitems: [
        {
          title: "some sub-item",
          action: "named::NameOfNamedTriggerInBTT",
          icon: "sfsymbol::house::weight@@light::size@@30"
        },
        {
          title: "some sub-item2",
          icon: "base64::iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mNkYPhfz0AEYBxVSF+FAP5FDvcfRYWgAAAAAElFTkSuQmCC",
          action: "shortcut::NameOfShortcutInShortcutsApp@@OptionalInput"
        },
      ],
      icon: "sfsymbol::star::color@@B53E93"
    },
  ];

  return JSON.stringify(items);
}

Tried your script, same behaviour. Did you tried it as a menu item where the menu never hides?

Seems like a menu refresh issue when using the mouse over the items

Wait, you mentioned choose from list, but that screenshot is from a floating menu. With which do you encounter the problem, the choose from list action or a floating menu?

it regards the choose from list action used in a floating menu item. so the fl menu is visible all the time. when menu item selected a list from choose from list action opens and when hovering over the items in the list the list gets dismissed. hope this clears thing up a little better.

mh like this?

Could you maybe export the menu?

found the culprit, it's caused by Autoraise app. Disabeling Autoraise solves the issue. Strangely it doesn’t ’cause the same issue for not dynamically generated lists. Is it timing related??

Could be lots of things, unfortunately autoraise on macOS will always cause weird issues which is why I have never added it to BTT :laughing:

Is there a way BetterTouchTool still can fill in it's place? I'm using it for decades so it's hard to do without.

unfortunately not really, if you need autoraise I'd keep that app but you will need to live with some of these oddities.

BTT relies a lot on the standard macOS focus behavior, especially for things like the list where the active window keeps focus. I can not really change this without breaking other stuff. Maybe you can disable autoraise for BTT windows? (I guess in this case autoraise, tries to raise the wrong window, thus the list closes)

Hahah idd found it by pressing the ⌥ before showing the list and releasing ⌥ after list selection. Seems to work solid. Thanks as always for your support :+1:

By the way: as long time raycast user I'm happy to see that you're implementing the BTTlauncher. With BetterTouchTool functionality behind it must exceed Raycast for sure.