问题标签 [gnome-shell-extensions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 javascript 中解压 GVariant
我在 GSettings 中有一个存储为 GVariant 类型a(ss)
的数组,我想在 Cinnamon Applet 中使用它。我可以使用以下代码成功检索该值:
但我无法打开它。据我所知,我可能需要使用GVariantIter
结构对其进行解包,但文档有限,而且我在 gjs API 中找不到正确的接口(如果确实存在的话)。有谁知道该怎么做?
谢谢!
编辑: 我的架构如下所示:
目前我正在使用外部JSON
文件来存储设置,但这并不是 100% 令人满意的解决方案。我想我可以维护两个as
-type 变量,并保持它们对齐,但是必须有一种方法可以正确地做到这一点,对吧?
applet - 如何从 Cinnamon 小程序中的文件夹路径获取 gnome 图标名称
我创建了一个“地方”肉桂小程序(一个充满文件夹的下拉列表)。
我想获取特定文件夹路径的 gnome 图标名称。例如,我想从音乐文件夹“/home/USER/Music”中获取 gnome 图标名称,即“folder-music”。
我在 Gio 发现了一些有趣的东西:
但是“get_symbolic_icon().get_names()”会返回一个具有多个图标名称的字符串数组。
例如“/home/USER/Music”返回
- 文件夹音乐符号
- 文件夹音乐
- 文件夹
由于没有真正的文档,我想知道是否有人知道如何从文件夹路径中获取 gnome 图标名称?
debugging - 如何使用 GNOME 的窥镜?
我想进入 Gnome Shell 的扩展开发,但我似乎无法理解我如何在 Look Glass 中执行一些任务lg
来实际调试我的东西。
- 当我输入
global.log("hi");
LG 时,它把我扔回去了r(...) = undefined
。为什么? - 当我想调试无法加载的扩展时,我该怎么做?
很高兴看到为什么无法加载扩展。
我试过了,但无论我给它扩展名字符串还是扩展名对象,Main.ExtensionSystem.loadExtension()
它都会返回。undefined
- 我在哪里可以找到类、对象和成员方法的文档?
(LG 检查员似乎无法检查功能。)
如果我有这些资源,我至少可以开始为更新的 Gnome 版本更新一些扩展。如果他们能在某个地方得到很好的解释,我不会问这些简单的问题,但要获得所有信息似乎真的很难(我已经用谷歌搜索了几个小时)。
javascript - How to access OAuth 2.0, REST API in GNOME 3.0 shell extension?
How would I port the OAuth 2.0 implict grant flow from a browser environment if I wanted to access the REST API beneath it through a GNOME shell extension ? How would I redirect the user to the OAuth 2.0 decision endpoint through a login screen?
If it isn't possible with a OAuth 2.0 REST API in what other way can I integrate a web service with a shell extension?
gnome-shell-extensions - 如何在 GNOME Shell 3.6、3.8 或更新版本上进行调试
我开发了自己的 gnome-shell 扩展,它适用于 GNOME Shell 3.4 和 GNOME Shell 3.6。它不适用于 GNOME Shell 3.8,我不知道为什么,因为我不知道在哪里可以访问任何日志。
在 GNOME Shell 3.4 上,使用 Look Glass,在 3.6 和 3.8 版本中删除了一个“错误”选项卡,我看不到任何错误。在扩展选项卡上,单击“显示错误”会显示“没有错误”。
启动 gnome-shell --replace for terminal 也不会显示任何错误。但是我的扩展没有显示(代码相同,适用于 GNOME 3.4 和 3.6)。
我如何调试它以找出我的代码有什么问题?
谢谢!
gjs - Gnome-shell-extension 析构函数(在 Gnome Shell 退出时运行)?
当 Gnome Shell 关闭(例如计算机关闭)时,是否有任何技巧可以在扩展中运行我的“析构函数”代码?我需要保存一些状态变量以init()
在启动时再次加载它们。
我需要类似 functionenable()
或disable()
. 也许有一些信号被触发,我可以将我的代码连接到?
gnome-shell - 如何从 gnome shell 扩展调用命令行程序?
我编写了一个简单的 shell 脚本来完成一项常见任务,并且我希望能够在单击按钮时运行它。我已经使用 gnome-shell-extension-tool 创建了 Hello World 示例,但现在我需要知道如何简单地让它在单击时运行任意命令。没有需要关注的输入或输出;它只需要运行。
gnome-3 - 如何在 GNOME shell 扩展中获取 Empathy 联系人列表?
我正在尝试构建一个 GNOME shell 扩展。如何在 GNOME shell 扩展中获取 Empathy 联系人列表?
ubuntu - Gnome Shell - 不要让窗口浮动到第一个或跨工作区
目前我使用 gnome-shell 并将我现在不需要的所有窗口放在第二个工作区上。两个屏幕连接到计算机。
由于某种原因,窗口会在一段时间后从第二个工作区浮动到第一个工作区。我相信如果主桌面是空的(第一个屏幕,第一个工作区是空的),他们会回来。
- 有没有办法防止这种行为?
- 我可以强制 gnome-shell 将所有内容保留在原处吗?
- (可选:即使之间有一个完整的空工作区)
提前致谢。
javascript - 如何使 Gnome Shell 扩展查询更改
我一直在与可怕的 Gnome API 文档作斗争,并想出了这个扩展:
这应该读取hello
文件中的任何内容并将其显示在顶部面板中。但是,如果我更改hello
文件的内容,我必须重新启动 Gnome 才能显示新内容。现在,肯定有一种方法可以动态地执行此操作,但我在文档中找不到任何内容。面板中的消息基本上应该始终反映文件中的任何内容。任何想法如何做到这一点?