【问题标题】:Docs for developing gnome shell extensions用于开发 gnome shell 扩展的文档
【发布时间】:2018-04-26 22:50:10
【问题描述】:

我需要知道监视器对象的inFullscreen 何时设置为true,我想确保在窗口最大化时它没有设置为true。我找不到任何imports.ui.main 或任何imports.ui.* 的文档。这很简单(但仍然很烦人)我可以按住 alt 并按 F2 并输入 lg 然后输入以在 repl 中尝试。但是如果我需要一些关于queueDeferredWork 的信息怎么办?

或者如果我想知道是否有像switch-workspace 这样的信号,但是当开关完成时(当switch-workspace 被触发时,它似乎开关动画刚刚开始并且至少inFullscreen 不返回true 时我切换到全屏工作区,它只是看起来如此,我无法确定,因为我找不到它的文档。)

gnome-shell api(imports.gi.* 除外)是否没有记录?还是我错过了什么?

【问题讨论】:

    标签: gis gnome-shell gnome-shell-extensions


    【解决方案1】:

    这里提出了非常相似的问题:How do I get the monitor of an active window in GNOME?

    抱歉,我之前没有看到您的问题;您应该使用标签 [gnome-shell-extensions] 和 [gjs] 来获取更多编程相关问题的帮助。

    2021 年 9 月更新

    很久以前,GJS 拥有自己的教程、文档等门户。

    • https://gjs.guide

      下面的所有内容都链接到这个门户,所以这是一个很好的书签。

      这些指南涵盖了所有基础知识、大部分高级用法、GLib 和 GTK 等核心库的介绍,包括一些专门的教程,如生成子进程。还有一个专门的扩展部分,涵盖创建、翻译、首选项和移植指南,以使您的扩展在最新版本上运行。

      请 - 请务必索取您认为缺少的任何文件。它可能并不总是可行或快速,但我们会尽力而为。

    • https://gjs-docs.gnome.org

      这是 GJS 为 GNOME 平台提供的官方 API 文档,包括所有核心库以及您期望的所有其他库,如 GStreamer 和 WebKit。如果缺少库,您可以通过opening an issue 索取。

      对于 GNOME Shell 扩展,这些将是特别重要的(有关更多详细信息,请参阅Architecture 页面):

      • Clutter: 合成器端工具包,Mutter 的一部分
      • Meta: 窗口管理器和/或合成器(又名 Mutter)
      • St:基于 Clutter 添加更复杂的小部件和 CSS
      • Shell:GNOME Shell 的内部库,提供多个类和函数
      • Gvc:PulseAudio 的高级绑定。严格来说不是 GNOME Shell 的一部分,但被它使用并值得注意。

    这个文档仍然是正确的,但它可能最适合那些熟悉 GNOME 平台、只需要一些 GJS 提示的人。

    由于 JavaScript(现在)发展得相当快,因此强烈建议您熟悉 GNOME Shell's JavaScript source。除了对编写扩展程序至关重要之外,这是跟上 JavaScript 和 GJS 新特性(包括使用它们的模式)的最佳方式。

    求助!

    【讨论】:

    • 谢谢,我会检查您提供的链接是否涵盖所有 api,或者是否仍有未记录的内容,然后会接受此答案。目前我没有开发 gnome 扩展。
    • @andy.holmes 链接devdocs.baznga.org 现在已断开。知道现在在哪里可以找到它吗?
    • 它是从gjs.guide的右上角链接的,但我也更新了上面的帖子。
    猜你喜欢
    • 2020-04-04
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2021-12-24
    • 2017-06-01
    • 1970-01-01
    相关资源
    最近更新 更多