問題タブ [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.
javascript - 何も含まないJavaScriptオブジェクトを文字列に変換する
gnome-shell の拡張機能を作成しています。JavaScript 拡張機能は、SQL クエリを生成し、標準出力で出力をキャプチャします。SQL クエリが 0 のタプル/レコードと評価される場合、拡張機能がクラッシュします。
以下はコードスニペットです。
私はJavaScriptの初心者です。out
このシナリオでのオブジェクトの処理方法がわかりません。オブジェクトが null ではありません。未定義でもありません。
編集
javascript - GSettings で dconf-entry を変更できない
現在、 Gjsで単純なアプリケーションを構築しています。これにより、gnome-shell の背景画像が変更されるはずです。gsettings
-toolを使用してこれを行う方法に関する解決策は、ここにあります。
その周りにデスクトップアプリケーションを構築したいので、Gio の -class を使用して -key を変更したいと考えていorg.gnome.desktop.background.picture-uri
ます。ただし、-メソッドを使用してもキーの値は変更されません。GSettings
set_X()
これは gsettings 値を変更する私のコードです:
値の読み取りは期待どおりに機能し、is_writable()
-method が返さtrue
れ、set_string()
-method も返されますtrue
。
「delay-apply」モードではなく、キーにGVariantType
of 文字列があることを確認したので、set_string()
-method が機能するはずです。
通常のgsettings
コマンドライン ツール (リンクされた投稿で説明されている) を使用すると、問題なく動作します。
何が問題なのかわかりません。ログなどを探すことができる場所はありますか?
linux - Gnome シェルの権限昇格
私は Gnome シェル拡張機能を構築していますが、エスカレートされた特権でいくつかのことを実行できるようにしたいと考えています。それで、「ポリシーキット」を使用する必要があると考えていますが、これを行う方法がわかりません。
だから、私が何かしたかったとしましょifconfig eth0 down
うifconfig eth0 up
ターミナルから実行できますpkexec ifconfig eth0 down
。パスワードの入力を求められて実行されます。
しかし、拡張機能内からどのように行うのですか?
/usr/share/polkit-1/actions にファイルを作成することと関係があると確信していますが、インターネットなどで何も見つかりません。
パスワードを入力する必要がなく、拡張機能がいつでも特定のコマンドを実行できるように設定できるようにしたいと考えています。
コマンドの実行を許可するのは本当に悪い考えであることを私は知っています。それは私が求めているものではありません。単一のプログラム/コマンドを実行できるようにしたいのです。
編集:よくわかりませんが、パスワードを入力する必要がないということは不可能かもしれないと思います。sudo は初回からしばらくパスワードを要求しないことを知っているので、同様の機能が必要です。何が可能かわからない。
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
いるという事実によって私の信念が強化されています)。.c
shell_contact_system_get_individual
contactDisplay.js
Shell.ContactSystem.get_default().get_individual
できます!(私はGnome-shellの「lookingglass」javascriptインタープリターで試してみています)。
これは「Gobject」のように見えるので、連絡先の名前を取得するためにこのオブジェクトをどう処理するかわかりません。(Cコードから)このオブジェクトがであることに気付いGeeMap *
たので、Gee.Mapのドキュメントを見ると、次のことができることがわかります。
次に、これらの方法に注目して、contacts.values
を見てみます。contacts.key
to_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_individual
Returns: (transfer full): ...
また、回避策として、現在、contactSearchProvider
クラスを使用してこれを実現できます(gnome-contacts
連絡先の名前を入力すると、概要に表示されるように、概要で使用されます)。''
私は基本的に、すべての連絡先のリストを返す必要があるものを検索します。get_all()
ラウンドアバウトのようですが、空の文字列を検索しなくても、このメソッドを使用してすべての連絡先を取得できるはずです...
助けていただければ幸いです(ちなみに、これに関するドキュメントはありますか?ソースをじっと見つめ、そこからすべてのドキュメントを推測しようとすると、非常に不十分だと感じます!)
python - Python: PIL を使用して変換された、変換されたビットマップ イメージ ファイルを開くことができません
PIL を使用して JPG ファイルを BMP に変換するにはどうすればよいですか? Image.open('ifile.jpg').save('ofile.bmp', 'BMP') を使用しようとしましたが、ファイルを開こうとすると「偽のヘッダー データ」が表示されます。
Convert RGBA PNG to RGB with PILで説明されているコピー/貼り付け方法を試しましたが、うまくいきません。
javascript - Gnome シェル拡張。ウィンドウの操作
プログラムでウィンドウを切り替えるにはどうすればよいですか? Alt+Tab と同じですが、ラベルなどはありません。
ドキュメントに目を通してみましたが、私には複雑すぎます (そうしないと言うことができますが、最初は何も知りませんでしたが、良いドキュメントの助けを借りてアクション スクリプトを学びました)。また、多くのライブラリと GObject-Introspection と呼ばれるものがあるため、正確にどこを見ればよいか完全に理解していません。そして、そこで何かを見つけようとすると、自分が何を探しているのかよくわからないので、迷子になります。それは一種の円です))。
他の拡張機能のソース コードも調べてみましたが、ドキュメントよりもさらに複雑です。私はかなりばかげているように聞こえますが、追いつくことができます。
では、ドキュメントなどで必要な方法を見つけることができる、ウィンドウの切り替えに対処する方法を知っている人はいますか?
c - GnomeShellの通知を読む
イベントXが発生するたびに(トレントが正常にダウンロードされたなど)、gnome-shell通知を読んで電子メールを送信する必要があります。Cコードで読み取ったり設定したりできるファイルやコールバックはありますか?
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を使い続けたいと思います。
python - Python でのインライン応答による GNOME シェル通知
私が GNOME Shell で最も便利だと思う機能の 1 つは、通知から直接 IM に応答できる機能です。ただし、このような通知を作成する方法に関するドキュメントは見つかりませんでした。Pythonで実行できますか?
dbus - Gjs / Gnome Shell で DBus メソッドを呼び出す
バス名、オブジェクト パス、およびインターフェイスがある場合、Gjs から (gnome-shell 拡張で) DBus メソッドを呼び出すにはどうすればよいですか?
次のpythonコードに相当するものを探しています:
(私は python-dbus マジックのためにインターフェースを明示的に使用しなかったことに注意してiface = dbus.interface(obj, "org.gnome.SessionManager.EndSessionDialog")
ください。 gnome-shell にコールバックするため、Gjs ではばかげています)