views:

420

answers:

2
+4  A: 

Make a borderless window, the size of the menu-bar screen (screen 0—not [NSScreen mainScreen]), positioned at 0,0, with window level kCGDesktopWindowLevel.

Remember that you will need to observe for screen frame-change notifications (when the user changes the screen dimensions), and that you should correctly handle the case of no screen at all (headless Mac).

Peter Hosey
Tried this and it does work to a certain extent. Issue is that other windows (e.g. Finder windows and other app windows) go below my full screen window. I need them to be positioned ABOVE my full screen window. Any ways to make this work?Thanks
macatomy
Like I said, set the window level to `kCGDesktopWindowLevel`.
Peter Hosey
A: 

I think @Peter Hosey’s solution should work, but to make other windows go on top, you will probably need to change the window level to something else.

But, I implore you, do not do this. This will be the most bugly application the Macintosh has ever seen. There are a lot of really good user interface paradigms that you can use, and "replicating" the main desktop interface of Mac OS X is generally not one of them. That is, unless you are reimplementing Time Machine or something like that.

Jonathan Sterling
This is not to be used as a normal OS X app. I'm using it as basically a desktop replacement for a minimal version of OS X I'm using as an emergency disk (has no Finder or Dock, so I need to make my own interface). I have tried setting the window level to NSDockWindowLevel but it seems to have no effect.
macatomy
Figured it out :) Set the window level to -1 and now it displays below all other windows :D.
macatomy