Как добавить пользовательские элементы в контекстное меню в Dolphin в KDE 5?

12

Я гуглил, но не могу найти никаких последовательных руководств или документации, которые описывают, как это сделать (в моем случае, на Kubuntu 15.10). Я хочу добавить пользовательские скрипты в контекстное меню в Dolphin (а-ля nautilus-scriptsНаутилус). По какой-то причине, когда я следую инструкциям, которые я найду, контекстное меню появляется только при щелчке правой кнопкой мыши по соответствующему .desktopфайлу. Как я могу решить это?

JesseTG
источник

Ответы:

14

Сервисные меню KDE

В KDE-говорить «servicemenu» - это специальная запись, которая появляется в контекстном меню (или другом контекстном интерфейсе) для файла (или для каталога), в зависимости от типа выбранных файлов.

Создание (Konqueror) сервисных меню KDE: https://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_Menus

Сервисные меню с дельфинами: https://www.kubuntuforums.net/showthread.php?25740-Service-Menus-with-Dolphin -> KF5 Сервисные меню: https://www.kubuntuforums.net/showthread.php?25740 -Service-меню-с-Dolphin & р = 367207 & viewfull = 1 # post367207

Сервисные меню отсутствуют: https://forum.kde.org/viewtopic.php?f=223&t=128621

пути

KDE Frameworks 5 ищет услуги от:

kf5-config --path services

Выполнение:

$ kf5-config --path services
/home/user26687/.local/share/kservices5/:/usr/share/kservices5/

То есть:

Пользовательские сервисные меню:

$HOME/.local/share/kservices5/ServiceMenus/

Системные сервисные меню находятся на

/usr/share/kservices5/ServiceMenus/

Настольные файлы

Сервисные меню определяются с использованием файлов .desktop. Спецификация входа на рабочий стол: https://standards.freedesktop.org/desktop-entry-spec/latest/

Изображение: Desktop Entry Specification имеет значение ключей / кодов Изображение: образец ключей / кодов спецификации ввода рабочего стола

Пример - простое сервисное меню с путем к файлу:

Создание: $ HOME / .local / share / kservices5 / ServiceMenus / myFirstServiceMenu.desktop

Если каталог не существует, пользователь может сделать это!

[Desktop Entry]
Type=Service
Icon=smiley-shape
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/allfiles;
Actions=helloWorld;
Encoding=UTF-8

[Desktop Action helloWorld]
Name=Hello with path information
Icon=smiley-shape
Exec=kdialog --msgbox "Path is %f"

Изображение: сервисное меню в нужном месте. Изображение: сервисное меню в нужном месте.

Закрытие всех окон Dolphin и запуск нового. При щелчке правой кнопкой мыши по файлу:

Образ: пример действия военнослужащего

user26687
источник
Пожалуйста, добавьте соответствующую часть ответа здесь и предоставьте ссылки только для справки.
Анвар
3

У меня на Ubuntu 16.04 работает следующее

разместить скрипты в каталоге ~/.local/share/kservices5/ServiceMenus/

бегать kbuildsycoca5

скрипты будут видны в новых экземплярах дельфинов.

BBBB
источник
1

В Ubuntu 16.04 с KDE (Kubuntu) один подходящий каталог для файлов * .desktop :/usr/share/kservices5/ServiceMenus/

(сравните выходные данные, dpkg -L arkчтобы найти похожие расположения файлов в подменю ark)

кукуйоидные
источник