2009-10-19 101 views
2

在Windows屏幕保护程序仅仅是一个带有。可控硅延伸在system32倾倒可执行文件,并且它与三个开关(/ P,/ C和/ s时,我想)控制。屏幕保护程序如何在Mac OS X和Linux上运行?

屏幕保护程序如何在Mac OS X和Linux上运行?它们在Mac OS X和Linux(Gnome,KDE,Ubuntu,或其他地方)中的工作方式类似吗?还是完全不同?

另外,它们可以用C#/ Mono开发吗?

回答

3

OSX中的屏幕保护程序系统是一个屏幕保护程序(通常但不一定)是一个Objective-C库,它扩展了基类以实现诸如绘图,偏好窗格,预览模式等方法。

有一个很好的教程写他们here

虽然Objective-C的是预期的语言,它是足够直接耦合在一起的Objective-C API后面的C/C++实现。

有一个API(桥梁)允许其他语言与Objective-C API互操作。例如使用here来允许用Python编写OSX屏幕保护程序。我想像一个类似的方法是可行的单声道。

xscreensaver现发展主要在OSX,并使用OSX屏保API有和X11别的东西。

1

对于X11,我敢肯定,你可以针对xscreensaver和有它在GNOME工作。不确定KDE。但是,xscreensaver一直是Linux上的主流软件包。

IIRC,xscreensaver的编程模型是您将其编写为任何绘制X窗口的旧应用程序。然后它可以用“-root”调用,它应该在根窗口上绘制。但这可能不是全部。

xscreensaver FAQ似乎表明,GNOME和KDE每个人都有自己的屏幕保护程序框架。但the Wikipedia article for gnome-screensaver表示这是xscreensaver的包装。

+0

我的一位教授说,X11屏保只是全屏的程序,可以听任何键盘/鼠标信号使其退出。尽管如此,他还是那些老派的失去知名度的学者之一,所以我不知道那是多么真实。 – supercheetah 2009-10-19 11:57:10

+0

@supercheetah:实际上,它比这更简单。尝试手动运行'/ usr/lib/xscreensaver'中的任何屏保。屏幕保护带('xscreensaver','kscreensaver','gnome-screensaver')负责抓住键盘和鼠标并杀死屏幕保护程序。你不必重新发明那个轮子。 – ssokolow 2013-04-07 12:55:08

相关问题