tags:

views:

970

answers:

3

I want to create analog of program conky. What is the best way to draw information on a OS X desktop?

+1  A: 

You need to take a look at using NSWindowLevel with a transparent window.

Ben Alpert
+6  A: 

NSWindow has a method, setLevel:, that lets you control how the window is positioned compared to other windows. From my own experience, you might want to try feeding it kCGDesktopIconWindowLevel, and calling setHasShadow:NO to implement the look you want. To actually do the drawing you would put a custom NSView subclass in your window, and create the window without a frame (see NSBorderlessWindowMask) and transparent ([window setBackgroundColor:[NSColor clearColor]], [self setOpaque:NO];).

You might also want to take a look at this article to keep your window pinned to the desktop during an Expose event.

Marc Charbonneau
The DontExposeMe hack breaks compatibility with Spaces. I wouldn't recommend it. Fortunately, if your window is at the desktop-icon level, Exposé shouldn't touch it.
Peter Hosey
+2  A: 

Have you tried GeekTool? Maybe you don't even have to write the app. ☺

Peter Hosey

related questions