問題タブ [gnome-shell]

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 に答える
210 参照

javascript - 何も含まないJavaScriptオブジェクトを文字列に変換する

gnome-shell の拡張機能を作成しています。JavaScript 拡張機能は、SQL クエリを生成し、標準出力で出力をキャプチャします。SQL クエリが 0 のタプル/レコードと評価される場合、拡張機能がクラッシュします。

以下はコードスニペットです。

私はJavaScriptの初心者です。outこのシナリオでのオブジェクトの処理方法がわかりません。オブジェクトが null ではありません。未定義でもありません。

編集

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

javascript - GSettings で dconf-entry を変更できない

現在、 Gjsで単純なアプリケーションを構築しています。これにより、gnome-shell の背景画像が変更されるはずです。gsettings-toolを使用してこれを行う方法に関する解決策は、ここにあります。

その周りにデスクトップアプリケーションを構築したいので、Gio の -class を使用して -key を変更したいと考えてorg.gnome.desktop.background.picture-uriます。ただし、-メソッドを使用してもキーの値は変更されません。GSettingsset_X()

これは gsettings 値を変更する私のコードです:

値の読み取りは期待どおりに機能し、is_writable()-method が返さtrueれ、set_string()-method も返されますtrue

「delay-apply」モードではなく、キーにGVariantTypeof 文字列があることを確認したので、set_string()-method が機能するはずです。

通常のgsettingsコマンドライン ツール (リンクされた投稿で説明されている) を使用すると、問題なく動作します。

何が問題なのかわかりません。ログなどを探すことができる場所はありますか?

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

linux - Gnome シェルの権限昇格

私は Gnome シェル拡張機能を構築していますが、エスカレートされた特権でいくつかのことを実行できるようにしたいと考えています。それで、「ポリシーキット」を使用する必要があると考えていますが、これを行う方法がわかりません。

だから、私が何かしたかったとしましょifconfig eth0 downifconfig eth0 up

ターミナルから実行できますpkexec ifconfig eth0 down。パスワードの入力を求められて実行されます。

しかし、拡張機能内からどのように行うのですか?

/usr/share/polkit-1/actions にファイルを作成することと関係があると確信していますが、インターネットなどで何も見つかりません。

パスワードを入力する必要がなく、拡張機能がいつでも特定のコマンドを実行できるように設定できるようにしたいと考えています。

コマンドの実行を許可するのは本当に悪い考えであることを私は知っています。それは私が求めているものではありません。単一のプログラム/コマンドを実行できるようにしたいのです。

編集:よくわかりませんが、パスワードを入力する必要がないということは不可能かもしれないと思います。sudo は初回からしばらくパスワードを要求しないことを知っているので、同様の機能が必要です。何が可能かわからない。

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

javascript - Gnome-ShellJSインターフェースを使用した連絡先のリストの取得

gnome-shell拡張機能を書き始めたばかりで、ユーザーの連絡先のリストを取得する方法を知りたいです。

私はいくつかの可能性のあるファイルを追跡しました:gnome-shell/js/ui/contactDisplay.jsそしてgnome-shell/src/shell_contact_system.c

今、私shell_contact_system.cは次の関数に気づきます:

これは、javascriptインターフェースで関数を使用できることを示唆しています(ファイルにもがあり、の使用法を示してget_allいるという事実によって私の信念が強化されています)。.cshell_contact_system_get_individualcontactDisplay.jsShell.ContactSystem.get_default().get_individual

できます!(私はGnome-shellの「lookingglass」javascriptインタープリターで試してみています)。

これは「Gobject」のように見えるので、連絡先の名前を取得するためにこのオブジェクトをどう処理するかわかりません。(Cコードから)このオブジェクトがであることに気付いGeeMap *たので、Gee.Mapのドキュメントを見ると、次のことができることがわかります。

次に、これらの方法に注目して、contacts.valuesを見てみます。contacts.keyto_array()

ただし、これを行うと、空の配列が返されます。contacts.xxx.to_array().sizeは0ですcontacts.sizeが、31ですか?!!

contacts.map_iterator()aを使用してマップを反復処理しようとしたときにも同じことが起こります。it.get_value()そしてit.get_key()nullのように見えます。

だから、私の質問は:どうすればの個々の要素にアクセスできますcontactsか?

