問題タブ [gnome-shell-extensions]

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

javascript - Soup を使用して基本認証で Web サービスを使用する

gnome-shell 拡張機能の一部として、xmlrpc を使用して Web サービスを使用しようとしています。Web サービスは基本認証ヘッダーを想定しています。Soup を使用して、次のコードを取得しました (基本的には、優れた openweather 拡張機能の設計図です)。

接続を構築するためにスープを使用しています。認証シグナルは、キューコールバックが実行される前に実行されます。

それでも、コールバック内の最初の段階で、response_body は予期された承認ではなく、ステータス コード 401 を保持していました。指定された資格情報が正しくありません。これを修正した後、呼び出しは成功しました。ただし、この方法では常にプロバイダーへの 2 つの呼び出しが必要です。1 つ目は BasicAuth を使用する情報を取得するため、2 つ目は実際に呼び出しを行うためです。

最初の呼び出しで認証情報を直接提供する方法はありますか?

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

introspection - GObjectIntrospection を使用した GnomeKeyring への非同期呼び出し

電話(または電気)などのプリペイドカードの現在の残高を表示するgnome-shell拡張機能を作成しています。これには特定のサービスの資格情報が必要なため、パスワードを gsettings に保存するのではなく、gnome キーリングのエントリとして保存します。

現在、キーリングにログインとパスワードを要求する同期方法を使用しています

この同期。アプローチの弱点は、キーリングがすでに開いている必要があるか、パスワードダイアログが表示されることです。自動ログインで gnome-shell を起動すると、この同期呼び出しはシェルの実際の起動をまったくブロックするため、キーリングのパスワードを入力する可能性はありません。

Gnome Developer Wikiは非同期メソッドに名前を付けています

  • GnomeKeyring.unlock
  • GnomeKeyring.find_items

しかし、どちらもjavascript 環境では見つかりません。

非同期関数が欠落していないことを確認するには、fedora23 の下の GnomeKeyring-Gir ファイルをどこで見つけることができますか? 非同期のキーリングのオープンとパスワードの取得を実現するにはどうすればよいですか? まったく異なる可能性のあるアプローチを見ている人はいますか? 少しずつ助かる…

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

glib - gjs/gnome-shell-extension: URL からリモート jpg 画像を読み取り、アイコンとして設定

リモート画像 (jpg) を取得し、特定のウィジェットのアイコンとして設定できるようにすることで、gnome-shell-extension を改善しようとしています。

これは私がこれまでに得たものですが、データ型の不一致のために機能しません:

コールバックは次のとおりです。

私の質問は、jpg 画像である応答を解析して、ウィジェット アイコンを設定できるようにする方法です。どうもありがとうございました!

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

javascript - addActor は関数ではありません

gnome シェルの拡張機能を開発しています。私の拡張機能では、ステータス領域のインジケーターにスライダー バーが必要です。私はそれを設定するのにいくつか問題がありました。私はこの少し古い参照でコードを書いていました。主な問題は、ソース コードに 'PopupSliderMenuItem' がないことでした。それで調べてみたら、削除されていることがわかりました。このコミットにはより多くの情報があります。

だから私はコミットでこの(更新された)コードに従おうとしました:

このコードをプロジェクトにリファクタリングしたところ、次のようになりました。

最初のブロックは gnome-shell ソース コードにあります (ボリューム スライダーを設定します)。私のコード (2 番目のブロック) は、「addActor」行でこの例外をスローしています。

このエラーが発生する理由は誰にも分かりますか? 最も奇妙なことは、 PopupBaseMenuItem クラスのソース コードに、私が呼び出している関数があることです。

他に情報が必要な場合は、喜んで提供いたします。

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

gnome-shell - 左端のドラッグ ジェスチャを無効にしてアプリ ピッカーを表示するように Gnome 拡張機能をプログラミングする

これが間違ったグループに属している場合は、すべての人に謝罪します。

Fedora 23 をキオスク モードで使用したいのですが、Gnome シェル ( https://github.com/GNOME/gnome-shell ) に最近追加された左端スワイプ機能があり、簡単に無効にすることはできません。

https://github.com/GNOME/gnome-shell/commit/9c4ffc4bf353fe9c64368f3e194e38b0e8f61311

私が知る限り、私たちの選択肢は次のとおりです。

1) これを修正するための拡張機能を作成します — 私のお気に入り

元の作成者に話を聞いたところ、拡張機能を使用してジェスチャーを削除することを勧められました。

拡張機能を作成しようとしましたが、global.stage のジェスチャ リストを繰り返し処理して削除する方法がわかりません。

(これらのジェスチャは を使用して追加され、 を使用しglobal.stage.add_action(gesture)て削除できますglobal.stage.remove_action(gesture)。)

それ以来、著者は私たちの電子メールへの返信を停止しています:(

これに関するアドバイスは素晴らしいでしょう!

2) 現在使用しているバージョンをチェックアウトし、コードをコメントアウトし、再コンパイルしてマシンにインストールします

これはいいですね!そうすれば、他のバグも修正できます。READMEファイルを見る

https://github.com/GNOME/gnome-shell/blob/master/README

それは言います:

手順など、GNOME シェルの詳細については、

ソースから GNOME Shell をビルドする方法と、プロジェクトに参加する方法

https://wiki.gnome.org/Projects/GnomeShell を参照してください。

それで、私たちはそれをこのページにたどりました:

https://wiki.gnome.org/Newcomers/BuildGnome

これにより、JHBuild をチェックアウトするように指示されますが、JHBuild を使用するときに、マシン上で gnome シェル コードがチェックアウトされる場所を把握できないようです。

もっと簡単に作成/インストールする方法があれば、それは素晴らしいことです。おそらく、間違った推奨リンクをたどっただけです。

3) 以前のバージョンの gnome シェルにロールバックします

しかし、これにより、#2 で示したように、gnome シェルと make/install をチェックアウトするという問題に戻ります。

4) KDE に切り替える

Gnome の代わりに KDE を試すこともできますが、すでに Gnome で多くのテストを行っているため、大きな後退になる可能性があります。

5) Fedora 22 ボックスを構築して Gnome 3.16 に戻す — 私の一番嫌いなところ

これは多大な努力であり、何が変更され、何が壊れるかはわかりません。私たちのキオスク ソフトウェアは、Fedora 22 でさえ動作しないかもしれません。しかし、それはバックアップ計画です。

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

gnome-shell - Gnome Shell でキーストロークを取得する方法

私は最初のシェル拡張機能を作成しようとしていますが、すべてのブログ記事がそうであるように、最新のドキュメントがないことに苦労しています...

つまり、キーボードからすべてのキーストロークを取得しようとしています.オンラインのコードと古いメーリングリストのメッセージを見ると、最近まで正しい方法は次のようでした:

しかし、これはうまくいかないようです。少なくともGTK 3.20.6を実行している私のFedora 24では、関数set_stage_input_modeとプロパティの両方がなくなったようです。StageInputMode

ユーザーが実行したすべてのキーストロークを拡張機能に取得させる正しい現在の方法は何ですか?