問題タブ [screensaver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
562 参照

python - Gnome-Pythonのスクリーンセーバー?

Pythonで小さなスクリーンセーバータイプのプログラムを作成しましたが、gnome-screensaverで正しく動作させたいと思います。ドキュメントはすべてC用に書かれており、Python用のライブラリはないようです。これを機能させる方法はありますか?

0 投票する
1 に答える
703 参照

objective-c - Cocoa/Obj-C でカスタム スクリーンセーバー プレビューを有効にする方法は?

Mac OS 10.6.5 で問題なく動作するかなり単純なスクリーンセーバーを作成しました。

構成画面にはかなりの数の異なるオプションが蓄積されており、configureSheet ウィンドウに独自のプレビューを実装しようとしています。これにより、ユーザー (現在は私だけ) が、各変更を OK してテストすることなく、変更の効果をすぐに確認できます。

configureSheetに を追加しNSView、Interface Builder のカスタム クラスを ScreenSaverView サブクラスに設定しました。drawRect:ビューを黒くクリアする条件を削除でき、カスタム プレビューが黒の背景で表示されなくなったため、それが起動していることがわかります。これがその関数です(インターネット上のいくつかの優れたチュートリアルに基づいています):

spiroForm クラスは、使用して ScreenSaverView フレームに自分自身を描画するだけNSBezierPathであり、前述のように、実際のスクリーンセーバーや組み込みのシステム設定プレビューでは問題になりません。カスタム プレビュー (configureView) フレームは、ええと、それ自体の init メソッドに渡されます (そのカスタム クラスは私の ScreenSaverView サブクラスであるため)。この-initWithFrameメソッドは、configureSheet オブジェクトを OS に返す前に configureSheet で呼び出されます。

多分私はそれをする必要はありませんか?絵を描くのに必要かどうか試してみただけです。

私は最終的にconfigureSheetにデリゲートを追加して、通知を介してプレビューの関数startAnimationと関数をトリガーしようとしましたが、何らかの理由でそれらが呼び出されていないようです。デリゲートは次のように宣言され、configureSheet オブジェクトを返す前に configureSheet メソッドでデリゲートを設定します。stopAnimationwindowWillBeginSheetwindowWillEndSheetNSObject <NSWindowDelegate>

私はこれに何日も取り組んできましたが、OS が ScreenSaverView オブジェクトを管理する方法について何も見つけることができませんでした (これは、自分のコピーを実行してエミュレートしようとしていると思います)。

これを管理する方法について何か提案はありますか、または Apple が私が見つけられなかった場所に文書化しているかどうかは? これは、スクリーンセーバーが機能するために実際に必要というわけではありませんが、楽しいと思います (OS プレビューを使用する方法も探しましたが、configureSheet がアクティブになっている間はブロックされます)。

0 投票する
2 に答える
2048 参照

linux - Linuxで30秒後にユーザーのアイドル時間が0にリセットされる

X11スクリーンセーバー拡張クライアントライブラリを使用して、最後のユーザー入力からの時間を検出しようとしています。XScreenSaverQueryInfoアイドル時間を取得するために定期的に電話をかけます。私が直面している問題は、この呼び出しで報告されているように、20〜30秒ごとにアイドル時間が0にリセットされることです。これは、その時間に実際のユーザー入力がなかった場合でも発生します。私はこれに完全に戸惑っています。私が持っている唯一のリードは、アンインストールすると問題がなくなるということgnome-screensaverです。私の質問は、gnome-screensaver何らかの理由でユーザー入力をシミュレートするのですか?私はそれがありそうもないように聞こえることを知っています、そしてもしそうなら、それは間違いなくのバグになるでしょうgnome-screensaver、しかし私は今他に何も考えられません。gnome-screensaverどのように機能し、それがどのように影響するかについての詳細情報をどこで見つけることができるか誰かが知っていますか?XScreenSaverQueryInfo実際にコードを確認せずに呼び出します。gnome-screensaver 自宅で情報を確認しましたが、問題に関連するものが見つかりませんでした。

更新:dbus-monitorから次の出力を取得しました。これをどのように解釈しますか:

いくつかのプロセスがgnome-screensaverにSimulateUserActivityを要求していると思います。または、gnome-screensaverはSimulateUserActivityシグナルをdbusに送信していますか?それが最初の場合、どのプロセスがgnome-screensaverにそれを要求しているのかをどのように見つけることができますか?

0 投票する
3 に答える
5031 参照

macos - すべてのピクセルをループして、OpenGLで個々のピクセルの色を取得/設定しますか?

私はProcessingで少しおかしなことを書きましたが、これをMacOSXスクリーンセーバーにしたいと思います。しかし、OpenGLに飛び込むのは、思ったほど簡単ではありませんでした。

基本的に、画面上のすべてのピクセルをループし、そのピクセルの色に基づいて別のピクセルの色を設定します。

処理コードは次のようになります。

それはあまりきれいではなく、また非常に効果的でもありません。ただし、OpenGLで同様のことを行う方法を知りたいと思います。どこから始めればいいのかわからない。

0 投票する
1 に答える
362 参照

.net - スクリーンセーバーでの子プロセスの生成

バックグラウンド プロセスの実行に依存する .NET / C# で記述されたスクリーンセーバーがあります。インストール時にバックグラウンド プロセスがユーザーのスタートアップ プログラムに追加されますが、スクリーンセーバーのインストール後にユーザーがマシンを再起動する必要がないようにすると便利です。プロセス自体は現在のユーザーの資格情報の下で実行する必要があるため、これに Windows サービスを使用することは問題外です。

これについて私が考えた最善の解決策は、スクリーン セーバーの開始時にバックグラウンド プロセスが実行されているかどうかを検出し、実行されていない場合は.NET の Process クラスを使用して開始することです。ただし、これを行うと、多少関連する 2 つの問題があることに気付きました。

1) Windows は、スクリーンセーバー プロセス、またはスクリーンセーバーによって作成された子プロセスがまだ実行されている間、スクリーンセーバーが実行されていると常に考えているようです。これの最終的な結果は、スクリーンセーバーが独自に起動してプロセスを生成しますが、バックグラウンド プロセスがまだ実行されているため、最初のスクリーンセーバーがまだアクティブであると Windows が判断するため、再び起動することはありません。

