The most reliable way to get the behavior you want is to split your app into two parts: A GUI app that manages the windows and has a dock icon and menu bar, and the daemon that takes care of the status item and background behavior, and launches the GUI as needed. You can use a framework to share code between the two. A menu bar without a dock icon isn't a good idea, as users will be unable to bring your application back to front once the windows have been covered by other windows. Not all users know how to use Exposé, and they usually don't want to close all windows to get at yours. And in addition, your GUI app can be double-clicked by your users to bring up the window if they want, which may be a nice additional feature. PS - Would you mind if I forwarded your message to the mac-gui-dev mailing list? I think there'd be some interest in that discussion there, and you're welcome to join. -- Cheers, M. Uli Kusterer