在 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
您的第二个错误意味着您使用了不正确的类型:您应该使用 string
、int32
和 boolean
(sib
),而不是 string
和两个无符号整数 (suu
)。
另请注意,您应该使用 URI,而不是原始文件名 - 只需添加 file://
方案前缀。
第二个参数应该是要显示预览的窗口的 xid。但是 0 对我有用。
关于dbus - Gnome 3 : Call sushi, 通过 DBus 的 Nautilus 快速文件预览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34889757/