 créer des servicemenus dans konqueror personnaliser le clicdroit  but de ce document ce document me sert de mémo pour créer des servicemenus dans konqueror un servicemenu permet de personnaliser le clicdroit dans konqueror pour effectuer différentes actions en fonction du type de fichier sélectionné emplacement des servicemenus si le servicemenu doit être disponible pour tous les utilisateurs il faut le placer dans le dossier suivant usr share apps konqueror servicemenus il est possible également de créer des servicemenus personnalisés pour chaque utilisateur en les plaçant dans le profil de cet utilisateur dans kde share apps konqueror servicemenus  remarque  si le répertoire servicemenus n existe pas il faut le créer attention  le nom du fichier décrivant un servicemenu doit obligatoirement se terminer par  desktop   exemple de servicemenu ce service menu tout simple se contente d afficher deux menus faisant la même chose et affichant dans une boîte de dialogue la liste des fichiers sélectionnés desktop entry servicetypes all all tryexec kdialog actions test1 separator test2 xkdesubmenu mon sous menu desktop action test1 name test1 icon arts exec kdialog msgbox u desktop action test2 name test2 exec kdialog msgbox u un servicemenu a toujours plusieurs sections la section   desktop entry   permet de définir sur quels types de fichiers ou dossiers le menu doit apparaître et indique la liste des actions à afficher les sections suivantes ex   desktop action test1   permettent de définir chaque action ligne servicetypes  la ligne  servicetypes  permet de définir sur quels types de fichiers ou dossiers le menu apparaîtra la ligne suivante fera apparaître le menu pour tous les fichiers et dossiers servicetypes all all la ligne suivante fera apparaître le menu uniquement si des dossiers sont sélectionnés servicetypes inode directory la ligne suivante fera apparaître le menu uniquement si des fichiers sont sélectionnés servicetypes all allfiles le signe permet de prendre en compte tous les types de fichiers d une catégorie ex image servicetypes image il est possible également d indiquer plusieurs types de fichiers en les séparants par des virgules servicetypes image jpeg application pdf inversement cette ligne permet d exclure certains types de fichiers excludeservicetypes application xiso kdedevice  remarque  pour connaître la liste complète de tous les types de fichiers il faut depuis  konqueror  aller dans le menu  configuration configurer konqueror associations de fichiers  ensuite il faut rechercher dans la liste le type souhaité ou utiliser la zone  chercher un motif de fichiers   ligne tryexec  cette ligne facultative permet de vérifier que le programme utilisé est installé sur le système si le programme n est pas disponible le menu n apparaîtra pas tryexec kdialog remarque  si vous utilisez plusieurs programmes il est possible de mette plusieurs lignes pour tester la présence de chaque programme ligne actions  cette ligne doit indiquer toutes les actions présentent dans le servicemenu chaque action doit correspondre à une section chaque action est séparée par un pointvirgule le mot clé separator permet d ajouter une ligne horizontale de séparation dans le menu exemple actions test1 separator test2 ligne xkdesubmenu  cette ligne permet de placer les différentes actions dans un sousmenu sans cette ligne les actions sont placées directement sous le menu action si plusieurs servicemenus fichier desktop utilisent le même sousmenu toutes les actions seront regroupées dans celuici xkdesubmenu mon sous menu en ajoutant le code de la langue entre des crochets il est possible d avoir ce texte en plusieurs langues en fonction de la configuration de kde exemple xkdesubmenu mon sous menu in english xkdesubmenu fr mon sous menu en français  ligne name  cette ligne indique le texte qui apparaîtra dans le menu contextuel name test1 en ajoutant le code de la langue entre des crochets il est possible d avoir ce texte en plusieurs langues en fonction de la configuration de kde exemple name test1 in english name fr test1 en français  ligne icon  cette ligne permet de définir l icône à afficher à gauche du texte du menu exemple icon arts remarque 1  pour connaître les icônes disponibles il faut depuis konqueror faire un clic droit propriété sur un fichier et cliquer sur l icône remarque 2  cette ligne peut également être ajoutée dans la section   desktop entry   dans ce cas elle sert à indiquer l icône du fichier en lui même fichier desktop  ligne exec  cette ligne permet de définir la commande à exécuter pour les fichiers ou dossiers sélectionnés exemple exec kdialog msgbox u avec des parenthèses et le signe il est possible d exécuter plusieurs commandes sur la même ligne exemple exec cd d tar chjf ntarbz2 n si le script est complexe il est possible de faire appel à un programme externe avec cette syntaxe exec bin sh c votrescriptsh u la variable u contient l url du fichier sélectionné si plusieurs fichiers sont sélectionnés le programme sera lancé pour chaque fichier vous trouverez cidessous les variables disponibles pour vos scripts  variable contenu  f url complète du fichier chemin nom si plusieurs fichiers sont sélectionnés le programme sera exécuté pour chaque fichier f liste des url de tous les fichiers sélectionnés dans ce cas le programme est exécuté une seule fois mais il doit être capable de traiter cette liste u idem f je n ai vu aucune différence u idem f je n ai vu aucune différence d chemin du fichier sans son nom d liste des chemins des fichiers sélectionnés la sélection peut en effet comprendre des fichiers compris dans plusieurs dossiers n nom du fichier sans son chemin n liste des noms des fichiers sélectionnés en ajoutant le code de la langue entre crochets il est possible d avoir le texte en plusieurs langues en fonction de la configuration de kde exemple exec kdialog msgbox in english u exec fr kdialog msgbox en français u il est possible également d utiliser dcop pour dialoguer avec les applications kde par exemple cette commande permet de mettre en fond d écran l image sélectionnée exec dcop kdesktop kbackgroundiface setwallpaper u 6 pour plus d explications sur les possibilités de dcop vous pouvez lire cet article  http wwwlealinuxorg cached index devdcophtml pour finir voici quelques exemples de commandes trouvés dans les servicemenus de kde exec dcop amarok playlistbrowser addpodcast u exec dcop amarok playlist playmedia u exec amarok queue u exec ark extractto d u exec kprinter t n caption n icon i miniicon m u exec kiomediamounthelper u u exec dcop kitchensync pluckerinterface addpluckerurl kurl u exec cabextract d d f exec cd d pdftk f output kdialog title save file  remarques sur l organisation des menus la ligne suivante permet de forcer l affichage des actions directement dans le menu principale et non pas dans le sousmenu action xkdepriority toplevel sans cette ligne les actions seront regroupés dans le sousmenu action la ligne suivante il est possible de placer les action dans le sousmenu indiqué xkdesubmenu mon sous menu le paramètre  separator  placé dans la ligne actions permet de mettre une ligne séparatrice pour organiser les action actions test1 separator test2 si plusieurs servicemenus sont créés pour un même type de fichier toutes les actions seront affichées si ces servicemenus utilisent le même sousmenu elles seront toutes affichées dans ce menu mes servicemenus préférés kim kde image menu  ce servicemenu est certainement le plus complet dans la gestion des images il permet de compresser et redimensionner les images convertir et retourner créer des albums en html ou des animations en flash aucun paquet n est disponible sous debian mais heureusement l installation est très simple car il suffit de décompresser l archive et de lancer le programme d installation tar xvzf kim094targz cd kim installsh ce programme est disponible ici  http kdeappsorg content showphp content 11505 pour faire fonctionner ce servicemenu il est nécessaire d installer les paquets suivants aptitude install imagemagick mjpegtools pdf toolkit service menu    http wwwkdeappsorg content showphp content 18545 remarque 1  ce service menu nécessite l installation du paquet  pdftk   remarque 2  dans les nombreux fichiers de ce paquet il n y a que le fichier  pdftoolkitdesktop  qu il est nécessaire de mettre en place konqpdf   http wwwkdeappsorg content showphp content 37321 remarque 1  ce paquet contient plusieurs fichiers desktop offrant beaucoup d options de manipulation des fichiers pdf remarque 2  ce service menu est livré sous forme de paquet deb remarque 3  ce service menu nécessite l installation du paquet  pdfjam  qui installe beaucoup de dépendances perl et latex autres sources d informations documentation officielle  http developerkdeorg documentation tutorials dot servicemenushtml de nombreux servicemenus sont disponibles sur ce site  http wwwkdeappsorg indexphp xcontentmode 287 vous trouverez également des exemples de servicemenus sur notre site  http wwwcoagulorg articlephp3 idarticle 91 spécification freedesktop concernant la création des fichiers desktop  http standardsfreedesktoporg desktopentryspec 094 indexhtml historique des modifications version date commentaire 01 301206 création par tony galmiche 02 170207 mise en ligne 03 070307 ajout chapitre ligne tryexec et mes servicemenus préférés 04 070307 ajout chapitre remarques sur l organisation des menus 05 120307 réécriture du tableau des variables 06 310508 mise à jour du chapitre mes servicemenus préférés créer des servicemenus dans konqueror personnaliser le clicdr j ai bien aimé le timbrage watermarks pdf grâce au service menu pdf toolkit merci du tuyau ou plutôt de l astuce  freedesktop  