Before I try to reinvent the wheel, I hope someone will let me know if something like this already exists.
I’m trying to add a Preferences dialog to my Applescript applets. I now use a system that tests whether the Option key is down when the script launches, and, if so, pops up a menu of options, each one of which sets an option in a plist file for the rest of the script to read. But it would be nice to have a Preferences menu item on the top line menu.
Is there a way to do this that doesn’t involve learning C or Swift?
Assuming you’re talking about the main menu of a stay-open applet, you already have one, in your applet’s menu. You just need to connect it to something.
use AppleScript version "2.4" -- Yosemite (10.10) or later
use framework "Foundation"
use framework "AppKit"
use scripting additions
set theMenuItem to ((current application's NSApp's mainMenu()'s itemAtIndex:0)'s submenu())'s itemAtIndex:2
theMenuItem's setTarget:me
theMenuItem's setAction:"showPrefs:"
on showPrefs:sender
choose from list {1, 2, 3}
-- etc, etc
end showPrefs:
This is even better than anything I hoped for. Thank you. (I responded late because Gmail put the notifications into a Spam folder: i fixed that and won’t take long to respond in the future.)
I originally posted that I couldn’t make this work. Of course it does work, but I was trying to make it work while a dialog was being displayed. That doesn’t work.
Most of my AppleScript applications start by opening a Choose File dialog. I’m trying to figure out a way to access a Preferences menu from the same dialog that lets the user choose a file, but maybe that’s impossible.