On Fri, Jan 09, 2009 at 02:08:08PM +0100, Sylvain Sauvage wrote: > J'avais trouvé ça : > http://legroom.net/2007/04/20/adding-custom-actions-kde-context-menus
Ok, cet article m'a bien lancé, et finalement je trouve la doc complète là: http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-0.9.4.html En appelant un petit shell qui utilise kdialog pour demander à quelle taille il faut re-dimensionner, je peux ensuite appeler mon autre script (je n'ai pas trouvé d'autre façon de demander des paramètres -- pas grave, ça fait une belle pop-up qui plaira aux utilisateurs). En récapitulant: Je créé un fichier ~/.kde/share/apps/konqueror/servicemenus/pictools.desktop (le nom est arbitraire tant qu'il fini en .desktop, et il est relu dynamiquement: pas besoin de redémarrer KDE à chaque fois (ouf)). Dans ce fichier j'ajoute une action à image/jpeg qui appelle le script: [Desktop Entry] ServiceTypes=image/jpeg Actions=resize [Desktop Action resize] Name=Resize Picture Exec=/usr/local/bin/kde_resize %F On peut spécifier plusieurs actions dans 'Actions' en les séparant avec un point-virgule et en multipliant les sections Desktop Action. Le %F permet bien de n'appeler qu'une fois le script, ce qui est mon but d'origine. Le script kde_resize est tout bète: #! /bin/sh size=`kdialog --inputbox "Target size:"` pic_resize $size $@ Et le script pic_resize est pas bcp plus intelligent, il utilise convert d'imagemagick: #! /usr/bin/perl -w use strict; use File::Copy; my $geometry = shift; foreach my $f (@ARGV) { my $bak = "$f.bak"; move $f, $bak or die "$f: $!"; system("/usr/bin/convert -thumbnail $geometry '$bak' '$f'"); } (Si j'avais le courage, je le ré-écrirais directement en shell dans kde_resize, mais comme ça il reste utilisable tel quel en ligne de commande.) Vu que tout ça se base sur la spec freedesktop, ça doit marcher aussi avec Gnome. Finalement, Gnome et KDE, c'est presque aussi bien que la ligne de commande, c'est simplement plus compliqué à mettre en place :-) Merci du coup de pouce! Y. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

