web-dev-qa-db-fra.com

Comment ajouter des éléments personnalisés au menu contextuel de Dolphin dans KDE 5?

J'ai cherché sur Google, mais je n'arrive pas à trouver de didacticiels ou de documents cohérents décrivant la procédure à suivre (dans mon cas, sur Kubuntu 15.10). Je souhaite ajouter des scripts personnalisés au menu contextuel de Dolphin (à la nautilus-scripts pour Nautilus). Pour une raison quelconque, lorsque je suis les instructions trouvées, je ne peux afficher le menu contextuel que lorsque vous cliquez avec le bouton droit sur le fichier .desktop correspondant. Comment puis-je résoudre ce problème?

9
JesseTG

Menus du service KDE

Dans KDE-speak, un "menu de service" est une entrée spéciale qui apparaît dans un menu contextuel (ou une autre interface contextuelle) pour un fichier (ou un répertoire), en fonction du type de fichier sélectionné.

Création de menus de service KDE (Konqueror): https://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_Menus

Menus de service avec Dolphin: https://www.kubuntuforums.net/showthread.php?25740-Service-Menus-with-Dolphin -> Menus de service KF5: https: // www.kubuntuforums.net/showthread.php?25740-Service-Menus-with-Dolphin&p=367207&viewfull=1#post367207

Menus de service manquants: https://forum.kde.org/viewtopic.php?f=223&t=128621

Chemins

KDE Frameworks 5 recherche des services auprès de:

kf5-config --path services

En cours d'exécution:

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

C'est:

Les menus de l'utilisateur sont:

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

Les menus du système sont à

/usr/share/kservices5/ServiceMenus/

Fichiers du bureau

Les menus de services sont définis à l'aide de fichiers .desktop. Spécification d'entrée de bureau: https://standards.freedesktop.org/desktop-entry-spec/latest/

Image: Desktop Entry Specification has the meaning of the keys/codes Image: Exemple de clés/codes de spécification d’entrée de bureau

Un exemple - menu de service simple avec chemin d'accès au fichier:

Making: $ HOME/.local/share/kservices5/ServiceMenus/myFirstServiceMenu.desktop

Si le répertoire n'existe pas, l'utilisateur peut le créer!

[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"

Image: a servicemenu at the right place. Image: un menu de service au bon endroit.

Fermer toutes les fenêtres Dolphin et en démarrer une nouvelle. Lorsque vous cliquez avec le bouton droit sur un fichier:

Image: sample of the servicemenu action

9
user26687

Ce qui suit a fonctionné pour moi sur Ubuntu 16.04

placez les scripts dans le répertoire ~/.local/share/kservices5/ServiceMenus/

lancer kbuildsycoca5

les scripts seront visibles dans les nouvelles instances de dauphin.

2
bbbb

Sous Ubuntu 16.04 avec KDE (Kubuntu), un répertoire approprié pour *. Desktop fichiers est /usr/share/kservices5/ServiceMenus/

(comparez la sortie de dpkg -L ark pour trouver des emplacements de fichiers similaires concernant les sous-menus ark)

1
cucujoidea