我想在Mac OS X(Snow Leopard)上绘制桌面。具体来说,我想实现与运行以下命令相同的效果:
/System/Library/Frameworks/ScreenSaver.framework/Resources/
ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background
(如果您离开了计算机,这将显示屏幕保护程序,您通常会在其中看到桌面背景。)
我知道如何创建一个没有边框的窗口(通过子类化NSWindow并覆盖initWithContentRect:styleMask:backing:defer:以将窗口样式设置为NSBorderlessWindowMask),并且没有阴影(setHasShadow:NO)。
我知道可以调用setLevel:kCGDesktopWindowLevel或kCGDesktopIconWindowLevel将我的窗口置于其他窗口下方(请参见问题418791)。但是这不完全是我想要的,因为此级别上的窗口仍然位于桌面图标之上。我希望在桌面背景上方,但低于图标。
我的视图不透明。如果有一种技术可以破坏桌面背景,那就可以用它。