GObjectとJavaScript
GNOMEではJavaScriptエンジンとしてSeedとgjsがあって、mutterではgjsを使っていますが、GNOMEではSeedが正式に採用されました。
GUIプログラミング入門ネタ(STLUGの人しか知らないけど)として使えそうなので、ちょっと調べてみました。
#!/usr/bin/env seed Gtk = imports.gi.Gtk; Gtk.init(Seed.argv); var window = new Gtk.Window(); var button = new Gtk.Button({label:"Hello"}); button.signal.clicked.connect(Gtk.main_quit); window.add(button); window.show_all(); Gtk.main();
これだけで、いつものプログラムが完成します。Helloというボタンがあってクリックすると終了するやつです。
単純にimports.gi.Gtkした後、初期化、windowの作成、buttonの作成、シグナルの接続(main_quit)、windowにbuttonの追加、表示の後、mainループに入ります。
問題は、ドキュメントが少ないこと。今のところ、/usr/share/gir-1.0/以下のgirファイルを眺めながらプログラミングしてます。これらのドキュメントが充実してくれば嬉しいですね。