如何开始编写Gnome Shell扩展
How to start writing Gnome Shell extensions
我发现很难找到关于Gnome Shell扩展的文档。我在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中逐行读取文件。根据谷歌这是不可能的。谢谢。
GNOME Shell使用GJS,而不是Seed。两者之间存在一些差异,这可能解释了为什么你会遇到问题。
使用GOBject自省,您可以阅读原始库的文档,并根据您正在使用的语言调整每个方法/函数的签名。
在您的特殊情况下,对于文件、网络等,您可能需要检查GIO。您可以查看Platform Overview以查看其他可用的内容。您还可以在JavaScript中查看一些示例(但不是扩展)。
最后但并非最不重要的是,很快将推出一个带有扩展的网站。
好吧,假设使用Gnome3,您拥有跨各种编程语言的相当统一的API,这些API是从相同的GIR文件生成的。因此,您应该(至少在理论上)能够从GObject Introspection中检索所有API(我希望有文档)。反过来,您应该能够轻松地将示例代码从另一种语言转换为此API的JavaScript。
理论上。我尽量避免使用JavaScript,用JavaScript开发桌面应用程序是我最不愿意做的。
- Django可以'不能在设置中导入ckeditor,但可以在shell中导入
- 如何在 JavaScript 中运行 shell 命令
- 将标志从Node/Express应用程序Python shell传递到Python脚本
- 从shell脚本中杀死Node.js程序
- Shell样式的函数调用
- 从shell脚本向js脚本传递变量
- 在SAPUI5项目中使用sap.ui.ux3.Shell时,无法在iphone上滚动
- 更新int数组会在Mongo-shell中转换为双数组
- 如何使 Gnome Shell 扩展查询更改
- 使用 Gnome-Shell JS 界面获取联系人列表
- 在GNOME Shell扩展'这是猴子的补丁,这是出乎意料的
- Gnome shell扩展:如何使用管道运行命令
- 为什么这个JS片段会让gnome shell爆炸
- 如何开始编写Gnome Shell扩展
- 使用Gnome-Shell扩展中的C库
- 如何从gnome-shell扩展中启动GtkApplication
- 登录或重启Gnome shell后,Gnome shell扩展没有自动加载
- Gnome-shell扩展难题:设置变量不工作
- Gtk3/Gnome-Shell主题/扩展开发有哪些好的工具(如果有的话)
- Gnome 3 (Gnome Shell) JavaScript/CSS engine