问题标签 [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.

0 投票
1 回答
840 浏览

javascript - 登录或 gnome shell 重新启动后,Gnome shell 扩展不会自动加载

我正在尝试修复和增强 Franco Bianconi 创建的gs-ext-applications-overview-tooltip,以便它可以在 gnome-shell 3.10 和 3.12 下运行。我在 git-hub 上分叉了他的代码,并且能够修复一些问题并进行一些增强。令我惊讶的是,该扩展现在在 gnome shell 3.12 下工作,我提供的增强功能也按预期工作。我的代码位于github 上

我的问题是,扩展程序在启动后或重新启动 gnome-shell 后无法正常工作。我必须禁用扩展并重新启用它。然后应用程序概述中的工具提示将按预期显示。如果我重新启动 gnome-shell (Alt + F2 : r) 我必须这样做。

我无法在日志中找到任何相关的错误消息,也不知道是什么原因造成的。请有人给我一些提示吗?

编辑:

其实我才意识到是什么原因造成的。启用时,扩展轮胎会从概述中获取对 appicons 的引用。

当应用程序概述尚未“访问”时,这会导致空的 appIcons 对象 - 这是登录或重新启动 gnome-shell 后的情况。如果我之后转到概览菜单并重新启用扩展程序,它就可以工作,因为它可以从概览中获取对应用程序图标的引用。

问题是:我该如何解决这个问题?

编辑2:

如果我执行以下操作,我就会意识到这一点:

在 gnome-shel 重新启动后的镜子控制台中,它显示了应用程序概述中的所有应用程序。所以它按预期工作。只有扩展的行为不同,我必须先访问概述并重新启用扩展。

0 投票
1 回答
450 浏览

gnome-shell-extensions - 在修改后的 GNOME 扩展代码中出现错误

最近我开始使用 GNOME 扩展开发。通过gnome-shell-extension-tool --create-extension在终端中执行,我创建了 hello world 扩展,但是当我更改代码以构建类似扩展的弹出窗口时,我收到此错误在此处输入图像描述

我正在使用的 JS 代码是

谁能告诉我为什么我会收到这个错误。我正在使用带有 GNOME Shell 3.10.2.1 的 Fedora 20

0 投票
1 回答
312 浏览

gnome-shell-extensions - 在 gnome shell 扩展中解析 XML 文件

看起来没有办法在实际的 gnome shell 工具扩展中解析 XML 文件。

这意味着您无法解析 svg。

任何解决方法?

0 投票
4 回答
3849 浏览

python - 如何在 Gnome 终端中为 Python 错误的输出着色?

注意:我在研究如何实际做到这一点后问这个问题。其他有点相似但实际上与我的问题不同的问题涉及:

  1. python脚本的颜色编码
  2. 脚本中导入颜色库
  3. 使用诸如Solarized改进诸如Vim对 python 代码进行颜色编码之类的工具之类的工具。

我在找什么: 我已经有一个简单的 python 脚本(比如 test.py),我正在从 Gnome 终端执行它。

test.py将在终端中输出一些错误。错误示例:

我希望错误关键字以粗体红色显示,例如特定颜色的行号,以便于追踪错误。

如您所见,Stackoverflow 已经很好地对错误进行了颜色编码。在我的 Gnome 终端上,输出是单色的。如何在终端上获得如此漂亮的彩色编码输出?

谢谢!

0 投票
1 回答
696 浏览

javascript - Gnome-Shell 扩展,观察 GSettings 的变化?

所以我正在写一个扩展,它有一些偏好。我使用便利.js(如here所述)将首选项存储在GSettings中。相关代码如下所示:

到目前为止效果很好,我也可以使用命令

gsettings 监视器 org.gnome.shell.extensions.workspace-alt-tab 排序模式

确保我真的按照我的意愿设置了值。

但是,当我尝试捕获对这些设置所做的更改以在我的代码中反映它们时,这就是我的问题。从我在其他扩展中看到的内容来看,我猜它应该看起来像这样:

但问题是我只看到从 init 调用的日志行:

Gjs 消息:JS 日志:[_sortModeChanged] 新的 sortMode:最近使用的

另外,我完全不知道如何调试这种东西(即使在 LookGlass 中......)。如果有人可以指出我的愚蠢错误,或者就如何调试这类事情提供一些指示,将不胜感激!

0 投票
1 回答
259 浏览

javascript - 如何判断窗口是否使用 GJS 最小化?

GJS/Gnome 的包装器似乎没有公开“最小化”属性。有一个 get_maximized(),但这似乎没有返回我需要的信息。

使用 Gnome Applets 的 JavaScript 绑定,有没有办法让 MetaWindow 最小化?

https://developer.gnome.org/meta/stable/MetaWindow.html

0 投票
1 回答
110 浏览

javascript - 当用户单击我的扩展程序上的按钮时如何插入文本?

我正在编写一个扩展程序,它在弹出窗口上显示两个项目(“Hello”和“Goodbye”)。

我想要做的是,当用户单击其中一项时,插入相应的文本。

例如:我在 gedit 上,我想插入“Hello”。所以我打开扩展程序,然后单击“Hello”,它出现在 gedit 上。

这是当前代码:

有人可以帮助我吗?

0 投票
2 回答
2464 浏览

gnome - 如何处理 gnome shell 扩展中的键盘事件?

如何添加事件或其他方法来监听 gnome shell 扩展上的按键?例如,每次按键都显示一个对话框,显示按下的键?

我找不到任何例子。文档中提到了一个模块,但使用该keyboard通用名称搜索很困难。

(阅读上面链接的文档中的引用。它被设置为代码,因为引用样式由于某种原因不保留本站点中的换行符)

我使用波纹管代码找到了一些扩展,其结果类似于我所要求的结果,但我再次未能找到特定类和方法的文档:

此外,那里的任何地方都没有命名类keyboard......

--

编辑1:更多搜索......我想我可能不得不使用Clutterapi。但同样,没有太多的例子或文档。我去的最远的是这个

编辑2:更多搜索。在主 ui 树上查看 gnome shell 源代码,我认为答案是使用global可用于扩展代码的几乎没有提到的对象。例如

global.connect('key-press-event', function(if, i, know, the, signature){} );

0 投票
0 回答
255 浏览

linux - 简单 Gnome 聊天:如何获取模式对话框?

我创建了一个非常简单的聊天(一对一聊天),只需发送 TCP 数据包即可。目前它的工作方式只是在终端中发送和接收消息。我想创建一个简单的 GUI,在 Gnome 中显示对话框(我认为它被称为模式),如下图所示:

Gnome 模态对话框聊天

换句话说,只是一个在后台运行的应用程序,如果你收到一条消息,它会弹出一个模式,然后你可以输入一个答案,然后按回车键发送它。

有谁知道如何做到这一点?网上有这方面的例子吗?

0 投票
1 回答
155 浏览

screen - 使用 gnome-extension 获取整个桌面/屏幕?

我正在研究 gnome-extensions (javascript),我想知道是否可以获取/捕获桌面/屏幕对象以对其进行修改。

例如获取一个窗口,我使用以下代码:

有没有类似抢桌面的东西?

比如system.get_desktop()