Tôi đang viết ứng dụng gtk + sử dụng Gjs (liên kết JavaScript Gnome) Vì không có tài liệu nào có sẵn, tôi đang đọc nguồn JavaScript của gnome-shell. Trong ứng dụng của tôi, tôi cần truy cập vào global.userdatadir
.Sử dụng đối tượng Shell trong Gjs
Tôi cố gắng để thêm đối tượng Shell để kịch bản của tôi:
const Shell = imports.gi.Shell;
và chạy nó với #gjs myscript.js
nhưng khi tôi làm điều này nó ném cho tôi một lỗi nói:
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
tôi không thể hiểu những gì sai với nó, nó chính xác như trong các tệp nguồn Gnome-shell. Các đối tượng khác là tốt sử dụng imports.gi.Gio
, imports.gi.GLib
, hoạt động OK.
Làm việc trên Ubuntu 11.10 x64
Nói chung, các câu trả lời chỉ mã không được ưu tiên. – Ryan