问题标签 [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 投票
3 回答
3524 浏览

javascript - Gnome shell 扩展:如何使用管道运行命令

所以我正在制作一个 Gnome Shell 扩展。我希望能够用管道运行一些命令。(命令实际上是"xrandr --query | awk 'something'",但那是题外话)

所以,到目前为止我所做的是

但它不起作用!我找不到任何在带有管道的 gnome 扩展中运行命令的示例。

我必须"|"像以前那样写命令吗?

0 投票
1 回答
101 浏览

javascript - 修改 _init() 如何影响 parent()?

我正在尝试更新 Gnome-shell 扩展。在其中,我覆盖了一个对象的 _init 方法,我正在这样做:

新方法失败:

JS 错误:TypeError:无法调用方法“父”

我在这里发现非常令人惊讶的是该parent方法确实存在(如果我更改名称,我会收到“未定义”错误)。

我不明白的是,原来的 AppSwitcherPopup._init 仍在使用这个对父级的调用(https://git.gnome.org/browse/gnome-shell/tree/js/ui/altTab.js?h=gnome -3-16#n54)。

这在 Gnome 3.12 下运行良好,但在 Gnome 3.16 中被破坏了......我猜他们在 GObject 或继承模型中改变了一些东西?

0 投票
1 回答
1275 浏览

gnome-shell - 如何从扩展程序登录?

我正在编写新的扩展代码并希望登录到一个文件以进行调试。

我尝试使用 print() 函数写入 ~/.cache/gdm/session.log,如下所述:http: //codeisland.org/2013/making-gnome-shell-extensions/

这不起作用。print() 会写在别处吗?另外,我看到其他扩展使用 log()。我在哪里可以查看它的输出?

是否有任何记录在任何地方?

0 投票
1 回答
1552 浏览

focus - GNOME Shell 中非活动/未聚焦窗口的透明度/亮度

是否可以在 GNOME Shell 中使非活动窗口(即没有焦点的窗口)不那么不透明、更透明、不那么明亮或以某种方式被遮蔽?我希望对当前处于活动状态/聚焦的窗口有更强的视觉反馈。

0 投票
1 回答
471 浏览

gnome-shell-extensions - 我的 GNOME Shell 扩展如何检测 GNOME 版本?

我想用我的 shell 扩展支持多个 GNOME 版本。如何检测它运行的 GNOME 版本并适当地分支代码?

0 投票
1 回答
335 浏览

javascript - 在 GNOME Shell 扩展的猴子补丁之后,this.parent 是意外的

对于raise-activated GNOME Shell 3.16 扩展,我正在尝试对该AppSwitcherPopup._finish方法进行猴子补丁。与原始版本一样,修补版本调用this.parent

完整代码

但是我在控制台中得到了这个堆栈跟踪(来自运行gnome-shell --replace):

在这种情况下,SwitcherPopup._keyReleaseEvent正在调用this,并且this 应该是子类的一个实例AppSwitcherPopup。我相信this.parent在打补丁后应该是一样的——为什么它现在试图打电话给调用者?就此而言,为什么不成功?

我查找了生成的GJS 代码this.parent,但我无法完全发现缺少的内容。

0 投票
0 回答
98 浏览

clutter - gnome shell 扩展动画演员大小

我正在尝试为 gnome-shell 中的现有演员设置动画。我尝试了几种方法,每次都可以更改演员位置,但无法更改演员大小。

这是我尝试过的方法之一,演员正在改变它的位置但不改变大小。

我也试过直接使用 set_width 和 set_hight 没有成功,也没有错误。

0 投票
0 回答
60 浏览

javascript - 在 Gnome Applet 中使用 JavaScript 加密字符串

有没有一种简单的方法可以在用 JavaScript 编写的 gnome 小程序中加密例如带有 AES 的字符串?我在 gnome api 参考 [1] 中找不到解决方案。我看到 libsecret 有一个用于测试目的的 AES 实现 [2],但我不知道我是否可以使用它 - 如果可以,如何使用。

我实际上能想象的唯一方法是使用opensslover GLib.spawn_command_line_

[1] https://developer.gnome.org/references
[2] https://github.com/GNOME/libsecret/blob/master/libsecret/mock/aes.py

0 投票
1 回答
376 浏览

gnome - 如何使用 GJS 创建杂乱事件

我将从与像素坐标对应的网络接收 {x,y} 数据。

我想创建混乱事件或至少通知系统(混乱阶段)有鼠标移动到接收到的 {x,y} 数据。

我查看了非官方的 GJS 文档:http ://www.roojs.com/seed/gir-1.2-gtk-3.0/seed/Clutter.Event.html

0 投票
0 回答
736 浏览

javascript - 如何在gsettings中存储字符串数组

我在我的 JS 代码中使用 GSettings 来存储一些数据。现在我需要存储一个字符串数组,如下所示:

我知道如何在 GSettings 模式中存储字符串数组,但是在将这个数组数组转换为变体 obj 时遇到了一些问题,我试试这个:

在 gschema 中我创建了这个键:

我得到的错误是这个

有错误:错误:字符串数组中的元素无效

那么,如何在 GSettings 中存储字符串矩阵?谢谢