2011-10-24 7 views
4

セッションがユーザー入力をどれくらい受け取っていないかを示すことができるGnome-Shell拡張機能を記述します。私はcalling XScreenSaverQueryInfoが私にその情報を与えてくれることを知っていますが、私のgjs拡張からそれを呼び出す方法が見つかりません。これを機能させるには何が必要ですか?Gnome-Shell拡張機能のCライブラリの使用

+0

Gjsを使用している場合は、イントロスペクションを通じて提供された豊富なGObjectライブラリにアクセスできます。いずれかがアイドル時間を報告できるかどうかを確認する必要があります。そうでない場合は、自分で作成する必要があります(私はValaをお勧めします)。 – robru

答えて

1

これを行う最も簡単な方法は、/org/gnome/Mutter/IdleMonitor/Coreパスのorg.gnome.Mutter.IdleMonitor.GetIdletimeメソッドを呼び出すD-Busをorg.gnome.Shellに呼び出すことです。これは、シェルがユーザー入力を見たことのない時間をミリ秒単位で表示します。

これをコマンドラインでテストするには、 trueを指定します。 gdbusコールを行う - セッション--dest org.gnome.Shell - オブジェクトパス/ org/gnome/Mutter/IdleMonitor/Core - メソッドorg.gnome.Mutter.IdleMonitor.GetIdletime; done

GJSのDバスサポートを使用して、拡張機能からメソッドを呼び出すことができます。 example hereがあります。

+0

6年後、まさに私が探していたもの!私はこれまでとは違った道を歩んできましたが、これは正しい解決策であり、はるかに優れています。チャンスがあれば試してみることもできます。 – user37078

関連する問題