web-dev-qa-db-ja.com

GnomeShell拡張機能の作成を開始する方法

Gnome ShellExtensionsに関するドキュメントを見つけるのは非常に難しいことがわかりました。 Gnome Wiki(およびそれは第1レベルのリンク)でいくつかのビットを見つけましたが、それほど多くはありません:

http://live.gnome.org/GnomeShell/Extensions

ここでの問題はGJSとそのバインディングです。ドキュメントはまったくなく、SIGSEGVがたくさんあり、バインディングの準備ができていません(GLib、Gioなど)。唯一機能しているのは、GIRから生成されたSeed JavaScript実装:

http://roojs.org/seed/gir-1.2-gtk-2.0/seed/

より多くの例をどこで入手できますか?ディレクトリ、ファイルの読み取り、プロセスの生成、ネットワークソケットのオープンなどを行いたいです。

更新:GJSでファイルを1行ずつ読み取る方法を教えてください。Googleによると、これは不可能です。ありがとう。

30
lzap

GNOME Shellは [〜#〜] gjs [〜#〜] を使用しますが、 シード ではありません。両者の間にはいくつかの違いがあり、それが問題を抱えている理由を説明している可能性があります。

GOBject Introspectionを使用すると、元のライブラリのドキュメントを読んで、すべてのメソッド/関数のシグネチャを使用している言語に適合させることができます。

特定のケースでは、ファイルやネットワークなどについて、 [〜#〜] gio [〜#〜] を確認することをお勧めします。 プラットフォームの概要 をチェックして、他に何が利用できるかをチェックできます。 JavaScript でいくつかの例(拡張機能ではありません)を確認することもできます。

ついに大事なことを言い忘れましたが、間もなく拡張機能を備えたWebサイトが立ち上げられます。

15
gpoo

おそらく、Gnome3を使用すると、同じGIRファイルから生成されたさまざまなプログラミング言語間でかなり統一されたAPIが得られます。したがって、(少なくとも理論的には)GObjectIntrospectionからすべてのAPIを取得できるはずです(ドキュメントで願っています)。逆に、このAPIのサンプルコードを別の言語からJavaScriptに簡単に変換できるはずです。

理論的には。私は可能な限りJavaScriptを避け、JavaScriptでデスクトップアプリケーションを開発するのが最後です。

1
Anony-Mousse