91得票6回答
如何在原型上定义setter/getter

2016年10月更新:请注意,这个问题是在2012年提出的。每个月都会有人添加新的答案或评论来反驳一个回答,但这并没有太多意义,因为这个问题可能已经过时了(记住,它是为了使用Gnome Javascript编写gnome-shell扩展而不是浏览器相关的东西,这是相当特定的)。 在我的上一个...

14得票2回答
Gjs的导入语句会导入什么内容?

如果我看到Gjs代码并在开头附近看到这一行:const Gio = imports.gi.Gio; 我怎样才能知道'Gio'有哪些方法、常量、事件等(不通过谷歌搜索)?是否有一个文件包含这些信息在我的安装中? 显然,我是在问任何'imports'语句,而不仅仅是Gio。

14得票1回答
bwrap: execvp 应用程序:没有这样的文件或目录(GNOME Builder Flatpak)

当我尝试从GNOME Builder 3.32.4(Flatpak)运行GJS GNOME示例应用程序时,我会遇到以下错误:bwrap: execvp <application-id>: No such file or directory 我尝试了“清理”和“重建”项目,但没有帮助...

11得票1回答
使用gjs,如何进行异步http请求以分块下载文件?

我正在着手开发我的第一个 JavaScript GTK 应用程序,并希望使用 Gtk.ProgressBar 下载文件并跟踪其进度。我能找到的关于 HTTP 请求的唯一文档是这里的一些示例代码: http://developer.gnome.org/gnome-devel-demos/uns...

10得票1回答
GJS: Gtk.TextView按键事件不起作用

我正在尝试使用gjs为gnome-shell创建一个简单的gtk应用程序。 它的窗口仅包含Gtk.TextView,并且我希望在用户输入时处理事件。 这是我的代码:#!/usr/bin/gjs var Gtk = imports.gi.Gtk; function MainWindow ...

9得票1回答
GNOME Shell扩展能否在不重启系统的情况下安装?

我编写了一个小的GNOME Shell扩展,想要将其分发给一些同事。为此,我创建了一个RPM文件。安装后需要重启GNOME-Shell以使扩展可见并启用。当使用X11时,可以使用<ALT-F2>加上r进行重启,或者在使用Wayland时注销并重新登录。只有在这个重启之后,这个扩展才...

8得票2回答
如何在Gjs代码中设置包含路径?

据我所见,Gjs的imports默认只加载/usr/share/gjs-1.0和/usr/lib/gjs-1.0。我想像在Node中一样对应用程序进行模块化,但必须相对于脚本文件找到模块。 我发现了以下两种添加包含路径的方法: gjs --include-path=my-modules...

7得票1回答
以编程方式调用Gnome Shell快捷键

Gnome Shell有很好的快捷方式,但我找不到编程调用它们的方法。假设我想使用一个GJS脚本启动Google Chrome,将其移动到工作区1并最大化它,然后启动Emacs,将其移动到工作区2并最大化它。这可以使用wm.keybindings: move-to-workspace-1、mo...

7得票2回答
在Gjs/Gnome Shell中调用DBus方法

如果我有一个总线名称、一个对象路径和一个接口,我该如何在Gjs中调用DBus方法(在gnome-shell扩展中)? 我正在寻找以下Python代码的等价物: import dbus bus = dbus.SessionBus() obj = bus.get_object("org.gnom...