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

12

J'ai cherché sur Google, mais je n'arrive pas à trouver de didacticiels ou de documentation cohérents décrivant comment faire cela (dans mon cas, sur Kubuntu 15.10). Je veux ajouter des scripts personnalisés au menu contextuel de Dolphin (à la manière nautilus-scriptsde Nautilus). Pour une raison quelconque, lorsque je suis les instructions que je trouve, je ne peux faire apparaître le menu contextuel qu'en cliquant avec le bouton droit sur le .desktopfichier correspondant . Comment puis-je résoudre ça?

JesseTG
la source

Réponses:

14

Menus de service KDE

En langage KDE, 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 pour un répertoire), selon le type de fichiers sélectionnés.

Création (Konqueror) de menus de service KDE: 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 de:

kf5-config --path services

Exécution:

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

C'est:

Les menus des services aux utilisateurs sont les suivants:

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

Les menus des services système sont à

/usr/share/kservices5/ServiceMenus/

Fichiers de bureau

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

Image: La spécification d'entrée de bureau a la signification des clés / codes Image: Exemple de clés / codes de spécification d'entrée de bureau

Un exemple - menu de service simple avec chemin de fichier:

Création: $ HOME / .local / share / kservices5 / ServiceMenus / myFirstServiceMenu.desktop

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

[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: un menu de service au bon endroit. 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: exemple de l'action servicemenu

user26687
la source
Veuillez ajouter la partie pertinente de la réponse ici et ne fournir les liens qu'à titre de référence.
Anwar
3

Ce qui suit a fonctionné pour moi sur Ubuntu 16.04

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

courir kbuildsycoca5

les scripts seront visibles dans les nouvelles instances de dauphin.

bbbb
la source
1

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

(comparer la sortie de dpkg -L arkpour trouver des emplacements de fichiers similaires concernant les sous-menus de l'arche)

cucujoidea
la source