Hierarchical floating menu template

Does anyone have a template like this that they could share here?

I don't have a specific idea in mind. A system that has proven itself for you. It would need to have a main menu with submenus. Something you can start with if you want to customize it for yourself without having to start from scratch. Thank you very much!

I could share this menu that I have been using myself (in some forms), it doesn't contain submenus but is still kind of hierarchical by displaying additional floating menus around the main menu:

If that kind of stuff is also interesting I'll prepare a sharable version

That would be great. I could really use that. Assuming I figure out how it works. Thank you!

Could you share your menu when you get a chance?

Sorry I didn't get to create a simple version of this yet.
Here is my menu, but this is quite specific and I use this a lot for experimentation which is why it requires the latest alpha 5.804 (and maybe also a relative current macOS - not sure whether this will work on older macOS)

This preset shows the menu when pressing ctrl+opt+cmt+x:
fancy_hierarchical_menu.bttpresetzip (806.3 KB)

I'll create a tutorial on how to create these kind of menus sometime this week, that will make it more approachable. The main idea is to have one main menu that is being shown via some trigger, then have some more menus that are positioned relative to that main menu. To position a menu relative to some other menu these positioning options can be used:

In my example the additional menus are shown when hovering specific items in the main menu via the "on hover" action category (others are hidden at the same time via the same "on hover" trigger)

Some fancy stuff in this menu:

  • A dynamic clipboard manager menu that is basically a quick access for BTT's main clipboard manager
  • A folder widget that allows you to drop items on it that are then moved to your real downloads folder.
  • A dynamic spaces menu that highlights the currently active space and allows to switch spaces or move windows to specific spaces
  • Volume and brightness widgets that change volume / brightness when scrolling up/down
  • A basic "now playing / music control" widget
  • A kind of custom "dock" that shows some apps I have added, the background of the app items changes depending on whether that app is running

I'm currently working on making these advanced things more accessible, and this menu is something I use to test :slight_smile:

Thanks for the preset @Andreas_Hegenberg it works with:
macOS: Sequoia (15.6.1)
BetterTouchTool: 5.804

Thanks, Andreas, your menu works.

I can confirm that everything works perfectly with Ventura.

The next BTT release will have something that should significantly ease floating menu setups: templates.

When adding a new floating menu you'll have the option to choose from a template, when doing that BTT shows a nice, modern list of common floating menu setups including screenshots and description. I'll make sure to include some hierarchical menu setups in the list (and you will be able to add your own templates)

4 Likes

and you will be able to add your own templates

Has this been implemented? I see “Add from template” but I didn’t find a way to save a Floating Menu as a template. This will be a time-saver for me (I have several Floating Menus that I swap in position, and for me one of the charms of Floating Menus vs all other menus is that the triggers stay where I put them).

Currently I save and disable a Floating Menu and use that as a template. Being able to specify my own templates for Floating Menus would make this more direct and less error-possible by giving me a single “source of truth” for spawning new instances of that template.

At the moment only manually, ui will follow soon. You can create a templates folder:
~/Library/Application Support/BetterTouchTool/templates

Then add a templates.json to it. The JSON structure must look like this:

{
    "version": 1,
    "templates": [
     {
        "id": "default-menu-integrated",
        "title": "Default Menu Template",
        "description": "This is a very basic menu template with three buttons",
        "image_url": "images/default_menu.png",
        "file_url": "presets/default_menu.bttpreset",
        "category": "Floating Menus",
        "tags": ["productivity", "menu"],
        "order": 0
      },
        {
        "id": "hot_corner_example",
        "title": "Hot Corner Menu Template",
        "description": "This expands a menu from the top left corner of your screen when moving the mouse there",
        "image_url": "images/hotcorner.gif",
        "file_url": "presets/toplefthotcorner.bttpreset",
        "category": "Floating Menus",
        "tags": ["productivity", "menu"],
        "order": 0
      }

      
    ]
  }

The actual preset you want to use as template needs to be put in ~/Library/Application Support/BetterTouchTool/templates/presets/ and be referenced in the JSON. You can replace the menu name in the JSON with @@@BTTMenuName@@@ for example "BTTMenuElementIdentifier" : "@@@BTTMenuName@@@"

1 Like

Thanks!

Unfortunately for me, while I understand what this does, there are likely nuances to the implementation that remain beyond my grasp. I’ll likely have to wait for the UI, but since there’s enough there to give it a try, I might. Presets remain something I haven’t wrapped my head around yet.

Yeah I should be able to add the UI soon, basically you just need to use this

and maybe rename the result to something.bttpreset

1 Like

@Kirby 6.087 adds the "Save As Template" feature:

2 Likes

:star: Stellar!

TY.

This works and is helpful. I’m sure you are planning additional functionality. Please consider the following two items if you haven’t.

  • I would find an accessible storage area for templates useful so that I can edit them (I checked on the Sidebar; didn’t find one). I discovered that I can update the template by “Saving as Template” an edited version with the same name, but then I have to input the description that is helpfully attached to the saved template if I want to maintain it.
  • I’d also like to see a wider (literally: more x-axis pixels) naming dialog, or some other way of showing long names. On my screen the default prefix “Floating Menu: “ takes up about half the width of the name field, so any longer name ends up out of sight. The field wraps at the right end of the rectangular frame, but remains only 1-line tall even after wrapping text.

As always, stay buoyant.

—Kirby.

In 6.124 I have added a template for a floating menu with some submenus:

Screen Recording 2026-02-01 at 23.47.41

1 Like