【问题标题】:How to start writing Gnome Shell extensions如何开始编写 Gnome Shell 扩展
【发布时间】:2012-01-08 06:06:27
【问题描述】:

我发现很难找到有关 Gnome Shell 扩展的文档。我在 Gnome Wiki 上找到了一些内容(并且是一级链接),但并不多:

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

这里的问题是 GJS 和它的绑定。绝对没有文档,有很多 SIGSEGV,绑定还没有准备好(GLib、Gio 等)。唯一有效的是 GIR 为 Seed JavaScript 实现生成的非官方文档:

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

在哪里可以获得更多示例?我想要读取目录、文件、生成进程、打开网络套接字和做其他事情。

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

【问题讨论】:

  • @Anonymous 我还在使用 Gnome 2.x。一方面,所有新的(向后的)WM 确实不喜欢双显示器。
  • 当然,当您在平板电脑上运行它时,Gnome3 可能会更好用。
  • 这似乎是useful tutorial
  • 这就是我所做的:abidibo.net/blog/2016/03/02/…

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


【解决方案1】:

GNOME Shell 使用GJS,而不是Seed。两者之间存在一些差异,这可能会解释您遇到问题的原因。

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

在您的特定情况下,对于文件、网络等,您可能需要检查GIO。您可以查看Platform Overview 以查看还有什么可用的。您还可以在JavaScript 中查看一些示例(但不是扩展)。

最后但同样重要的是,很快就会推出一个带有扩展的网站。

【讨论】:

  • 谢谢,我知道了,但该网站对我来说是新信息。
  • 好的,标记为已回答。对我来说没有新信息,但也许对其他人来说。谢谢:-)
【解决方案2】:

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

理论上。我尽可能避免使用 JavaScript,用 JavaScript 开发桌面应用程序是我最不想做的事情。

【讨论】:

  • 应该可以:from gi.repository import GObject 等
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-04
  • 1970-01-01
  • 2012-09-01
  • 1970-01-01
  • 2021-12-24
  • 2017-06-01
  • 1970-01-01
相关资源
最近更新 更多