问题标签 [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 - 登录或 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 重新启动后的镜子控制台中,它显示了应用程序概述中的所有应用程序。所以它按预期工作。只有扩展的行为不同,我必须先访问概述并重新启用扩展。
gnome-shell-extensions - 在修改后的 GNOME 扩展代码中出现错误
最近我开始使用 GNOME 扩展开发。通过gnome-shell-extension-tool --create-extension
在终端中执行,我创建了 hello world 扩展,但是当我更改代码以构建类似扩展的弹出窗口时,我收到此错误
我正在使用的 JS 代码是
谁能告诉我为什么我会收到这个错误。我正在使用带有 GNOME Shell 3.10.2.1 的 Fedora 20
gnome-shell-extensions - 在 gnome shell 扩展中解析 XML 文件
看起来没有办法在实际的 gnome shell 工具扩展中解析 XML 文件。
这意味着您无法解析 svg。
任何解决方法?
python - 如何在 Gnome 终端中为 Python 错误的输出着色?
注意:我在研究如何实际做到这一点后问这个问题。其他有点相似但实际上与我的问题不同的问题涉及:
- python脚本中的颜色编码
- 在脚本中导入颜色库
- 使用诸如
Solarized
改进诸如Vim
对 python 代码进行颜色编码之类的工具之类的工具。
我在找什么: 我已经有一个简单的 python 脚本(比如 test.py),我正在从 Gnome 终端执行它。
test.py
将在终端中输出一些错误。错误示例:
我希望错误关键字以粗体红色显示,例如特定颜色的行号,以便于追踪错误。
如您所见,Stackoverflow 已经很好地对错误进行了颜色编码。在我的 Gnome 终端上,输出是单色的。如何在终端上获得如此漂亮的彩色编码输出?
谢谢!
javascript - Gnome-Shell 扩展,观察 GSettings 的变化?
所以我正在写一个扩展,它有一些偏好。我使用便利.js(如here所述)将首选项存储在GSettings中。相关代码如下所示:
到目前为止效果很好,我也可以使用命令
gsettings 监视器 org.gnome.shell.extensions.workspace-alt-tab 排序模式
确保我真的按照我的意愿设置了值。
但是,当我尝试捕获对这些设置所做的更改以在我的代码中反映它们时,这就是我的问题。从我在其他扩展中看到的内容来看,我猜它应该看起来像这样:
但问题是我只看到从 init 调用的日志行:
Gjs 消息:JS 日志:[_sortModeChanged] 新的 sortMode:最近使用的
另外,我完全不知道如何调试这种东西(即使在 LookGlass 中......)。如果有人可以指出我的愚蠢错误,或者就如何调试这类事情提供一些指示,将不胜感激!
javascript - 如何判断窗口是否使用 GJS 最小化?
GJS/Gnome 的包装器似乎没有公开“最小化”属性。有一个 get_maximized(),但这似乎没有返回我需要的信息。
使用 Gnome Applets 的 JavaScript 绑定,有没有办法让 MetaWindow 最小化?
javascript - 当用户单击我的扩展程序上的按钮时如何插入文本?
我正在编写一个扩展程序,它在弹出窗口上显示两个项目(“Hello”和“Goodbye”)。
我想要做的是,当用户单击其中一项时,插入相应的文本。
例如:我在 gedit 上,我想插入“Hello”。所以我打开扩展程序,然后单击“Hello”,它出现在 gedit 上。
这是当前代码:
有人可以帮助我吗?
gnome - 如何处理 gnome shell 扩展中的键盘事件?
如何添加事件或其他方法来监听 gnome shell 扩展上的按键?例如,每次按键都显示一个对话框,显示按下的键?
我找不到任何例子。文档中提到了一个模块,但使用该keyboard
通用名称搜索很困难。
(阅读上面链接的文档中的引用。它被设置为代码,因为引用样式由于某种原因不保留本站点中的换行符)
我使用波纹管代码找到了一些扩展,其结果类似于我所要求的结果,但我再次未能找到特定类和方法的文档:
此外,那里的任何地方都没有命名类keyboard
......
--
编辑1:更多搜索......我想我可能不得不使用Clutter
api。但同样,没有太多的例子或文档。我去的最远的是这个
编辑2:更多搜索。在主 ui 树上查看 gnome shell 源代码,我认为答案是使用global
可用于扩展代码的几乎没有提到的对象。例如
global.connect('key-press-event', function(if, i, know, the, signature){} );
linux - 简单 Gnome 聊天:如何获取模式对话框?
我创建了一个非常简单的聊天(一对一聊天),只需发送 TCP 数据包即可。目前它的工作方式只是在终端中发送和接收消息。我想创建一个简单的 GUI,在 Gnome 中显示对话框(我认为它被称为模式),如下图所示:
换句话说,只是一个在后台运行的应用程序,如果你收到一条消息,它会弹出一个模式,然后你可以输入一个答案,然后按回车键发送它。
有谁知道如何做到这一点?网上有这方面的例子吗?
screen - 使用 gnome-extension 获取整个桌面/屏幕?
我正在研究 gnome-extensions (javascript),我想知道是否可以获取/捕获桌面/屏幕对象以对其进行修改。
例如获取一个窗口,我使用以下代码:
有没有类似抢桌面的东西?
比如system.get_desktop()
。