- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我有总线名称、对象路径和接口(interface),我如何从 Gjs(在 gnome-shell 扩展中)调用 DBus 方法?
我正在寻找以下 python 代码的等价物:
import dbus
bus = dbus.SessionBus()
obj = bus.get_object("org.gnome.Caribou.Keyboard", "/org/gnome/SessionManager/EndSessionDialog")
obj.Open(0, 0, 120, dbus.Array(signature="o"))
iface = dbus.interface(obj, "org.gnome.SessionManager.EndSessionDialog")
。因为我有接口(interface)名称,所以我可以使用查询它的解决方案。另请注意,这示例在 Gjs 中会很愚蠢,因为它会回调到 gnome-shell)
最佳答案
进口 imports.dbus
自 gnome-shell 3.4 起已弃用。
新方法是使用 Gio
如所述here :
const Gio = imports.gi.Gio;
const MyIface = '<interface name="org.example.MyInterface">\
<method name="Activate" />\
</interface>';
const MyProxy = Gio.DBusProxy.makeProxyWrapper(MyIface);
let instance = new MyProxy(Gio.DBus.session, 'org.example.BusName',
'/org/example/Path');
makeProxyClass
,正确的是
makeProxyWrapper
。)
$ dbus-send --print-reply --dest=im.pidgin.purple.PurpleService \
/im/pidgin/purple/PurpleObject org.freedesktop.DBus.Introspectable.Introspect
关于dbus - 在 Gjs/Gnome Shell 中调用 DBus 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11544758/
当我尝试运行异步代码(如读取文件或发送 http 请求)时,程序会在调用回调之前立即退出。 最佳答案 与浏览器中的JavaScript 不同,gjs 程序在主代码完成后立即退出,为了等待回调,我们需要
我正在编写首选项 View GNOME shell 扩展和使用 imports.lang 时面临的问题以面向对象的方式编写应用程序的函数。 const Gtk = imports.gi.Gtk con
Gjs 文档说 gjs -D -S example.js 将启动调试器,但当我执行相同的操作时,会发生以下错误 $ gjs -D test.js (gjs:26381): Gjs-ERROR **:
我正在尝试创建一个简单的网络编辑器演示。我想要一个 web View 小部件来呈现 gtk 源 View 小部件的内容...我绘制了小部件,但我无法从 sourceview 中获取内容以将其提供给 w
我正在尝试从 gjs 运行命令并异步读取输出。 这是我的同步代码 let [res, pid, in_fd, out_fd, err_fd] = GLib.spawn_async_with_pipes
GJS/Gnome 的包装器似乎没有公开“最小化”属性。有一个 get_maximized(),但这似乎没有返回我需要的信息。 使用 Gnome Applet 的 JavaScript 绑定(bind
我正在使用 GJS 和 GNOME 平台使用 JavaScript 编写一个简单的桌面应用程序:GTK+、GLib、Gio、GObject。下面的代码说明了我面临的情况,并且更容易复制,因为它不需要访
我正在尝试使用 javascript 绑定(bind)将简单的 cairo 绘图绘制到杂乱的窗口中。我的问题是,除了一半的函数命名略有不同外,无论我尝试什么,cairo 绘图都不会显示。我使用了一个来
我最近在研究 Gnome shell 扩展。我看了一些代码,像这样: const Lang = imports.lang; const extension = new Lang.Class({...}
我有一个 folderPath,它有一个目录字符串: /home/bastian/Pictures 我有一个包含名称的变量 fileName。我可以像这样将两个字符串连接在一起,但它只适用于 UNIX
我最近在研究 Gnome shell 扩展。我看了一些代码,像这样: const Lang = imports.lang; const extension = new Lang.Class({...}
我有一个 folderPath,它有一个目录字符串: /home/bastian/Pictures 我有一个包含名称的变量 fileName。我可以像这样将两个字符串连接在一起,但它只适用于 UNIX
我在 GJS GObject overrides 中看到大多数类型都有对应于 Javascript 类型的定义,但我应该如何为标准字符串数组定义属性?我想到的一些选择: 使用 TYPE_OBJECT
我正在尝试使用 gjs 为 gnome-shell 创建简单的 gtk 应用程序。 它的窗口只包含 Gtk.TextView,我想在用户输入时处理事件。 这是我的代码: #!/usr/bin/gjs
如果我正在查看 Gjs 代码并在开头附近看到这一行: const Gio = imports.gi.Gio; 我如何知道“Gio”上有哪些方法、常量、事件等(无需进行 Google 搜索)?我的安装中
我知道我可以很容易地导入文件,但我正在尝试制作某种插件结构。我希望能够扫描文件夹并加载每个 Javascript 文件。 有了 Seed JS,我可以使用 Seed.include() 来计算一个文件
我正在尝试使用 Gjs 编写 GNOME GTK3 应用程序哪个handles files passed as command line arguments .为此,我连接了 Gtk.Applicat
这不起作用(当目录存在时什么也不会发生): let s_dir = Gio.file_new_for_path("./S1"); try { s_dir.make_directory(
我开始开发我的第一个 JavaScript GTK 应用程序,我想下载一个文件并使用 Gtk.ProgressBar 跟踪它的进度。我能找到的关于 http 请求的唯一文档是这里的一些示例代码: ht
我已经使用 Gtk+ 和 GNOME API 完成了 Python 和 C 应用程序,现在我看到由于 GJS(我也听说过种子),GNOME 3 支持 JavaScript。 所以,我不得不问:值得吗?
我是一名优秀的程序员,十分优秀!