I am currently working on an Mac OS X 10.7 and higher app that uses the “LSBackgroundOnly” property to start faceless.
If i add my app to the Mac OS X startup items/apps and checkmark the “do not show on start” i want to be able to show a Window of my app, but Window.Show does not show the window.
If i start the app manually and call the Window.Show event, it displays the Window.
When you check the “Hide” checkbox for login items OSX will hide your app after it launches as if a user went to the application menu, and pulled down to Hide. I believe in obj-c you can use [NSApp activateIgnoringOtherApps:YES] to jump to the front and unhide your app, however I’m too new to Xojo to know what it’s equivalent would be.
On a second note, wouldn’t unhiding your app when the user specifically asked for it to hide be anti-user friendly?
Not always. In my case, the app starts hidden and will do online checks of multiple items. The user must be able to open a Window to manage those items (add, remove, …) occasionally.
In that case I wouldn’t use the system Hide function. Have your app start with no windows to do the online checks, and then present a window if you need to manage them. That way, if the user determines they want the app hidden so they can take care of it later you aren’t intruding
There is a newer way to set your application to launch on login, it’s rather complicated as it requires your application to be Sandboxed and a helper application stored in your bundle.
My main target is to have an app without an app icon in the dock. And if i think twice about it, i should have asked “How to remove app from Dock in Mac OS X 10.7+?”
[quote=79733:@Scott Crick] Sam Rowlands There is a newer way to set your application to launch on login, it’s rather complicated as it requires your application to be Sandboxed and a helper application stored in your bundle.
Not to thread jack, but I would be very interested in more information about this.[/quote]