3

Windowsでは、スクリーンセーバーは、system32に.scr拡張子がダンプされた実行可能ファイルであり、3つのスイッチ(/ p、/ c、および/ s)で制御されます。

スクリーンセーバーはMacOSXとLinuxでどのように機能しますか?それらはMacOSXとLinux(Gnome、KDE、Ubuntu、または違いがあるところならどこでも)で同じように機能しますか、それとも完全に異なりますか?

また、C#/ Monoで開発できますか?

4

2 に答える 2

5

OSX のスクリーンセーバー システムは、スクリーンセーバー (通常は、しかし必ずしもそうとは限りません) は Objective-C ライブラリであり、基本クラスを拡張して、描画、設定ペイン、プレビュー モードなどのメソッドを実装します。

ここにそれらを書くための良いチュートリアルがあります。

Objective-C は期待される言語ですが、Objective-C API の背後で C/C++ 実装を結合するのは簡単です。

他の言語が Objective-C API と相互運用できるようにする API (ブリッジ) があります。これは、たとえばここでは、Python で記述された OSX スクリーン セーバーを許可するために使用されます。Mono でも同様のアプローチが可能だと思います。

xscreensaverは現在、主に OSX で開発されており、そこで OSX スクリーンセーバー API を使用し、X11 では何か他のものを使用しています。

于 2009-11-05T22:24:49.633 に答える
1

X11の場合、 xscreensaverをターゲットにしてGNOMEで動作させることができると確信しています。KDEについてはわかりません。しかし、xscreensaver は長い間 Linux の主要なパッケージでした。

xscreensaver のプログラミング モデルである IIRC では、X ウィンドウを描画する古いアプリのように記述します。次に、" " で呼び出すことができ-root、ルート ウィンドウに描画する必要があります。しかし、おそらくそれだけではありません。

xscreensaver FAQは、GNOME と KDE がそれぞれ独自のスクリーンセーバー フレームワークを持っていることを示唆しているようです。しかし、gnome-screensaver に関するウィキペディアの記事には、xscreensaver のラッパーであると書かれています。

于 2009-10-19T09:43:42.813 に答える