Gnome 3: Call sushi, средство быстрого просмотра файлов Nautilus через DBus

В Gnome 3 у Nautilus есть новый просмотрщик файлов под названием Sushi. Вы можете выбрать файл в Nautilus, нажать пробел, и он покажет быстрый предварительный просмотр. Это очень похоже на то, что делает Quick Look (Preview) в OSX. Quick Look имеет интерфейс командной строки, который позволяет использовать Quick Look из вашего собственного приложения. Суши, похоже, не позволяют этого.

Кажется, единственный способ вызвать суши через dbus. (Если вы знаете, как вызвать его через строку cmd, даже лучше) Я нашел источник суши, где он регистрирует свои сообщения dbus, но не может понять, как их вызывать.

Вот что я пробовал:

> 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)'

person Matthew Levine    schedule 20.01.2016    source источник
comment
Хотите открыть окно из командной строки? Или из вашего приложения?   -  person Kyrylo Polezhaiev    schedule 20.01.2016
comment
Я не совсем понимаю, что вы имеете в виду. Ты про xwin id?   -  person Matthew Levine    schedule 20.01.2016
comment
Вы забыли задать вопрос...   -  person Kyrylo Polezhaiev    schedule 20.01.2016


Ответы (2)


Попробуй это:

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.

person Kyrylo Polezhaiev    schedule 20.01.2016
comment
Похоже, это больше не работает: аргументы для dbus_message_new_signal() были неверными, утверждение _dbus_check_is_valid_path (путь) не удалось в файле ../../../dbus/dbus-message.c, строка 1456. - person hackel; 16.06.2017

Я не эксперт в этом вопросе и довольно новичок в Linux. Я тоже столкнулся с этой проблемой, и мне удалось решить ее, переустановив пакет dbg.

Я заметил, что во время обновления до 19.10 этот пакет обязательно нужно удалить, чтобы продолжить установку.

После того, как обновление было выполнено, gnome показал ту же ошибку, что и @Matthew Levine в первом сообщении. переустановка gdb решила проблему для меня.

person Eric Durandau    schedule 16.01.2020