如何开始编写Gnome Shell扩展

时间:2011-11-28 20:05:10

标签: javascript gnome seed gnome-3 gnome-shell

我发现很难找到有关Gnome Shell Extensions的文档。我在Gnome Wiki(以及它的第一级链接)上找到了一些内容,但它并不多:

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

这里的问题是GJS及其绑定。绝对没有文档,有很多SIGSEGV,绑定还没准备好(GLib,Gio等)。唯一可行的是从GIR为种子JavaScript实现生成的非官方文档:

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

在哪里可以获得更多示例?我想要读取目录,文件,生成进程,打开网络套接字以及执行其他操作。

更新:告诉我如何在GJS中逐行阅读文件。根据Google,这是不可能的。感谢。

2 个答案:

答案 0 :(得分:15)

GNOME Shell使用GJS,而不是Seed。它们之间存在一些差异,这可能解释了为什么你遇到问题。

使用GOBject Introspection,您可以阅读原始库的文档,并将每个方法/函数的签名调整为您正在使用的语言。

在您的特定情况下,对于文件,网络等,您可能需要检查GIO。您可以查看Platform Overview以查看其他可用内容。您也可以在JavaScript中查看一些示例(不是扩展名)。

最后但并非最不重要的是,很快就会推出一个带扩展名的网站。

答案 1 :(得分:1)

嗯,据说,使用Gnome3,您可以在各种编程语言中使用相同的GIR文件生成相当统一的API。所以你应该(至少在理论上)能够从GObject Introspection中检索所有的API - 我希望有文档。 反过来说,您应该能够轻松地将示例代码从另一种语言转换为此API的JavaScript。

理论上。我尽可能地避免使用JavaScript,用JavaScript开发桌面应用程序是我要做的最后一次。