のコメントは、との間に言うことshell_contact_system_get_allに注意してください。後者の機能は機能します(検索したい個人のIDがわかっている場合、これが私の問題です)が、前者は機能しません。これはそれと関係があるのでしょうか?Returns: (transfer none): ...shell_contact_system_get_individualReturns: (transfer full): ...

また、回避策として、現在、contactSearchProviderクラスを使用してこれを実現できます(gnome-contacts連絡先の名前を入力すると、概要に表示されるように、概要で使用されます)。''私は基本的に、すべての連絡先のリストを返す必要があるものを検索します。get_all()ラウンドアバウトのようですが、空の文字列を検索しなくても、このメソッドを使用してすべての連絡先を取得できるはずです...

助けていただければ幸いです(ちなみに、これに関するドキュメントはありますか?ソースをじっと見つめ、そこからすべてのドキュメントを推測しようとすると、非常に不十分だと感じます!)

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

python - Python: PIL を使用して変換された、変換されたビットマップ イメージ ファイルを開くことができません

PIL を使用して JPG ファイルを BMP に変換するにはどうすればよいですか? Image.open('ifile.jpg').save('ofile.bmp', 'BMP') を使用しようとしましたが、ファイルを開こうとすると「偽のヘッダー データ」が表示されます。

Convert RGBA PNG to RGB with PILで説明されているコピー/貼り付け方法を試しましたが、うまくいきません。

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

javascript - Gnome シェル拡張。ウィンドウの操作

プログラムでウィンドウを切り替えるにはどうすればよいですか? Alt+Tab と同じですが、ラベルなどはありません。

ドキュメントに目を通してみましたが、私には複雑すぎます (そうしないと言うことができますが、最初は何も知りませんでしたが、良いドキュメントの助けを借りてアクション スクリプトを学びました)。また、多くのライブラリと GObject-Introspection と呼ばれるものがあるため、正確にどこを見ればよいか完全に理解していません。そして、そこで何かを見つけようとすると、自分が何を探しているのかよくわからないので、迷子になります。それは一種の円です))。

他の拡張機能のソース コードも調べてみましたが、ドキュメントよりもさらに複雑です。私はかなりばかげているように聞こえますが、追いつくことができます。

では、ドキュメントなどで必要な方法を見つけることができる、ウィンドウの切り替えに対処する方法を知っている人はいますか?

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

c - GnomeShellの通知を読む

イベントXが発生するたびに(トレントが正常にダウンロードされたなど)、gnome-shell通知を読んで電子メールを送信する必要があります。Cコードで読み取ったり設定したりできるファイルやコールバックはありますか?

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

c++ - Gnome3でのSFML1.6フルスクリーンクラッシュ

SFMLのフルスクリーンモードを使用してテストしようとしていますが、ウィンドウがフルスクリーンモードに入るたびにクラッシュします。これが私のプログラムです:

次のコマンドを使用して、makefileを使用してコンパイルします。

g++ -o build/Test -lsfml-system -lsfml-window -lsfml-graphics src/main.cpp

ターミナルからプログラムを実行するとクラッシュします。

build/Test 1440 900

build/Test

私はAppleMacbookAir(4、2)でubuntulinux12.04を実行しています。gdmとlightdmの両方を使用してみましたが、どちらも同じ結果になりました。さらに、gnome 3ではなく、gnome 2、unity、およびopenboxで正常に動作します。

設定ファイルをいじくり回してもかまいませんが、現在私のお気に入りのDEであるため、gnomeshellを使い続けたいと思います。

0 投票する
0 に答える
297 参照

python - Python でのインライン応答による GNOME シェル通知

私が GNOME Shell で最も便利だと思う機能の 1 つは、通知から直接 IM に応答できる機能です。ただし、このような通知を作成する方法に関するドキュメントは見つかりませんでした。Pythonで実行できますか?

これは私が言及しているものです

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

dbus - Gjs / Gnome Shell で DBus メソッドを呼び出す

バス名、オブジェクト パス、およびインターフェイスがある場合、Gjs から (gnome-shell 拡張で) DBus メソッドを呼び出すにはどうすればよいですか?

次のpythonコードに相当するものを探しています:

(私は python-dbus マジックのためにインターフェースを明示的に使用しなかったことに注意してiface = dbus.interface(obj, "org.gnome.SessionManager.EndSessionDialog")ください。 gnome-shell にコールバックするため、Gjs ではばかげています)