2009-01-07 133 views

回答

12

NSWindow有一个方法,setLevel:,它可以控制窗口与其他窗口相比的位置。根据我自己的经验,你可能想尝试喂它kCGDesktopIconWindowLevel,并调用setHasShadow:NO来实现你想要的外观。要实际执行绘图,您需要在窗口中放置一个自定义NSView子类,并创建没有框架(请参阅NSBorderlessWindowMask)和透明([window setBackgroundColor:[NSColor clearColor]], [self setOpaque:NO];)的窗口。

您可能还想采取look at this article在Expose事件期间将窗口固定在桌面上。

+1

DontExposeMe hack破坏与Spaces的兼容性。我不会推荐它。幸运的是,如果您的窗口处于桌面图标级别,Exposé不应该触摸它。 – 2009-01-07 04:12:40

1

你需要看看使用NSWindowLevel透明窗口。

3

你试过GeekTool?也许你甚至不必编写应用程序。 ☺