Piszę aplikację gtk + używając Gjs (powiązania Gnome JavaScript) Ponieważ nie ma dostępnych dokumentów, czytam źródła skryptów JavaScript gnome-shell. W mojej aplikacji muszę uzyskać dostęp do global.userdatadir
.Używanie obiektu Shell w Gjs
Próbuję dodać obiekt Shell do mojego skryptu:
const Shell = imports.gi.Shell;
i uruchomić go z #gjs myscript.js
ale kiedy to zrobić to wyrzuca mi błąd mówiąc:
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
I cant zrozumieć, co jest z nim nie tak, jest dokładnie takie, jak w plikach źródłowych Gnome-shell. Inne obiekty są w porządku przy użyciu imports.gi.Gio
, imports.gi.GLib
, działa OK.
Praca na Ubuntu 11.10 x64
Generalnie odpowiedzi tylko do kodu nie są preferowane. – Ryan