Gjs (Gnome JavaScript bindings) を使用して gtk+ アプリを作成しています。利用可能なドキュメントがないため、gnome-shell JavaScript のソースを読んでいます。私のアプリでは、にアクセスする必要がありますglobal.userdatadir
。
Shell オブジェクトをスクリプトに追加しようとしています:
const Shell = imports.gi.Shell;
で実行します#gjs myscript.js
が、これを行うと、次のようなエラーがスローされます:
JS ERROR: !!! Exception was: Error: Requiring Shell, version none: Typelib file for namespace 'Shell' (any version) not found
JS ERROR: !!! lineNumber = '0'
JS ERROR: !!! fileName = '"gjs_throw"'
JS ERROR: !!! stack = '"("Requiring Shell, version none: Typelib file for namespace 'Shell' (any version) not found")@gjs_throw:0
@manager.js:5
"'
JS ERROR: !!! message = '"Requiring Shell, version none: Typelib file for namespace 'Shell' (any version) not found"'
Error: Requiring Shell, version none: Typelib file for namespace 'Shell' (any version) not found
何が問題なのか理解できません。Gnome シェルのソース ファイルとまったく同じです。他のオブジェクトはimports.gi.Gio
、を使用しても問題ありません。正常imports.gi.GLib
に動作します。
Ubuntu 11.10 x64 での作業