dbus - Gnome 3 : Call sushi, 通过 DBus 的 Nautilus 快速文件预览器

标签 dbus quicklook gnome-3 nautilus

在 Gnome 3 中,Nautilus 有一个名为 Sushi 的新文件预览器。您可以在 Nautilus 中选择一个文件,点击空格键,它会显示一个快速预览。这与 OSX 上的 Quick Look(预览版)非常相似。 Quick Look 有一个命令行界面,允许您从自己的应用程序内部使用 Quick Look。寿司似乎不允许这样做。

这似乎是通过 dbus 调用 sushi 的唯一方法。 (如果你知道如何通过 cmd 行调用它,那就更好了)我找到了寿司的来源 registers its dbus messages但不知道如何调用它。

这是我尝试过的:

> qdbus org.gnome.NautilusPreviewer /org/gnome/NautilusPreviewer org.gnome.NautilusPreviewer.ShowFile /foo/bar/baz.png 0x1c00010 0
Error: org.gnome.gjs.JSError.Error
Argument 'parent' (type interface) may not be null

我是 dbus 的新手,所以我可能遗漏了一些明显的东西

> dbus-send --print-reply --dest=org.gnome.NautilusPreviewer /org/gnome/NautilusPreviewer org.gnome.NautilusPreviewer.ShowFile string:"/foo/bar/baz.png" uint32:0x1c00010 uint32:1
Error org.freedesktop.DBus.Error.InvalidArgs: Type of message, '(suu)', does not match expected type '(sib)'

最佳答案

试试这个:

dbus-send --print-reply --dest=org.gnome.NautilusPreviewer /org/gnome/NautilusPreviewer org.gnome.NautilusPreviewer.ShowFile string:"file:///foo/bar/baz.png" int32:0 boolean:false

您的第二个错误意味着您使用了不正确的类型:您应该使用 stringint32boolean (sib ),而不是 string 和两个无符号整数 (suu)。

另请注意,您应该使用 URI,而不是原始文件名 - 只需添加 file:// 方案前缀。

第二个参数应该是要显示预览的窗口的 xid。但是 0 对我有用。

关于dbus - Gnome 3 : Call sushi, 通过 DBus 的 Nautilus 快速文件预览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34889757/

相关文章:

ios - LLDB 中是否有 Quicklook 调试命令?

iphone - Quick Look 和 UIWebView 支持的文件类型

python - 如何获得 Gnome Wayland 上的事件窗口?

linux - 在一个命令中更改目录并执行文件

python - 使用 policykit+dbus 代替 gksu 运行图形应用程序

qt - 在路径/org/freedesktop/NetworkManager/ActiveConnection/的对象上没有这样的接口(interface) 'org.freedesktop.DBus.Properties'

dbus - BlueZ 5.4 DBus API ConnectProfile GATT 服务 UUID

swift - NSURL/File QuickLook Preview & NSURL/File dragging 的实现