Интеграция приложений с лаунчером Unity

Мне нравится интегрировать приложение (цифровой измельчитель, интерфейс для команды уничтожения), чтобы разрешить перетаскивание файлов из Nautilus на значок запуска, а затем открыть программу и заполнить поле пути к файлу. Это возможно? Я думаю, мне нужен код. Программа написана на Python.

1 ответ

В Unity есть встроенная поддержка перетаскивания. Если приложение может принять имя файла в качестве аргумента командной строки, вам просто нужно использовать переменную в Exec поле файла рабочего стола.

Возьмем, к примеру, файл рабочего стола Gedit (с некоторым содержимым, удаленным для удобства чтения):

[Desktop Entry]
Name=gedit
GenericName=Text Editor
Comment=Edit text files
Exec=gedit %U
Terminal=false
Type=Application
StartupNotify=true
MimeType=text/plain;
Icon=accessories-text-editor
Categories=GNOME;GTK;Utility;TextEditor;

Если вы перетащите файл на панель запуска Gedit в Unity, %U будет заменен на URI файла.

Переменная является частью спецификации ввода рабочего стола:

  • %u - Один URL. Локальные файлы могут передаваться как file: URL или как путь к файлу.

  • %U - Список URL-адресов. Каждый URL передается в качестве отдельного аргумента исполняемой программе. Локальные файлы могут передаваться как file: URL или как путь к файлу.

Другие вопросы по тегам