2) スクリーンセーバーがポップアップしたときにコンピューターをロックするようにコンピューターが設定されている場合、ユーザーはスクリーンセーバーを終了した後に空白の画面が残り、明示的に ctrl+alt+delete を押してログインする必要があります。これは、バックグラウンド プロセスが原因で発生します。は WinLogon のデスクトップで実行されており、Windows はスクリーンセーバーが終了するのを待っています。

これを回避する方法はありますか?私が考えることができる最善の方法は、スクリーンセーバー自体ではなく、バックグラウンド プロセスを強制的に explorer.exe の子として実行する方法を見つけることですが、それを実行するための最良の方法が何であるかはわかりません。可能であれば。Win32 API の CreateProcess メソッドを p/invoking しようとしましたが、さまざまなパラメーターを使用しても成功しませんでした。

0 投票する
2 に答える
2962 参照

c# - ユーザーに対してスクリーンセーバーを無効にする

別のユーザーに対してスクリーン セーバーを無効にしたい。それはどのように行うことができますか?

私は管理者権限を持っています。スクリーン セーバーによって中断できないアプリケーションがあります。

0 投票する
2 に答える
3588 参照

cocoa - Macでスクリーンセーバー/ディスプレイのスリープを無効にする方法

スクリーン セーバーを無効にしてディスプレイを cocoa でスリープさせる方法はありますか?

0 投票する
2 に答える
718 参照

winapi - ウィンドウがロックされているときのスクリーンセーバーの仕組み

ウィンドウがロックされているときにスクリーンセーバーがどのように機能するか誰か教えてください。使用されている win32 api メソッドは何ですか。

0 投票する
3 に答える
9534 参照

c++ - C++ で Windows 用のスクリーン セーバーを作成するにはどうすればよいですか?

Windows API を使用して Windows 用のスクリーン セーバーを作成したいと考えています。どうすれば書き始めることができますか?

0 投票する
1 に答える
238 参照

c# - C#でスクリーンセーバー(サブスクリプションに基づいて常に変更可能なデータを持つ)を作成するには?

C# でスクリーン セーバー (コンテンツを継続的に変更するウィンドウ) を作成する必要があります。

ウィンドウは Web 経由でリモート サーバーにサブスクライブする必要があります。これにより、サブスクリプションに基づいてウィンドウのコンテンツが更新されます。

このために Observer パターンを実装する必要がありますか、それとも他のメカニズムですか?

いくつかのストリーム価格設定サーバーにサブスクライブし、サブスクリプションに基づいて価格の更新を取得する FOREX 取引アプリケーションを実装したいと考えています。

Windows は、最初に価格設定サーバーに接続してサブスクライブする必要があります。サブスクリプションに基づいて、それに応じて価格を更新する必要があります。

ある価格をクリックすると、インターネット ブラウザが開き、そこに取引を行うための取引プラットフォームが表示されます。