Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
service_menus [Le 22/02/2012, 11:17] – [Compiler le fichier Makefile du dossier] gp2mv3service_menus [Le 06/10/2017, 17:46] (Version actuelle) – Plasma emplacement sefran
Ligne 1: Ligne 1:
 +{{tag>kubuntu kde nautilus-actions}}
 +====== Service menu (ou menu contextuel)======
  
 +Un **service menu** est une action disponible à partir du clic droit sur un fichier/répertoire dans [[:Konqueror]] ou Dolphin (gestionnaires de fichiers KDE).\\
 +Un équivalent sous Gnome avec Nautilus est [[:nautilus-actions|nautilus-actions]].
 +
 +Pour KDE 4.2 et antérieurs, il s'agit d'un simple fichier avec l'extension .desktop localisé dans :
 +  * **~/.kde/share/apps/konqueror/servicemenus** : service menu pour l'utilisateur courant.
 +  * **/usr/share/apps/konqueror/servicemenus** : service menu pour tous les utilisateurs.
 +
 +Dolphin possède lui aussi un répertoire /servicemenus, et les fichiers .desktop sont identiques :
 +  * **~/.kde/share/apps/d3lphin/servicemenus**
 +  * **/usr/share/apps/d3lphin/servicemenus**
 +
 +Et il existe un répertoire commun à tous : 
 +  * **~/.kde/share/kde4/services**
 +  * **/usr/share/kde4/services**
 +
 +Pour plasma 5 :
 +  * **~/.local/share/kservices5/ServiceMenus/**
 +
 +
 +<note>Cette page essaye de regrouper les service menus que vous utilisez et dont vous ne pouvez plus vous passer.\\
 +Les services menus décrits ici ne fonctionneront que sous KDE 3.x, ils ne fonctinneront pas sous KDE 4.x.\\
 +Il peut s'agir de service menus que vous avez trouvé sur le net ou que vous avez créé vous même, peut-importe, pourvu que vous les trouviez pratiques, qu'ils fonctionnent sous Kubuntu (donc testés par vous) et bien sûr, qu'ils ne soient pas présents par défaut.\\
 +Merci de poster le **code** du .desktop et vos **sources** lorsqu'il y a lieu.</note>
 +On peut télécharger toute sorte de service menus supplémentaires sur [[http://www.kde-apps.org/index.php?xsortmode=new&xcontentmode=287&page=0|KDE-Apps.org]]\\
 +\\
 +**Informations sur la création d'un service menu :**
 +  * [[http://www.coagul.org/article.php3?id_article=91]]\\
 +  * [[https://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_Menus]]
 +  * [[http://legroom.net/2007/04/20/adding-custom-actions-kde-context-menus]]\\
 +
 +<note warning>À partir de **KDE 4.2** les servicemenus se trouvent sous\\
 +  * /usr/share/kde4/services/ServiceMenus\\
 +  * ~/.kde/share/kde4/services/ServiceMenus\\
 +
 +
 +Mais attention les versions **service_menus antérieur à KDE 4.2 ne sont plus compatibles** .\\
 +Pour les rendre utilisables il faut modifier la section [Desktop Entry] : 
 +ajouter une ligne Type=Service et ServiceTypes= KonqPopupMenu/Plugin\\
 +
 +Autrement dit votre première section doit désormais contenir\\
 +[Desktop Entry]\\
 +Type=Service\\
 +ServiceTypes=KonqPopupMenu/Plugin\\
 +MimeType=all/all; (ou tout autre type)\\
 +Actions= (le nom de l'action définis dans la section suivantes)\\
 +</note>
 +
 +===== KoovFolder : utilisez une image comme aperçu d'un dossier =====
 +Ce service-menu offre plusieurs possibilités assez originales pour personnaliser l'aperçu d'un dossier, à partir d'une image qu'il contient.
 +\\
 +{{konqueror:service-menus:menu_koovfolder.png|Menu de Koovfolder}}\\
 +\\
 +Voici ce que donne la "pile de polaroid" :\\
 +{{konqueror:service-menus:polaroid.png|Pile de polaroids}}
 +\\
 +Ce service-menu est né la collaboration entre deux membres du forum [[http://forum.kubuntu-fr.org/profile.php?id=32688|Arbre Ciré]] et [[http://forum.kubuntu-fr.org/profile.php?id=20689|alexnihilo]] sur ce [[http://forum.kubuntu-fr.org/viewtopic.php?pid=1156934|sujet]].\\
 +La version actuelle est développée et diffusée par [[http://forum.kubuntu-fr.org/profile.php?id=32688|Arbre Ciré]], qui en assure aussi le maintien.
 +== Installer KoovFolder ==
 +Télécharger ce paquet :{{konqueror:service-menus:koovfolder_beta_1.0.7.tar.gz|koovfolder_beta_1.0.7.tar.gz}} et le décompresser.
 +  * copier les deux .desktop dans **~/.kde/share/apps/konqueror/servicemenus** (ou dans un autre répertoire adapté, voir ci-dessus)
 +  * rendre le script KoovFolder.sh exécutable
 +
 +  sudo chmod a+x KoovFolder.sh
 +
 +  * copier KoovFolder.sh dans **/usr/local/bin/**
 +== Configurer KoovFolder ==
 +La dernière version de KoovFolder créé le fichier de configuration **~/.KoovFolder/KoovFolder.conf**.\\
 +Il permet de régler plusieurs paramètres :
 +  * utiliser une autre icône de dossier que celle par défaut
 +  * choisir la profondeur de couleur utilisée (8 ou 16 bits)
 +  * utiliser l'effacement automatique des logs
 +\\
 +<note tip>Ce service-menu est conçu pour fonctionner sous plusieurs distributions. Il a été testé avec succès avec **Kubuntu Gutsy** et **Suse 10.3**</note>
 +
 +
 +===== Editer un fichier en tant que root =====
 +  [Desktop Entry]
 +  ServiceTypes=text/*,application/x-desktop
 +  Actions=Editassu
 +  
 +  [Desktop Action Editassu]
 +  Name=Edit as Root
 +  Name[it]=Edita come Root
 +  Name[fr]=Editer en tant que Root
 +  Name[es]=Editar como Root
 +  Name[de]=Als root bearbeiten
 +  Icon=kfm
 +  Exec=kdesu "kate" "%U"
 +
 +Source : [[http://club.mandriva.com/xwiki/bin/view/KB/EditAsRootMenu]] (J'ai modifié le script original en remplaçant kwrite par kate).
 +
 +===== Ouvrir un dossier en tant que root =====
 +il est peut-être possible de ne spécifier que "inode/directory" plutôt que de mettre l'étoile, je maitrise pas bien les MIME et je ne sais pas si c'est suffisant pour que l'option soit disponible pour des dossier système tel que le dossier où sont installé les programmes. \\
 +  [Desktop Entry]
 +  ServiceTypes=inode/*
 +  Actions=Openassu
 +  
 +  [Desktop Action Openassu]
 +  Name=Open as Root
 +  Name[fr]=Ouvrir en tant que Root
 +  Icon=kfm
 +  Exec=kdesu konqueror "%U"
 +
 +Source : le script du dessus
 +===== Éditer les tag avec Ex Falso =====
 +Permet de lancer [[ExFalso]] directement dans le dossier que l'on pointe.\\
 +<note important>nécessite que Ex Falso soit installé</note>
 +  [Desktop Entry]
 +  ServiceTypes=inode/directory
 +  Actions=exfalso
 +  
 +  [Desktop Action exfalso]
 +  Name=Edit tag with Ex Falso
 +  Name[fr]=Editer les tag avec Ex Falso
 +  Icon=/usr/share/pixmaps/exfalso.png
 +  Exec=exfalso %U
 +
 +===== Renommer avec métamorphose =====
 +Permet de lancer métamorphose directement dans le répertoire sélectionné. L'icône ne fonctionne peut-être pas pour tout le monde, je ne sais pas si elle y était d'origine ou si c'est moi qui l'y ai mise. \\
 +<note important>nécessite que métamorphose soit installé</note>
 +  [Desktop Entry]
 +  ServiceTypes=inode/directory
 +  Actions=renamewithmetamorphose
 +  
 +  [Desktop Action renamewithmetamorphose]
 +  Name=Rename with metamorphose
 +  Name[fr]=Renommer avec métamorphose
 +  Icon=/usr/share/pixmaps/metamorphose64.png
 +  Exec=metamorphose %U
 +
 +===== Envoyer un fichier en pièce jointe avec kmail =====
 +  [Desktop Entry] 
 +  ServiceTypes=all/allfiles
 +  Actions=attach
 +  
 +  [Desktop Action attach]
 +  Name=Mail with KMail
 +  Name[fr]=Attache le fichier dans Kmail
 +  Icon=kmail
 +  Exec=kmail --attach %F
 +
 +<note>Ce service-menu existe par défaut sous Kubuntu, mais il reste présent ici pour les utilisateurs d'autres distibutions dans lesquelles ce n'est pas le cas. (Suse par exemple)</note>
 +Source : [[http://www.coagul.org/article.php3?id_article=91]]
 +
 +===== Envoyer un fichier en pièce jointe avec Thunderbird =====
 +Créer le lanceur **AttachToThunderbirdMail.desktop** dans **~/.kde/share/apps/konqueror/servicemenus/** avec le contenu :
 +<code>[Desktop Entry]
 +Encoding=UTF-8
 +ServiceTypes=all/all
 +Actions=attachToEmail
 +
 +[Desktop Action attachToEmail]
 +Name=Attach to Thunderbird Mail
 +Name[fr]=Envoyer en pièce jointe avec Thunderbird
 +Icon=thunderbird_2x
 +Exec=thunderbird -compose `echo attachment=\'file://%F\' | sed 's/ \//,file:\/\/\//g'`</code>
 +
 +\\
 +Source : [[http://www.kde-apps.org/content/show.php/Thunderbird+Service+Menu?content=19328]]
 +
 +===== Convertir une vidéo avec mencoder, ffmpeg ou ffmpeg2theora =====
 +
 +Plusieurs fonctionnalités sont proposées par ce service menu : \\
 +{{konqueror:service-menus:konqkonv.png?300|}}\\
 +Télécharger le .desktop ici :{{konqueror:service-menus:konqkonv.desktop.tar.gz|konqkonv.desktop}}\\
 +\\
 +Sources : [[http://forum.kubuntu-fr.org/viewtopic.php?pid=1150069#p1150069]]
 +
 +===== Rechercher dans le dossier sélectionné =====
 +  [Desktop Entry]
 +  ServiceTypes=inode/directory
 +  Actions=search
 +  
 +  [Desktop Action search]
 +  Name=Search in the selected folder
 +  Name[fr]=Rechercher dans le dossier sélectionné 
 +  Icon=kfind
 +  Exec=kfind %f
 +Sources : [[http://forum.kubuntu-fr.org/viewtopic.php?pid=1165799#p1165799]]
 +
 +===== Mettre en file d'attente dans Mplayer =====
 +  [Desktop Entry]
 +  ServiceTypes=video/*
 +  Actions=Enchainer Mplayer
 +  
 +  [Desktop Action Enchainer Mplayer]
 +  Name=Enchainer Mplayer
 +  Icon=kmplayer
 +  Exec=mplayer -fs %U
 +Sources : [[http://forum.kubuntu-fr.org/viewtopic.php?pid=1277583#p1277583]]
 +
 +===== Insérer un séparateur =====
 +Nous allons reprendre l'exemple de ci-dessus nommé //Editer un fichier en tant que root//. L'insertion de séparateurs ce fait au niveau de l'option //Actions// en rajoutant le terme **_SEPARATOR_**. L'option //X-KDE-Priority=TopLevel// permet quant à elle de mettre le menu en question au premier plan.
 +
 +  [Desktop Entry]
 +  ServiceTypes=text/*,application/x-desktop
 +  Actions=_SEPARATOR_;Editassu;_SEPARATOR_;
 +  X-KDE-Priority=TopLevel
 +  
 +  [Desktop Action Editassu]
 +  Name=Edit as Root
 +  Name[it]=Edita come Root
 +  Name[fr]=Editer en tant que Root
 +  Name[es]=Editar como Root
 +  Name[de]=Als root bearbeiten
 +  Icon=kfm
 +  Exec=kdesu "kate" "%U"
 +
 +
 +
 +
 +
 +
 +
 +===== Ripper rapidement les chapitres d'un DVD =====
 +Il faut télécharger l'outil Krip2clip ici :
 +[[http://www.kde-apps.org/content/show.php/show.php?content=80214&vote=good&tan=89375612|Krip2clip]]
 +
 +Quelques pré-requis d'installation :
 +  *  paquets regina (rexx language)
 +  *  commande HandBrakeCLI 
 +(l'outil propose lui-même le téléchargement et l'installation de HandBrakeCLI , voir ici : 
 +http://handbrake.fr )
 +
 +L'outil installe de lui même les services menus (pour Dolphin et Konqueror) dont voici le contenu (à titre d'information, vous n'aurez pas à y intervenir normalement...) :
 +
 +
 +  [Desktop Entry]
 +  ServiceTypes=inode/blockdevice,application/x-iso,media/dvdvideo
 +  Actions=rip2clip
 +  
 +  X-SuSE-translate=true
 +  [Desktop Action rip2clip]
 +  Name=Rip source to video clips
 +  Name[fr]=Ripper la source en vidéo clips
 +  
 +  Exec=Krip2clip "dvdname='%u';"
 +  Icon=/usr/share/apps/kmdr-Krip2clip/Krip2clip_icon.png
 +
 +A noter, le logiciel **M.O.V.E** (My Own Video Encoder), un autre outil qui installe lui-même ces services menu :
 +[[http://www.kde-apps.org/content/show.php/show.php?content=86710&vote=good&tan=2285677|M.O.V.E.]]
 +
 +pour encoder des vidéos direct dans les miniPlayers de la maison Meizu.
 +
 +===== Comparer rapidement deux fichiers =====
 +Ce service-menu permet de comparer deux fichiers sélectionnés ensemble ou successivement dans Konqueror ou Dolphin. Il nécessite l'installation de l'utilitaire **kompare** qui visualise ligne par ligne les différences, et le script **komparefile.sh** ci-dessous. Inspiré du fonctionnement d'un utilitaire existant sous XP, la première activation du service-menu enregistre le nom du premier fichier, et la deuxième activation lance la comparaison. Le menu "Choisir le premier fichier" reinitialise le nom de fichier.
 +
 +Contributeur : [[utilisateurs:besoa]]
 +
 +  [Desktop Entry]
 +  ServiceTypes=inode/directory,inode/system_directory,all/allfiles
 +  Actions=CompareFile;SelectFirst;
 +  
 +  [Desktop Action CompareFile]
 +  Name=Compare file with...
 +  Name[fr]=Comparer ...
 +  Icon=kompare
 +  Exec=~/tools/komparefile.sh "%u"
 +  
 +  [Desktop Action SelectFirst]
 +  Name=Select first file to compare
 +  Name[fr]=Choisir le premier fichier
 +  Icon=kompare
 +  Exec=rm /tmp/kde-`whoami`/comparefile1; ~/tools/komparefile.sh "%u"
 +  X-Ubuntu-Gettext-Domain=desktop_dolphin
 +
 +Dans le cas indiqué ci-dessus, le fichier script **komparefile.sh** a été installé dans le répertoire **~/tools**.
 +
 +  #!/bin/bash
 +  # file: komparefile.sh
 +  # http://developer.kde.org/documentation/tutorials/dot/servicemenus.html
 +  # check for number of arguments
 +  if [ "$1" == "" ]; then
 +  echo "Usage :"
 +  echo "   komparefile.sh filename1, record the first filename."
 +  echo "   komparefile.sh filename2, launch kompare on the two files."
 +  echo "   komparefile.sh filename1 filename2 do the same."
 +  exit 0
 +  fi
 +  
 +  export FILENAME1=$(echo /tmp/kde-`whoami`/comparefile1)
 +  
 +  if [ "$2" != "" ]; then
 +      kompare $1 $2 &
 +  if [ -f "$FILENAME1" ]; then
 +  # Clean up
 +  rm $FILENAME1
 +  fi
 +  exit 0
 +  fi
 +  
 +  # TODO: with the desktop action parameter %U
 +  # we only have one argument $1 which may contain multiple urls.
 +  # Should check if $1 contains multiple filenames
 +  # Now, because of the use of parameter "%u",
 +  # it recursively takes care of two files at a time.
 +  # which is not intended.
 +  
 +  if [ -f "$FILENAME1" ]; then
 +  echo "komparer les fichiers"
 +  export file1=$(cat $FILENAME1);
 +  echo file1 : $file1
 +  echo file2 : $1
 +    kompare $file1 $1 &
 +  rm $FILENAME1
 +  exit 0
 +  else
 +  echo "sauver le nom de fichier"
 +  echo file1 : $1
 +  echo $1 > $FILENAME1;
 +  fi
 +
 +D'autres extensions sont possibles mais nécessitent un peu de programmation supplémentaire: comme par exemple comparer deux répertoires, ou aussi comparer plus de deux fichiers en même temps. En l'état actuel, comme indiqué dans les commentaires du script, si plus de deux fichiers sont sélectionnés, le script les compare deux par deux et non pas tous à la fois.
 +===== Suppression sécurisée de fichier avec shred =====
 +  [Desktop Entry]
 +  Type=Service
 +  ServiceTypes=KonqPopupMenu/Plugin,all/allfiles
 +  Actions=shred
 +  
 +  [Desktop Action shred]
 +  Name=Suppr with shred
 +  Name[fr]=Suppression sécurisée
 +  Icon=draw-eraser
 +  Exec=shred -n 35 -z -u %U
 +Fonctionne sous kde 4.3
 +
 +Contributeur : [[utilisateurs:hizoka|hizoka]]
 +
 +===== Compiler le fichier Makefile du dossier =====
 +Compatible avec KDE 4.3.
 +
 +    [Desktop Entry]
 +    Type=Service
 +    ServiceTypes=KonqPopupMenu/Plugin
 +    MimeType=all/all;
 +    Actions=compile
 +    
 +    [Desktop Action compile]
 +    Name=Compile the Makefile
 +    Name[fr]=Compile le fichier Makefile
 +    Exec=make && echo
 +    
 +===== Redimensionner un groupe d'images ===
 +Afin d'avoir un équivalent sous KDE avec Dolphin à l'excellent nautilus-image-converter qui tourne sous Gnome avec Nautilus.
 +
 +Scripts validés sou KDE 4.8 (Kubuntu 12.04).
 +
 +  *  En changeant le nom d'origine :
 +<code>
 +[Desktop Action r1920]
 +Exec=/bin/sh -c "convert %f -resize 1920x1920 "`echo %f | awk -F . '{print $1 "_1920." $NF}'`""
 +Icon=
 +Name=1920
 +
 +[Desktop Action r1680]
 +Exec=/bin/sh -c "convert %f -resize 1680x1680 "`echo %f | awk -F . '{print $1 "_1680." $NF}'`""
 +Icon=
 +Name=1680
 +
 +[Desktop Action r1280]
 +Exec=/bin/sh -c "convert %f -resize 1280x1280 "`echo %f | awk -F . '{print $1 "_1280." $NF}'`""
 +Icon=
 +Name=1280
 +
 +[Desktop Action r1024]
 +Exec=/bin/sh -c "convert %f -resize 1024x1024 "`echo %f | awk -F . '{print $1 "_1024." $NF}'`""
 +Icon=
 +Name=1024
 +
 +[Desktop Action r800]
 +Exec=/bin/sh -c "convert %f -resize 800x800 "`echo %f | awk -F . '{print $1 "_800." $NF}'`""
 +Icon=
 +Name=800
 +
 +[Desktop Action r640]
 +Exec=/bin/sh -c "convert %f -resize 640x640 "`echo %f | awk -F . '{print $1 "_640." $NF}'`""
 +Icon=
 +Name=640
 +
 +[Desktop Action r320]
 +Exec=/bin/sh -c "convert %f -resize 320x320 "`echo %f | awk -F . '{print $1 "_320." $NF}'`""
 +Icon=
 +Name=320
 +
 +[Desktop Entry]
 +Actions=r1920;r1680;r1280;r1024;r800;r640;r320;
 +MimeType=
 +ServiceTypes=
 +Type=Service
 +X-KDE-ServiceTypes=KonqPopupMenu/Plugin,,image/jpeg,image/png
 +X-KDE-Submenu=RedimensionnerChangeNom
 +</code>
 +
 +  *  En écrasant le fichier d'origine :
 +<code>
 +[Desktop Action r1024]
 +Exec=convert %f -resize 1024x1024 %f
 +Icon=
 +Name=1024
 +
 +[Desktop Action r1920]
 +Exec=convert %f -resize 1920x1920 %f
 +Icon=
 +Name=1920
 +
 +[Desktop Action r1280]
 +Exec=convert %F -resize 1280x1280 "%f
 +Icon=
 +Name=1280
 +
 +[Desktop Action r1680]
 +Exec=convert %F -resize 1680x1680 %f
 +Icon=
 +Name=1680
 +
 +[Desktop Action r640]
 +Exec=convert %F -resize 640x640 %f
 +Icon=
 +Name=640
 +
 +[Desktop Action r800]
 +Exec=convert %F -resize 800x800 %f
 +Icon=
 +Name=800
 +
 +[Desktop Action r320]
 +Exec=convert %F -resize 320x320 %f
 +Icon=
 +Name=320
 +
 +[Desktop Entry]
 +Actions=r1920;r1680;r1280;r1024;r800;r640;r320;
 +MimeType=
 +ServiceTypes=
 +Type=Service
 +X-KDE-ServiceTypes=KonqPopupMenu/Plugin,,image/jpeg,image/png
 +X-KDE-Submenu=RedimensionnerEcraseAncien
 +</code>
 +
 +===== Créer une archive et la couper en morceaux ===
 +Pour créer une archive 7z et la couper en morceaux de 2Mo ou 20Mo.
 +Utile pour envoyer de gros fichiers par email.
 +
 +<code>
 +[Desktop Action DecoupeFichiers20Mo]
 +Name=en fichiers de 20Mo
 +Icon=
 +Exec=cd %d && 7z a -v20m -mx=0 "%u".7z "%f"
 +
 +[Desktop Action DecoupeFichiers2Mo]
 +Name=en fichiers de 2Mo
 +Icon=
 +Exec=cd %d && 7z a -v2m -mx=0 "%u".7z "%f"
 +
 +[Desktop Entry]
 +Actions=DecoupeFichiers2Mo;DecoupeFichiers20Mo;
 +MimeType=
 +ServiceTypes=all/all
 +Type=Service
 +ExcludeServiceTypes=application/x-zip,application/x-7z,application/x-iso,application/x-bzip2,application/x-tgz,kdedevice/*
 +X-KDE-ServiceTypes=KonqPopupMenu/Plugin,,inode/directory,all/allfiles
 +X-KDE-Submenu=Archiver en 7z et couper
 +</code>
 +
 +Source [[http://forum.ubuntu-fr.org/viewtopic.php?pid=11047721#p11047721]]
 +
 +===== Sources =====
 +[[http://forum.kubuntu-fr.org/viewtopic.php?pid=1156934]]
 +
 +[[http://forum.ubuntu-fr.org/viewtopic.php?id=315411|Quelques infos également sur les services menu de KDE 4.2]]
 +----
 +Contributeur : [[utilisateurs:did]]