Apple Toolbar Dropdown Selection
Hi, could you tell me how to choose items from the top apple toolbar menu? I use Moom for window management and would love to be able to assign SF macros to run that instead of key commands. can't seem to figure out how to select from that upper menu on mac. Thanks!

Linked from:
- Raphael Sepulveda @raphaelsepulveda2025-03-06 20:48:14.813Z
Hey @Ryan_Franks, see if the method described in this thread works for you: Acces items in the Menu Bar
- RRyan Franks @Ryan_Franks
Hi @raphaelsepulveda i just realized i sent my reply to you, to Chris Shaw. Sorry about that. would you mind looking at my response and letting me know either if it makes sense to use the script from the thread you sent over or if there are commands in SF to run apple scripts which would allow me to call the screenshots that way. I'd rather not have anything tied to key commands because i already use to many of them that it limits the number of window sets that i can access easily.
- In reply toRyan_Franks⬆:Chris Shaw @Chris_Shaw2025-03-06 20:48:42.428Z
I don't use Moom so I can't make a script for you but you could create a macro or script that presses the key commands for each configuration
- RRyan Franks @Ryan_Franks
thanks @Chris_Shaw this seems promising. could you help me understand the code that was posted at the bottom of the link you sent?
var app = sf.ui.app('INSERT_APP_ID_HERE'); // com.something.else
var appMenu = app.getElement("AXExtrasMenuBar");
appMenu.popupMenuSelect({
isOption: true,
menuPath: ['Menu 1', 'Sub Menu 1', 'Sub Menu 1 Option 1...']
});i am not sure what the app id would be, nor what com.something.else refers to.
and one other question. as you can see in my image above, i have SoundFlow open in the same menu area as Moom, so that might be a good example to use. if i wanted to use SF to "click" on that SF icon and select "Edit Macros and Shortcuts" from the dropdown menu (for example), would this method work for that? I tried doing that with the picker but it seems that the picker does not recognize menu bar items. Unlike SF, Moom does not appear to allow the user to select the window layouts from within the app, only the menu bar.
Or... i just found this, which may be the more logical way to do it: AppleScriptMoom includes limited AppleScript support, so that you can activate saved layouts from other programs, or even write your own scripts. At present, Moom supports the following commands:
- Return a list of saved snapshots:
tell application "Moom"
list of snapshots
end tell- Activate a saved window layout:
tell application "Moom"
arrange windows according to snapshot named "Snapshot Name"
end tellThere's only one changeable value here: replace Snapshot Name with the name of the saved snapshot you'd like to activate.
Raphael Sepulveda @raphaelsepulveda2025-03-07 20:07:19.930Z
@Ryan_Franks, ah Applescript support is great and it's a much more seamless approach! Let's try this:
const moomSnapshotName = "Reaper Video Right Midi Right"; sf.system.execAppleScript({ script: ` tell application "Moom" arrange windows according to snapshot named "${moomSnapshotName}" end tell ` });
This is using the AppleScript you provided to run a snapshot, in this case I chose the first one in the screenshot of your original post. I have no way to test this but fingers crossed it does the trick for you.
- RRyan Franks @Ryan_Franks
Thanks for that @raphaelsepulveda ! i gave it a try but nothing happened. no error messages or anything, but no change either. Do i need to do anything with apple script beforehand or should it all be automatic?
- In reply toRyan_Franks⬆:
Raphael Sepulveda @raphaelsepulveda2025-03-07 21:00:35.283Z
@Ryan_Franks, technically it should just work.
Actually, looking at their documentation, they're using different commands for Applescript than the one you first sent.
Assuming your version of Moom is up to date, give this one a try:const moomLayoutName = "Reaper Video Right Midi Right"; sf.system.execAppleScript({ script: ` tell application "Moom" run "${moomLayoutName}" end tell ` });
- RRyan Franks @Ryan_Franks
hmm, still not seeing any change. Do you think it would be easier with a different program like Magnet? i am not beholden to Moom necessarily.
- RRyan Franks @Ryan_Franks
@raphaelsepulveda ah, interesting. i also just noticed that when i run that latest script it's actually disabling or disconnecting SF itself. none of the buttons work until i refresh and reconnect to my desktop.
Raphael Sepulveda @raphaelsepulveda2025-03-07 23:04:21.482Z
So weird! I'll go ahead and install Moom so I can test this on my end. Don't want to get you out of your existing workflow. Stand by!
- RRyan Franks @Ryan_Franks
ah, that's really cool, thank you!
Raphael Sepulveda @raphaelsepulveda2025-03-08 05:08:06.617Z
See here for my findings 👇🏼
- In reply toRyan_Franks⬆:Raphael Sepulveda @raphaelsepulveda2025-03-08 05:05:32.892Z
Hey @Ryan_Franks,
I downloaded Moom (from here) and was able to automate it using two different methods:
1) Popup Menu from Menu Bar (the original question of this thread)
The following script will trigger the "Left & Right" layout, which is one of the layouts that come stock once you install the software.
const moom = sf.ui.app("com.manytricks.Moom"); moom.getElement("AXExtrasMenuBar").popupMenuSelect({ menuPath: ["Examples", "Left & Right"] });
Below is a screenshot of the menu the script is navigating through:
Looking at the screenshot you provided in your original post, the following script should trigger the "Reaper Video Right Midi Right" layout:
const moom = sf.ui.app("com.manytricks.Moom"); moom.getElement("AXExtrasMenuBar").popupMenuSelect({ menuPath: ["Reaper Video Right Midi Right"] });
2) AppleScript
According to Moom's documentation, they're a few AppleScript commands at our disposal.I used this first one to get a list of the different layouts available:
const moomLayouts = sf.system.execAppleScript({ script: ` tell application "Moom" list of layouts end tell` }).result; log(moomLayouts);
Which, on a clean install, returns the following:
[ "Sidebar", "Left & Right", "Top & Bottom" ]
Once, I knew what my options were, I used the following script to trigger one of those layouts:
sf.system.execAppleScript({ script: ` tell application "Moom" run "Left & Right" end tell` });
I know in a previous post you mentioned this wasn't working. The Moom menu items in your screenshot look different from the version I just installed so I'm sure you just need to update to the current version to get these going.
Hope that helps!
⚠️ The first time you run an AppleScript on Moom you will get a macOS dialog requesting permission for SoundFlow to automate it. It's important you allow it for this to work. If you missed it, go to "System Settings > Privacy & Security > Automation > SoundFlow" and make sure Moom is toggled on.
All scripts tested on a Macbook Air M3, running Sequoia 15.3.1 and Moom 4.1.3
- RIn reply toRyan_Franks⬆:Ryan Franks @Ryan_Franks
ah, that is awesome, @raphaelsepulveda ! Thank you for looking at that and sorry that my dumb oversight resulted in extra work for you. the last script you sent me yesterday works great with the updated version. I just missed it when they changed the version of moom i had to "moom classic" and then continued developing the new version of Moom. you can't upgrade the version i had via the Apple Store. So benefit to me is it seems like they've improved the software in the last 6 months or so since that change took place. This works great though and thank you for your thoroughness. i just tried it with several view sets and it works great!
- RIn reply toRyan_Franks⬆:Ryan Franks @Ryan_Franks
hi @raphaelsepulveda this is working really well! and just fixed a workflow issue for me. Reaper has it's own set of window layouts, which nests certain windows within it's dock. for different layouts i use both different dock configurations and different moom configurations which has always almost worked great, but remembering which goes with which when making changes has been an issue. I just combined a reaper script that triggers the dock layout with the moom script that fires the matching screen configuration. works perfectly.
- RIn reply toRyan_Franks⬆:Ryan Franks @Ryan_Franks
one last question, which i know is overly specific: Reaper is a very flexible platform and one aspect of it that i just started utilizing is the ability to have completely distinct instals or iterations of the program on your computer. meaning you can have different layouts, plugins, scripts, menus, key commands, etc. i'm using 1 for composition, 1 for sound design and editing and 1 for developing a new piece of software. My question is: would it be possible for SF to distinguish between those? For example, for composition i just run "reaper" the application. for sound design, i have a separate copy called ReaSFX, which i can run from SF by using Open File. in 90% of the cases, my SF interface would be the same, but there are differences when it comes to visibility. I have different layouts and track configurations and it'd be awesome if instead of having multiple linked decks like say "visibility Reaper", "visibility ReaSFX" etc., I could tell SF to run a duplicate, but slightly altered deck when running ReaSFX. The only trick is that i don't think SF will see ReaSFX as a separate app. i'm currently opening ReaSFX by using "open a file" to trigger a folder that i just keep on my desktop:
No big deal if not, just wanted to ask before I got too much further into setting up my visibility controls. Thanks again!
Raphael Sepulveda @raphaelsepulveda2025-03-08 18:55:28.195Z
Ah, I understand. This is similar to what we do with Pro Tools, in which we can have different versions installed.
Even though SoundFlow can open different versions of the app, once it's launched it sees it as the same app.
Hopefully someone else can show us otherwise, but in my experience I don't think this is currently possible.- RRyan Franks @Ryan_Franks
okay cool, thanks. good to know. i also didn't know pro tools allowed multiple installs. that's cool. i use that as well and SF is a life saver there. but it's not my main DAW. much appreciated @raphaelsepulveda