Интеграция приложений с лаунчером 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 или как путь к файлу.