問題タブ [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 に答える
314 参照

gnome - Gjs 経由で libsoup で Basic Auth を使用する方法

トークンを使用して github の API にクエリを実行しようとしています。Github の API は、生成されたトークンが基本認証ヘッダーとして送信された場合に受け入れます。

呼び出しが認証なしで行われた場合、API は HTTP 401 を返しません。つまり、基本認証を使用して API を照会する場合は、ラウンド トリップを行うのではなく、プリエンプティブにヘッダーを入力する必要があります。

libsoup と Gjs を使用して API をクエリしようとしています。

SoupAuthManager には、必要なもの (soup_auth_manager_use_auth here ) と完全に一致するように見える関数があることに気付きましたが、それを呼び出す方法が見つかりません。

これは、manager の認証キャッシュを「プリロード」するために使用でき、401 応答が返されることが事前にわかっている場合に余分な HTTP ラウンド トリップを回避します。

これは私が現在使用しているものですが、SoupAuthManager はセッションのプライベート オブジェクトであるため機能しません。したがって、プログラムの実際の動作には影響しません

最初の往復で基本認証を強制するために使用できる他の方法はありますか? または、gjs から github の API を呼び出して基本認証を強制するために使用できる他のライブラリはありますか?

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

javascript - JavaScript で動的再スケジューリング GSource を作成する

GLib のメイン ループは、 g_timemout_source_newおよび関連する関数を使用して、定期的な間隔でコールバック関数のスケジューリングをサポートします。コールバックは、スケジュールされた間隔の後、返されるまで繰り返し呼び出されますfalse

このプロセスを動的な間隔で変更したいと思います。trueまたはの代わりにfalse、コールバックは、次の呼び出しまで経過する時間値を返すことができる必要があります。

C でこれを行うのは非常に簡単です。新しい GSource タイプを作成できます。これは、ディスパッチ関数のタイムアウト ソースとのみ異なり、次の有効期限を設定するときに戻り値を考慮に入れます。

残念ながら、私は GNOME シェルの拡張機能をプログラミングしているので、JavaScript に固執しています。上記の戦略を JavaScript に移植する際の主な重要なポイントg_source_new functionnew GLib.Source. まず、初期化する構造体型の長さが必要ですsizeof。これは、C の演算子によって計算されます。JavaScript でこの値を取得する方法がわかりません。さらに、ディスパッチ関数を保持するために必要な、このコンストラクターの 2 番目の引数である GSourceFuncs Structを作成しようとするとエラーになります。

JavaScript で新しい GSource を作成するにはどうすればよいですか?

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

javascript - バイナリ コンポーネントを GNOME シェル拡張に含める

GNOME シェルの拡張機能の開発には、ほとんどの場合、GObject Introspection による C API の使用が含まれます。これは、C で実現できるほとんどのことを JavaScript でも実行できることを意味します。しかし、C API の機能を (まだ) イントロスペクション バインディングで再現できない場合もあります。これらのギャップをネイティブ C コードで埋めることができれば便利です。

GNOME Shell 拡張機能に、C コードから作成されたバイナリ コンポーネントを含めることはできますか? もしそうなら、それらはどのように統合されていますか?

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

gnome - GNOME Shell 拡張機能はポインターを移動できますか? もしそうなら、どのように?

GNOME シェルの「フォーカス フォロー マウス」設定とは逆の拡張機能を作成したいと考えています。ポインタを現在フォーカスされているウィンドウの中央に移動させたいと考えています。

これは GNOME Shell 拡張機能で実行できますか? xfixes cursorをラップする GNOME コードがいくつかありますが、コア Javascript または既存の拡張機能のいずれにも、プログラムによるポインター更新への参照が見つかりません。(Google が下手なだけですか?)

有効な回答には、(1) それを実行するサンプル コード、または (2) 実行できないと言う正規のソースの引用が含まれます。

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

linux - クラッシュの原因となる chrome-gnome-shell?

問題が本当にわからないので、これが回答されているかどうかはわかりません。1 日に少なくとも 1 回 (場合によってはそれ以上)、Ubuntu がクラッシュしたという通知を受け取ります。情報は、それがに関連していると言っていますchrome-gnome-shell(私は再インストールしましたchrome-gnome-shell)。また、ローカルの Gnome 拡張機能をhttps://extensions.gnome.org/local/にリストすることもできません。browser consoleFirefox で を使用すると、そのページを表示すると次のようになります。

Ubuntu 14.04 Gnome (v3.8.4)、Linux カーネル 4.4.0-71、Firefox 52.0.2 32 ビットを実行しています。

何が間違っていて、それを修正する方法についてのアイデアはありますか?