Question

Basically I want the entire OS X desktop (or ideally everything but the menubar) to slide up and reveal my own view at the bottom part much in the same way as the Notification Center in Mountain Lion works (just from the bottom instead of from the right side).

I've been looking around a bit, but I'm a bit at a loss as to where to start. NSScreen gives me the frame of the main screen, but no way to get any kind of NSWindow for the entire desktop (or anything similar to that). So the desktop itself, the dock, and any windows open would slide up when my view becomes visible.

Help? :)

Was it helpful?

Solution

The best idea I can come up with would be to create an NSWindow that is the size of the desktop (Minus the toolbar), plus your content which can be calculated using NSScreen, as you stated earlier. Next you could play around with the window and turn off shadows, set the windows style to NSBorderlessWindowMask and set the window level properly. You would also have to set the windows background to the users desktop wallpaper. An unnoficial way to do this would be to read from the /Users/<current-user>/Library/Preferences/com.apple.desktop.plist plist. After that you could use [[mywindow animator] setFrame:NSMakeFrame(...)] to "slide" the window in an out, replicating the look of Notification Center. Even if this works, you should consider if this is absolutely necessary. Replicating features (and not doing it exactly) can end up being confusing to a user and generally breaks parts of the Apple Human Interface Guidlines.

OTHER TIPS

You should definetely take a look at:

http://www.cocoacontrols.com/platforms/ios/controls/cnbackstagecontroller

instead of showing a normal window and menu bar an application build with CNBackstageController offer you a behind the Finder-like desktop and will be shown with smooth animations. The common use is an application nested as a statusbar item that is not visible in the Dock.

If the desktop stays useable (not only a screenshot) or if it is app store ready, I am not sure.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top