Circular App Switcher

This forum has become really powerful, which is why I have decided to deprecate share.folivora.ai and instead only use the forum for sharing presets. This is why I'm moving various popular presets from share.folivora.ai here.

Description of what you are sharing
A Radial App Switcher Floating Menu.
You can show it using either a three finger swipe down.

Preset:
RadialAppSwitcher.bttpreset (13.3 KB)

Hi! Newbie here…how do I reconfigure the Radial App Switcher so that it is triggered by a long left click on Magic Mouse rather than three finger swipe on a trackpad?

Unfortunately long-left-clicks are complex, especially in combination with floating menus that should immediately be interactive. I'll check soon whether I can come up with a good example.

Hi Andreas,

Many thanks for your reply.

Understood. How would I reconfigure the Radial App Switcher so that it is triggered by some other predefined Magic Mouse gesture that would not be complex in combination with floating menus?

Hi Andreas, just following up; could you please tell me how (what steps to perform) to reassign the circular app switch from the three finger swipe down to a Magic Mouse triple right-click or other Magic Mouse trigger that is not complex?

Hey @Andreas_Hegenberg any idea why not all for example open Finder windows (none minimized) are brought to front if Finder is selected in the menu? Any way to solve this?

you can use this script instead to bring all windows to front:

async function retrieveJSON() {
    let apps = await BTTActions.copyLaunchedApplicationsInFrontToBackOrder();
    let menuItems = [];
    let i=0;
     for (let app of apps) {
     if(i>9) {break;}
     i++;
    let item = {
  templateItemUUID: "BFBD1B46-0E72-49CF-B4DB-C2CB017E82B2",
    title: "",
      action: `js::(async () => {await trigger_action({json: JSON.stringify({  BTTPredefinedActionType: 177,  BTTAppToShowOrHide: "${app.BundlePath}",   BTTShowHideAppConfig: '{\"BTTShowHideSpecificAppMoveToSpace\":\"BTTShowHideSpecificAppHiddenToCurrentSpace\",\"BTTShowHideSpecificAppOnlyShow\":false,\"BTTShowHideSpecificAppOnlyHide\":false,\"BTTShowHideSpecificAffectedWindow\":\"BTTShowHideSpecificAppAffectAllWindows\",\"BTTShowHideSpecificMinimizeInstead\":false,\"BTTShowHideSpecificAppRegex\":\"\",\"BTTShowHideSpecificAppOnlyTreatActiveAsVisible\":true,\"BTTShowHideSpecificAppOnlyIfRunning\":false,\"BTTShowHideSpecificAppCMDN\":false,\"BTTShowHideSpecificAppMoveToCurrentSpace\":false,\"BTTShowHideSpecificAppMoveAllToCurrentSpace\":false}', }), wait_for_reply: false});})()`, 
      icon: `path::${app.AppIconPath}::width@@40`
    };
    menuItems.push(item);
  } 
  
 
  return JSON.stringify(menuItems);
}

nice! Thx.

Hi @Andreas_Hegenberg, not sure whether this is the "official" answer to my question, but it did work on my installation.

  1. Built the circular app switcher under the Custom Floating Menus / Widgets & BTT Mobile trigger list.
  2. Switched to the Magic Mouse trigger list and clicked the + button.
  3. Added the circular app switcher to the new trigger, assigned a gesture (three-finger swipe down) to it.

Could you please tell me how to change the size of the apps' icons so that they are the same size as the ones in the screen capture at the top of this thread? Thanks in advance!

This doesn't work for BetterTouchTool Configuration (anymore) and maybe some other apps.

macOS: Sequoia (15.6.1)
BetterTouchTool: 5.570

Edit: fixed in v. 6.099

macOS: Sequoia (15.7.3)
BetterTouchTool: 6.099

Just reinstalled the preset, for some reason I can't get the menu background to transparent. Tried restarting BTT:

Hello everyone,

Same here, I can’t find a way to make it transparent either.

Any clues ?

Thanks a ton !

i just tried to import the preset but it is showing transparent fine. Which version of macOS are you on? Could you post a screenshot of how the menu looks for you?

OS: Tahoe 26.3.1

There is this dark background

Ah thanks, it only affected dark mode and should be resolved in 6.264!

I struggle with how to set it up to achieve this behavior:

  1. some trigger shows floating menu (like swipe down 3 fingers)
  2. fingers can be released from the trackpad and menu stays visible
  3. i hover over one of the slices and this hover selects the item (i do not wish to click) and the menu disappears.

currently none of the native hiding option will work here
(
Close When Clicking Outside
Close When Moving Mouse Away
Close After Button Press
Close On Any Keyboard Input
)

maybe I’m missing something obvious?

thank you!

i guess I would need something like “one finger touch end” trigger with an IF radial menu was showing… or who knows what.

the easiest would be to use the "On Hover" action category for every item and trigger & close from there.
Do you want to use this circular app switcher or is the question in general about floating menus?

It was for the circular app switcher.
I couldn't figure out the on-hover for each item since this is populated from the script.

So I cooked together a separate javacript that monitors whether my mouse moves after the floating menu appears. And when it does move more more than 30 pixels, then it goes on to hide and trigger hovered item.

It currently works the way I want it! I like it very much. It's fast and no clicking involved. Much better for the hand. I'm attaching it here in case somebody else wants to give it a try

(in the radial app switcher I also select hover and highlight the whole pizza slice)

app_switcher_select_by_hovering_no_clicking_required.bttpreset (5.5 KB)

PS: For my future understanding and learning: I tried hard to do this with the Wait until condition so I wouldn't have to write the JavaScript, but I just couldn't figure out how to use the variables. Should something like this work and I just couldn't figure out the exact syntax and curly brackets or is this not a thing:
(I save mouse_position_x as {start_x} at the beginning)…
mouse_position_x != {start_x} OR mouse_position_y != {start_y}