Hay guys, Ive got an applescript objec app that runs in the menu bar.
It has no dock icon because I used the “Application is agent (UIElement)” key in the apps info.plist
When a user selects “preferences” from the menu bar, the prefs window opens but it always opens in the background.
Ive connected the menu bar item to the main window in interface builder using “makeKeyAndOrderFront:” but it still opens in the background. The “about” box also opens in the background.
Ive read online that [NSApp activateIgnoringOtherApps:YES]; will solve this, but im usure how to add this to my project because Im writing everything in applescript except the menulet itself.
Thanks Stefan, where abouts should I put that? I tried putting under awakeFromNib and onApplicaionFinnishLaunching but it didnt seem to have any effect.
I dont have any “open window” code at the moment just the link in Interface Builder. If that makes sense.
Probably you have to write a custom IBAction method to open the preference window.
The “open window” connection in Interface builder must be connected to the custom method.
In the method add the activateIgnoringOtherApps() line and another line to call the previous “open window” selector programmatically
I don’t understand.
If there is an IBAction method to respond to selecting the menu item “Preferences”, put the
activateIgnoringOtherApps line in there, obviously it’s Objective-C so use the ObjC code.
Sorry Ive not really gotten to grips with IBActions and such yet my fault.
But I managed to get it working without having to use any.
I added this code to my script
property prefsWindow : missing value
on openPrefsWindow_(sender)
tell prefsWindow to makeKeyAndOrderFront_(me)
tell application "Logic Pro AutoSave" to activate
end openPrefsWindow_
In interface builder I connected the menu item to openPrefs_
Then Connected the prefs window to property prefsWindow : missing value
And it is popping up fine now thanks for your help.