加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

gnome-shell-extensions – 编写GNOME Shell扩展的文档

发布时间:2020-12-15 16:22:50 所属栏目:安全 来源:网络整理
导读:我被要求定制GNOME 3桌面的布局。显然,这样做的方式是写一个“扩展”。 我设法做了一些我想做的事情,但我感到完全饿了信息。我在任何地方找不到任何有用的文档。我浪费了我整整一天的生活疯狂地搜索每一个可想象的搜索词,在绝望的尝试找到有用的信息。 GN
我被要求定制GNOME 3桌面的布局。显然,这样做的方式是写一个“扩展”。

我设法做了一些我想做的事情,但我感到完全饿了信息。我在任何地方找不到任何有用的文档。我浪费了我整整一天的生活疯狂地搜索每一个可想象的搜索词,在绝望的尝试找到有用的信息。

GNOME网站有数百个扩展可供下载。这些不是微不足道的3衬垫;它们是复杂的代码段。它拒绝相信任何人都可以写这些没有文档解释如何做到。

请,有人能告诉我实际文档在哪里?到目前为止,我已经设法做的最好是拆开现有的扩展试图跟踪魔术命令,执行我感兴趣的特定位。(不是一个容易的任务!)

命令名,对象路径,示例程序,任何东西都会有所帮助!

我最近挖了它自己。文档大多不可用或过时。以下是一些帮助我开始(和通过开发)的来源:

> Basic Stuff
> Basic stuff on development
> Step-by-step tutorial
> Unofficial documentation for the JavaScript bindings of many libraries
> The sources of the gnome-shell’s JavaScript bindings
> Explanation of the St (Shell Toolkit) Ui-Toolkit components.
> Some unofficial guidelines to get your extension on extensions.gnome.org

由于文档几乎不可用(或最新),您需要做大量的源代码阅读。我链接上面的gnome-shell源代码(JavaScript部分),这是一个很好的开始,当潜入到没有被官方文档覆盖的部分(这是你会发现的最完整的东西)。

什么也特别有用的是检查extensions.gnome.org扩展,做类似的事情,你想创建,并查看他们的来源(大多数是开源的GitHub或Bitbucket。你也可以安装它们,并找到源码?/ .local / share / gnome-shell / extensions /)。

当搜索要使用的东西或有关特定函数的更多文档时,您还可以参考不同语言的绑定手册(认为参数和返回值可能不匹配)。

最后但并非最不重要的,这里是一些调试建议:

LookingGlass不是特别有帮助。它只显示一行异常(描述),并且只有当它们在启动时(当您的扩展首次启动时)发生。

对于完整的StackTraces和运行时异常,请参考?/ .xsession-errors-file。它可能很长,。肿。我用这个handy script读它:

# Grabs the last session-errors from the current X11 session.
# This includes full Stack-Trace of gnome-shell-extension errors.
# See https://live.gnome.org/GnomeShell/Extensions/StepByStepTutorial#lookingGlass
tail -n100 ~/.cache/gdm/session.log | less

Note that since Gnome 3.6,if you are using gdm as display manager,the current session log is the file ~/.cache/gdm/session.log.

在一些较新的发行版使用systemd,你可以得到错误日志:

journalctl -f /usr/bin/gnome-session

为了调试扩展的prefs-part,可以通过从终端使用gnome-shell-extension-prefs-tool启动首选项,在控制台上查看任何异常输出(也可以调用gnome- shell-extension-prefs [uuid],直接显示您的扩展首选项)。

因为目前没有真正的调试断点的方法(有,但it’s tricky),你可以登录控制台进行快速检查,使用print() – 函数。您将看到如上所述的输出(在会话错误文件中或在启动gnome-shell-extension-prefs-tool时在终端上)。

虽然它可能有点难以进入它,扩展框架是相当强大。玩的开心!

我写了一个Blog-Post有一些更大的细节,这可以在这里找到:Making Gnome-Shell Extensions

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读