#1 Le 03/09/2007, à 17:57
- did
Centralisation des "service menus" sous Konqueror
Salut,
EDIT : Une page à été créée dans la doc :http://doc.kubuntu-fr.org/service_menus, merci d'y reporter vos service menus.
Ce sujet reste bien-sûr actif pour discuter des services menu et pour annoncer vos nouvelles créations, mais je ne pense pas continuer à tenir à jour ce premier message.
Un service menu est un action disponible à partir du clic droit sur un fichier/repertoire dans Konqueror.
Il s'agit d'un simple .desktop localisé dans ~/.kde/share/apps/konqueror/servicemenus
Je crée ce sujet pour essayer de regrouper ici les service menus que vous utilisez et dont vous ne pouvez plus vous passer.
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.
On peut en télécharger toutes sortes service menus supplémentaires sur KDE-Apps.org, et vous trouverez des infos et des exemples sur la création d'un service menu ici (fr), là (en) ou là (en).
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 … AsRootMenu (J'ai modifié le script original en remplaçant kwrite par kate).
Attacher un fichier dans 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 %U
Source : http://www.coagul.org/article.php3?id_article=91
Convertir une vidéo avec mencoder, ffmpeg ou ffmpeg2theora
Plusieurs fonctionnalités sont proposées par ce service menu, voici un screenshot du menu développé :
Tous les détails ici : http://forum.kubuntu-fr.org/viewtopic.p … 9#p1150069
KoovFolder : mettre une image en apperçu de dossier.
Plusieurs possibilités assez originales :
V
Voici ce que donne le "tas de polaroà¯d" :
Toutes les infos : http://forum.kubuntu-fr.org/viewtopic.p … 4#p1156934
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.p … 9#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.p … 3#p1277583
A+
Dernière modification par did (Le 03/12/2007, à 00:04)
Hors ligne
#2 Le 03/09/2007, à 22:03
- camembert
Re : Centralisation des "service menus" sous Konqueror
Merci did ... le premier "servicemenu" m'a permis de mettre les pochettes d'albums d'une partie de ma collection à la place des répertoires déjà très beaux du thème Crystal SVG ...grâce aux images contenues déjà contenues à l'intérieur de ceux-ci..et quand elles n'étaient pas en .png, le service KIM permet d'en faire la conversion directement.
Bon, pour être honnête, c'est un petit plus qui relève davantage de la coquetterie pour moi... mais qui a de l'importance pour beaucoup et est très demandé en ce moment (voir fil d'Arbre Ciré par exemple ici : http://forum.kubuntu-fr.org/viewtopic.php?id=141771 ).
Cordialement
Camembert
PS : Je détaille pour les débutants qui veulent mettre en icônes les jaquettes de leurs CD téléchargés avec image de pochette :
il faut ouvrir Kate en premier (menu K -> Utilitaires -> Kate) et copier le premier mini-programme donné en haut par did, le coller dans Kate, le sauvegarder sous le nom xxxxxxx.desktop dans le répertoire /home/nom_utilisateur/.kde/share/apps/konqueror/servicemenus (Kate -> Fichier -> Enregistrer sous ...).
Dans le répertoire où on veut changer l'icône par une image, on copie à l'intérieur l'image voulue -si ce n'est pas déjà le cas- on la convertit -si ce n'est pas déjà fait- en .png grâce à KIM [KDE Image Manager, paquet konq-kim qui s'installe à partir de Adept ou de Synaptic ; le clic droit sur une image et le sous-menu "action" propose les services de KIM notamment en conversion de format d'images], et finalement l'option du clic droit "mettre l'image en aperçu du dossier" doit être cliquée...et c'est enfin fini
Attention piège ! --> si l'image .png n'est pas contenue DANS le répertoire dont on veut changer l'icône, on n'aura pas dans le menu contextuel du clic droit l'option " Mettre l'image en aperçu du dossier".
EDIT : voir post #4 de did ci-dessous pour la méthode avec un plugin d'Amarok qui s'appelle CopyCover .
Dernière modification par camembert (Le 03/09/2007, à 22:57)
Hors ligne
#3 Le 03/09/2007, à 22:20
- jajaX
Re : Centralisation des "service menus" sous Konqueror
hello
bonne idée je trouve. sans passer par ta méthode, j'ai "associé" les répertoires à Amarok pour pouvoir les ouvrir directement "un peu à la winamp" mais attention, j'ai du changer l'ordre ensuite car sinon tous les répertoires s'ouvraient avec amarok...
merci camembert pour la méthode
merci did aussi évidement
@+
jajaX
Asus X93SM-YZ157V / Asus X93SM-YZ065V sous KDE Neon
ASUS K95VB sous Kubuntu 22.04 Jammy Jellyfish (64 bits) / ACER Aspire 5612 WLMI sous Kubuntu 18.04 Bionic Beaver (32 bits)
Hors ligne
#4 Le 03/09/2007, à 22:23
- did
Re : Centralisation des "service menus" sous Konqueror
Ok, par contre il existe un script dans Amarok qui fait ça automatiquement, c'est Copycover.
Il faut l'activer (outil --> gestionnaire de script) et de choisir dans les paramètres "change icon folder". A partir de là, à la lecture d'un fichier dont l'album a une jaquette attribuée (Outil --> gestionnaire de jaquette), l'icone du dossier de l'album est remplacé par cette jaquette.
Je sais pas si je suis très clair, mais dans la pratique, c'est très simple. En gros il suffit :
- d'activer le script Copycover avec l'option qui va bien (à faire la première fois, une fois pour toutes)
Puis pour chaque album :
- attribuer une jaquette à l'album (elle se télécharge automatiquement via le gestionnaire de jaquette)
- lire un fichier de l'album
Et c'est tout! (ah si, une précision, il ne faut pas que le dossier de l'album contienne déjà une image (png ou jpeg) sinon ça marche pas).
A+
Dernière modification par did (Le 03/09/2007, à 22:34)
Hors ligne
#5 Le 03/09/2007, à 22:34
- jajaX
Re : Centralisation des "service menus" sous Konqueror
oui ok mais pour être clair, mon association de répertoires à amarok est pour lire son contenu (mp3 le plus souvent). c'est pour ça que je parle de winamp.
rien à voir avec les pochettes
@+
jajaX
Asus X93SM-YZ157V / Asus X93SM-YZ065V sous KDE Neon
ASUS K95VB sous Kubuntu 22.04 Jammy Jellyfish (64 bits) / ACER Aspire 5612 WLMI sous Kubuntu 18.04 Bionic Beaver (32 bits)
Hors ligne
#6 Le 03/09/2007, à 22:38
- did
Re : Centralisation des "service menus" sous Konqueror
oui ok mais pour être clair, mon association de répertoires à amarok est pour lire son contenu (mp3 le plus souvent). c'est pour ça que je parle de winamp.
rien à voir avec les pochettes
Ok, en fait nos posts ce sont croisés, c'était plus pour expliquer ce truc à Camembert qui, si j'ai bien compris à attribué toutes ses jaquettes manuellement.
Sinon j'ai pas vraiment compris la manip que tu as effectué. Dans les associations de fichier tu as attribué les répertoires à Amarok? Mais si c'est le cas, comment tu fais pour naviguer dans tes dossiers, c'est toujours Amarok qui se lance au moindre clic? Non, j'ai du louper quelque chose...
Hors ligne
#7 Le 03/09/2007, à 22:46
- camembert
Re : Centralisation des "service menus" sous Konqueror
Merci did ...je comprends pourquoi j'ai eu des soucis avec Copycover (j'ai déjà les jaquettes dans les répertoires d'album, souvent en plusieurs formats) tu fais bien de le préciser pour celles et ceux que ça intéresse...je fais un renvoi sur ton post
Pas de quoi jajax, je ne fais que suivre les indications de did sur les "servicemenus" que je découvre .
Dernière modification par camembert (Le 03/09/2007, à 22:59)
Hors ligne
#8 Le 03/09/2007, à 22:54
- did
Re : Centralisation des "service menus" sous Konqueror
j'ai déjà les jaquettes dans lesrépertoires d'album, souvent en plusieurs formats
Bah c'est un truc qui m'a fait pas mal galérer moi aussi, avant de comprendre où ça coinçait.
Si tu ne veux pas effacer tes jaquettes, tu peux les copier dans un sous-répertoire "Covers" qui contient toutes tes images de l'album. De façon Copycover marche à tous les coups. C'est ce que je fait.
Cela dit, le service menu qui permet d'utiliser une image comme dossier reste utile quand il ne s'agit d'un dossier musical.
A+
Dernière modification par did (Le 03/09/2007, à 23:04)
Hors ligne
#9 Le 03/09/2007, à 23:27
- Arbre Ciré
Re : Centralisation des "service menus" sous Konqueror
bonsoir,
je rejoints le train en marche !
juste une petite avance,
la mise en icône d'une image pour un répertoire
peut fonctionner quelque soit le type d'image.
le blog blog.bmaron.net/.../Apercu-du-dossier-dans-Konqueror
à évolué.
il faut aller voir dans les commentaires.
cela fonctionne pour les albums photos,les vidéo, etc.
je te remercie pour tous les liens,
c'est très pratique les services menus ...
une petite question, sais tu ce que l'on peut mettre dans le fichier .directory ?
je voudrais pourvoir adapter l'affichage par défaut au contenu ...
merci
Hors ligne
#10 Le 03/09/2007, à 23:35
- did
Re : Centralisation des "service menus" sous Konqueror
la mise en icône d'une image pour un répertoire
peut fonctionner quelque soit le type d'image.
le blog blog.bmaron.net/.../Apercu-du-dossier-dans-Konqueror
à évolué.
il faut aller voir dans les commentaires.
cela fonctionne pour les albums photos,les vidéo, etc.
Ok, merci pour l'info, je vais y jeter un coup d'œil et je modifierai mon post en consequence.
une petite question, sais tu ce que l'on peut mettre dans le fichier .directory ?
Ben non, pas vraiment, à part l'icone du répertoire, je sais pas. Il y a effectivement peut-être d'autres trucs intéressant à trouver. Tiens nous au courant si tu découvre quelque chose.
A+
Dernière modification par did (Le 03/09/2007, à 23:35)
Hors ligne
#11 Le 03/09/2007, à 23:37
- compte supprimé
Re : Centralisation des "service menus" sous Konqueror
(manque juste les services menu de Dolphin, surtout en ce qui concerne Ark)
Bonne initiative ce fil
#12 Le 03/09/2007, à 23:38
- jajaX
Re : Centralisation des "service menus" sous Konqueror
jajaX a écrit :oui ok mais pour être clair, mon association de répertoires à amarok est pour lire son contenu (mp3 le plus souvent). c'est pour ça que je parle de winamp.
rien à voir avec les pochettes
Ok, en fait nos posts ce sont croisés, c'était plus pour expliquer ce truc à Camembert qui, si j'ai bien compris à attribué toutes ses jaquettes manuellement.
Sinon j'ai pas vraiment compris la manip que tu as effectué. Dans les associations de fichier tu as attribué les répertoires à Amarok? Mais si c'est le cas, comment tu fais pour naviguer dans tes dossiers, c'est toujours Amarok qui se lance au moindre clic? Non, j'ai du louper quelque chose...
alors comme je l'ai pas précisé, je suis passé par le "ouvrir avec" de konqueror. effectivement tous les dossiers s'ouvraint avec lui ensuite. pour résoudre le problème, il m'a suffit de le descendre dans les associations de fichiers concernant les "directory".
@+
jajaX
Asus X93SM-YZ157V / Asus X93SM-YZ065V sous KDE Neon
ASUS K95VB sous Kubuntu 22.04 Jammy Jellyfish (64 bits) / ACER Aspire 5612 WLMI sous Kubuntu 18.04 Bionic Beaver (32 bits)
Hors ligne
#13 Le 03/09/2007, à 23:41
- did
Re : Centralisation des "service menus" sous Konqueror
(manque juste les services menu de Dolphin, surtout en ce qui concerne Ark)
Ben j'avoue que je n'ai pas encore testé Dolphin, j'attends Gutsy. Et puis c'est vrai que je l'aime bien mon Konqueror.
Mais que cette question pour Dolphin mérite probablement un topic également.
Si quelqu'un à déjà des infos sur la question et qu'il se sent motivé...
Hors ligne
#14 Le 03/09/2007, à 23:48
- did
Re : Centralisation des "service menus" sous Konqueror
alors comme je l'ai pas précisé, je suis passé par le "ouvrir avec" de konqueror. effectivement tous les dossiers s'ouvraint avec lui ensuite. pour résoudre le problème, il m'a suffit de le descendre dans les associations de fichiers concernant les "directory".
Ok, donc tu passes par le clic droit, c'est pas bête.
Bon cela-dit, il suffit de sélectionner les fichiers pour les envoyer directement dans Amarok, c'est un peu plus de manipulation mais ça me convient surtout que la plupart du temps (toujours) je passe par ma collection dans Amarok : un simple clic ou un glisser/déposer suffit pour sélectionner un album.
Mais c'est une grande force de KDE, sa grande configurabilité (je suis pas sûr que ce mot existe...). L'ergonomie reste un concept assez personnel...
A+
Hors ligne
#15 Le 04/09/2007, à 01:07
- did
Re : Centralisation des "service menus" sous Konqueror
J'ai modifié le service menu qui permet d'utiliser une image comme aperçu de dossier.
Grâce à Arbre Ciré, ça fonctionne maintenant avec tout type d'image .
Hors ligne
#16 Le 04/09/2007, à 06:18
- EdLeH
Re : Centralisation des "service menus" sous Konqueror
Bonjour
J'ai modifié le service menu "konqkonv" (http://www.kde-apps.org/content/show.php?content=30455) qui permet de convertir des vidéos pour lui ajouter 2-3 choses dont j'avais besoin.
Voici mon fichier ~/.kde/share/apps/konqueror/servicemenus/konqkonv.desktop :
[Desktop Entry]
ServiceTypes=video/*
Actions=2mjpeg;2mjpegPCM;2xvid;_SEPARATOR_;2ogg;_SEPARATOR_;flv2mjpeg-nosound;flv2mp3;_SEPARATOR_;2PALDVDfull;2PALDVDwide;2PALVCD;_SEPARATOR_;2NTSCDVDfull;2NTSCDVDwide;2NTSCVCD;_SEPARATOR_;ffPALDVDfull;ffPALDVDwide;ffPALVCD;_SEPARATOR_;ffNTSCDVDwide;ffNTSCDVDfull;ffNTSCVCD
X-KDE-Submenu=Réencoder (konqkonv)
Icon=package_multimedia
[Desktop Action 2mjpeg]
Name=mencoder convert to avi mjpeg copy
Icon=package_multimedia
Exec=konsole --noclose -e time mencoder -oac copy -ovc lavc -lavcopts vcodec=mjpeg:vhq -o %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(mjpeg-copy\).avi %u
[Desktop Action 2mjpegPCM]
Name=mencoder convert to avi mjpeg PCM
Icon=package_multimedia
Exec=konsole --noclose -e time mencoder -oac pcm -ovc lavc -lavcopts vcodec=mjpeg:vhq -o %d/`echo "%u" | sed 's/\/.*\///' | sed 's/\..*//'`\(mjpeg-PCM\).avi "%u"
[Desktop Action 2xvid]
Name=mencoder convert to avi xvid mp3
Icon=package_multimedia
Exec=konsole --noclose -e time mencoder -oac mp3lame -ovc lavc -lavcopts vcodec=xvid -o %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(xvid-mp3\).avi %u
[Desktop Action 2ogg]
Name=ffmpeg2theora convert to theora ogg
Icon=package_multimedia
Exec=konsole --noclose -e time ffmpeg2theora %u
[Desktop Action flv2mjpeg-nosound]
Name=mencoder flv to avi mjpeg nosound
Icon=package_multimedia
Exec=konsole --noclose -e time mencoder -nosound -ovc lavc -lavcopts vcodec=mjpeg:vhq -o %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(mjpeg-nosound\).avi %u
[Desktop Action flv2mp3]
Name=mencoder flv to mp3 novideo
Icon=package_multimedia
Exec=konsole --noclose -e time mplayer -dumpaudio -dumpfile %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(mp3\).mp3 %u
[Desktop Action 2PALDVDfull]
Name=mencoder convert to Fullscreen PAL DVD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=352:576,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:abitrate=192:aspect=4/3 -ofps 25 -o %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(PAL-DVD-full\).mpg %u
[Desktop Action 2PALDVDwide]
Name=mencoder convert to Widescreen PAL DVD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 -o %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(PAL-DVD-Widescreen\).mpg %u
[Desktop Action 2PALVCD]
Name=mencoder convert to PAL VCD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 -o %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(PAL-VCD\).mpg %u
[Desktop Action 2NTSCDVDfull]
Name=mencoder convert to Fullscreen NTSC DVD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=352:480,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:acodec=ac3:abitrate=192:aspect=4/3 -ofps 30000/1001 -o %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(NTSC-DVD-full\).mpg %u
[Desktop Action 2NTSCDVDwide]
Name=mencoder convert to Widescreen NTSC DVD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 -o %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(NTSC-DVD-Widescreen\).mpg %u
[Desktop Action 2NTSCVCD]
Name=mencoder convert to NTSC VCD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 -o %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(NTSC-VCD\).mpg %u
[Desktop Action ffPALDVDfull]
Name=ffmpeg convert to Fullscreen PAL DVD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time ffmpeg -i %u -target pal-dvd -aspect 4:3 %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(ffPALDVDfull\).mpg
[Desktop Action ffPALDVDwide]
Name=ffmpeg convert to Widescreen PAL DVD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time ffmpeg -i %u -target pal-dvd -aspect 16:9 %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(ffPALDVDwide\).mpg
[Desktop Action ffPALVCD]
Name=ffmpeg convert to PAL VCD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time ffmpeg -i %u -target pal-vcd %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(ffPALVCD\).mpg
[Desktop Action ffNTSCDVDfull]
Name=ffmpeg convert to Fullscreen NTSC DVD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time ffmpeg -i %u -target ntsc-dvd -aspect 4:3 %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(ffNTSCDVDfull\).mpg
[Desktop Action ffNTSCDVDwide]
Name=ffmpeg convert to Widescreen NTSC DVD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time ffmpeg -i %u -target ntsc-dvd -aspect 16:9 %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(ffNTSCDVDwide\).mpg
[Desktop Action ffNTSCVCD]
Name=ffmpeg convert to NTSC VCD MPEG
Icon=package_multimedia
Exec=konsole --noclose -e time ffmpeg -i %u -target ntsc-vcd %d/`echo %u | sed 's/\/.*\///' | sed 's/\..*//'`\(ffNTSCVCD\).mpg
Si ça peut servir...
O-
Pascal
Hors ligne
#17 Le 04/09/2007, à 07:04
- did
Re : Centralisation des "service menus" sous Konqueror
Cool, je viens de le tester, ça à l'air de bien fonctionner chez moi. Je le rajoute dans la liste. Merci.
(Je sens qu'on va apprendre plein de truc sympa ici... )
Hors ligne
#18 Le 05/09/2007, à 23:13
- Arbre Ciré
Re : Centralisation des "service menus" sous Konqueror
Bonsoir,
Je viens de trouver un bug ! dans le script de conversion d'image en icône de répertoire.
Je ne sais pas si c'est du à Linux, KDE ou Konqueror, mais ...
Si une image n'est pas carrée, lors de sa mise en icône, elle est étirée pour devenir un carré !
en image cela donne :
C'est moche
J'ai cherché à comprendre, et si j'ai trouvé le remède, je n'ai pas la cause !
Pour éviter cela il faut absolument que l'image soit carrée !
donc j'ai ajouté un fond transparent lors de la conversion image vers Icône.
did, peux tu faire la mise à jour de la partie script ?
# Création de la miniature
#A Faire, pouvoir utiliser une "trame de fond"
# Concaténer les 2 images, positionner la 2ème correctement
# Supprimer le dièse de la conversion voulue
# Conversion 1 - sans retouche
# convert "$IMAGE" .directory.png
# Conversion 2 - extraction du centre de l'image (1/3) reduction à 100x100
# convert "$IMAGE" -thumbnail x300 -resize '300x<' -resize 50% -gravity center -crop 100x100+0+0 .directory.png
# Conversion 3 - Réduction de la taille 128x128 et centrage (pour les vidéos et autres images rectangulaires)
# montage "$IMAGE" -tile x1 -geometry '128x128+0+0>' -background Transparent .directory.png
# Création de l'aperçu
laconversion #3 donne maintenant une image qui tient dans un carré sans être déformée.
Et tout ça d'un simple clic-droit !
Ce script va surement encore évoluer ... il y a des A faire !
je comprends parfois, quand on m'explique longtemps !!!
alors, patience ...
Hors ligne
#19 Le 05/09/2007, à 23:33
- did
Re : Centralisation des "service menus" sous Konqueror
Je viens de le mettre à jour. Tu devrais vérifier que je ne me suis pas trompé.
A+
Hors ligne
#20 Le 05/09/2007, à 23:38
- Arbre Ciré
Re : Centralisation des "service menus" sous Konqueror
merci did,
c'est ok !
si tu préfères, je peux ce genre de réponse en MP, cela n'apporete pas grand chose sur le forum.
Hors ligne
#21 Le 06/09/2007, à 00:03
- did
Re : Centralisation des "service menus" sous Konqueror
Ben comme tu veux, cela ne me dérange pas.
A+
Hors ligne
#22 Le 07/09/2007, à 01:59
- alexnihilo
Re : Centralisation des "service menus" sous Konqueror
Salut,
J'ai modifié le service menu pour afficher les images d'un dossier sur son icone.
On peut sélectionner une image comme couverture de dossier, ou bien utiliser la première image d'un dossier comme telle. Il y a donc deux sevices menus (un pour les fichiers images et un autre pour les dossiers). Mais il n'y a qu'un script, baptisé KoovFolder.sh à créer dans /usr/local/bin.
Voici le premier service menu.
#alexnihilo / sept - 2007
# Assigner une image comme icone du dossier
# A copier dans un fichier baptisé KoovFolderImage.desktop dans ~/.kde/share/apps/konqueror/servicemenus/
[Desktop Entry]
Actions=ImagePreview;OverlayedImage;FolderFigure;ImageOnFolder;Polaroid;Polaroid2
Encoding=UTF-8
ServiceTypes=image/*
Icon=folder_image
X-KDE-Submenu=Koov - Set as Folder preview
X-KDE-Submenu[fr]=Koov - Définir comme couverture du dossier
[Desktop Action ImagePreview]
Name=Image preview
Name[fr]=Image complete
Exec=(cd %d && KoovFolder.sh %n Image)
Icon=background
X-KDE-Priority=TopLevel
[Desktop Action OverlayedImage]
Name=Image and tiny folder
Name[fr]=Image et mini dossier
Exec=(cd %d && KoovFolder.sh %n OverlayedImage)
Icon=folder
[Desktop Action FolderFigure]
Exec=(cd %d && KoovFolder.sh %n Figure)
Name=Image on Folder Figure
Name[fr]=Image sur la silhouette du dossier
Icon=folder
[Desktop Action ImageOnFolder]
Exec=(cd %d && KoovFolder.sh %n Tiny)
Name=Tiny Image on Folder
Name[fr]=Petite image sur le dossier
Icon=folder_image
[Desktop Action Polaroid]
Exec=(cd %d && KoovFolder.sh %n Polaroid)
Name=photo
Name[fr]=polaroid
Icon=image
[Desktop Action Polaroid2]
Exec=(cd %d && KoovFolder.sh %n Polaroid2)
Name=Stack of photos
Name[fr]=Tas de polaroids
Icon=image
#[Desktop Action Polaroid3]
# Exec=(cd %d && KoovFolder.sh %n Polaroid3)
# Name=Image on Folder Figure
# Name[fr]=Trois polaroids
#Icon=image
Voici le deuxième:
#alexnihilo / sept - 2007
# Assigner une image comme icone du dossier (appliqué au dossier)
# A copier dans un fichier baptisé KoovFolder.desktop dans ~/.kde/share/apps/konqueror/servicemenus/
[Desktop Entry]
Actions=ImagePreview;OverlayedImage;FolderFigure;ImageOnFolder;Polaroid;Polaroid2;CleanFolder
Encoding=UTF-8
ServiceTypes=inode/directory
Icon=folder_image
X-KDE-Submenu=&Koov - Change Folder Cover
X-KDE-Submenu[fr]=&Koov - Changer la couverture du dossier
X-KDE-Priority=TopLevel
[Desktop Action ImagePreview]
Name=Image preview
Name[fr]=Image complete
Exec=(cd %f && KoovFolder.sh %n Image)
Icon=background
[Desktop Action OverlayedImage]
Name=Image and tiny folder
Name[fr]=Image et mini dossier
Exec=(cd %f && KoovFolder.sh %n OverlayedImage)
Icon=folder
[Desktop Action FolderFigure]
Exec=(cd %f && KoovFolder.sh %n Figure)
Name=Image on Folder Figure
Name[fr]=Image sur la silhouette du dossier
Icon=folder
[Desktop Action ImageOnFolder]
Exec=(cd %f && KoovFolder.sh %n Tiny)
Name=Tiny Image on Folder
Name[fr]=Petite image sur le dossier
Icon=folder_image
[Desktop Action Polaroid]
Exec=(cd %f && KoovFolder.sh %n Polaroid)
Name=photo
Name[fr]=Polaroid
Icon=image
[Desktop Action Polaroid2]
Exec=(cd %f && KoovFolder.sh %n Polaroid2)
Name=Stack of photos
Name[fr]=Tas de polaroids
Icon=image
[Desktop Action CleanFolder]
Name=Back to Standard Folder Icon
Name[fr]=Retour à l'Icone par défaut
Icon=folder
Exec=(cd %f && KoovFolder.sh %n Standard)
#[Desktop Action Polaroid3]
#Exec=(cd %f && KoovFolder.sh %n Polaroid3)
# Name=Image on Folder Figure
#Name[fr]=Trois polaroids
#Icon=image
Enfin, voilà le script:
#!/bin/bash
#!/bin/bash
#alexnihilo / sept - 2007
# Assigner une image comme icone du dossier
# En tant que root, créer un fichier nommé KoovFolder.sh dans /usr/local/bin/
# puis rendre ce fichier exécutable (#chmod 755 /usr/local/bin/KoovFolder.sh)
# BUG: avec fichier <200 o 100px
# BUG: avec gif anime (autant de fichiers que d'étapes d'animations)
# TODO: ajouter la sélection aléatoire de différents fichiers
# TODO: meilleure sélection pour récupérer le dossier standard du thème sélectionné ds KDE (icon_folder)
# TODO: améliorer modes d'affichages possibles
# TODO: créer possibilité de traiter les répertoires de manière récursives (via kdialog) puis boucle.
#profondeur de couleur pour les icones
COL_DEPTH=16
#On teste si la référence d'une image précise est donnée par l'appel au script
if [[ -f $1 ]]
then
IMAGE=$1
else
#sinon, on prend la première image
IMAGE=`ls | grep .png | head -n 1`
#if [[ -z $IMAGE ]]
# IMAGE=`ls | grep .jpg| head -n 1`
#fi
fi
##s'il n'y a pas d'image, on envoie un message et on sort.
## désactivé au cas où on développe approche récursive pour plusieurs répertoires
#if [[ -z $IMAGE ]]
#then
#kdialog --title "Koov" --sorry "Pas d'image disponible dans le dossier"
#exit 0
#fi
#on efface le fichier Cover du dossier s'il existe déjà
rm ./.cover.png
### référence de l'icone de dossier standard
THEME_ICON=$(cat $HOME/.kde/share/config/kdeglobals| grep Theme | cut -f2 -d'=' -s)
ICON_PATH=$HOME"/.kde/share/icons/"
icon_folder=$ICON_PATH$THEME_ICON"/128x128/filesystems/folder.png"
if [[ -z $icon_folder ]]
then
ICON_PATH=$(kde-config --path icon | cut -f2 -d':' -s)
icon_folder=$ICON_PATH$THEME_ICON"/128x128/filesystems/folder.png"
if [[ -z $icon_folder ]]
then
icon_folder="/usr/share/icons/default.kde/128x128/filesystems/folder.png"
fi
fi
## on effectue une première conversion de l'image
convert "$IMAGE" -thumbnail x200 -resize '200x<' -resize 50% -gravity center -crop 100x100+0+0 -format png -depth $COL_DEPTH -quality 95 ./.cover.png
new_icon=./.cover.png
##puis, selon choix, on applique différents filtres.
case $2 in
"OverlayedImage")
###image simple + icone dossier en miniature
convert "$IMAGE" -thumbnail x200 -resize '200x<' -gravity NorthWeast -resize 50% -crop 100x100+0+0 ./.cover.png
convert $icon_folder -geometry 40x40 -format png ./.mini-folder.png
composite -compose src-over ./.mini-folder.png ./.cover.png -gravity SouthEast -format png -format png -depth $COL_DEPTH -quality 95 ./.cover.png
rm ./.mini-folder.png
;;
"Figure")
###image suit silhouette du dossier
convert "$IMAGE" -thumbnail x250 -resize 'x250<' -resize 60% -gravity center -crop 250x250\+0+0 ./.cover.png
composite -compose atop ./.cover.png $icon_folder -gravity center -format png -format png -depth $COL_DEPTH -quality 95 ./.cover.png
composite -compose overlay $icon_folder ./.cover.png -gravity center -format png -format png -depth $COL_DEPTH -quality 95 ./.cover.png
* ;;
"Tiny")
###image en miniature sur le dossier
convert "$IMAGE" -thumbnail x200 -resize '200x<' -resize 30% -gravity center -crop 80x80\+0+0 -bordercolor black -border 1 ./.cover.png
composite -compose src-over ./.cover.png $icon_folder -gravity SouthWest -format png -format png -depth $COL_DEPTH -quality 95 ./.cover.png
;;
###impression photo-polaroid
"Polaroid")
convert ./.cover.png -bordercolor white -border 6 -bordercolor grey60 -border 1 -background none -rotate -6 -background black \( +clone -shadow 60x4+4+4 \) +swap -background none -flatten -format png -depth $COL_DEPTH -quality 95 ./.cover.png
;;
###tas de photos polaroid
"Polaroid2")
convert ./.cover.png \
-bordercolor white -border 6 \
-bordercolor grey60 -border 1 \
-bordercolor none -background none \
\( -clone 0 -rotate `perl -e 'print rand() * 30 - 15'` \) \
\( -clone 0 -rotate `perl -e 'print rand() * 30 - 15'` \) \
\( -clone 0 -rotate `perl -e 'print rand() * 30 - 15'` \) \
\( -clone 0 -rotate `perl -e 'print rand() * 30 - 15'` \) \
-delete 0 -border 100x80 -gravity center \
-crop 200x160+0+0 +repage -flatten -trim +repage \
-background black \( +clone -shadow 60x4+4+4 \) +swap \
-background none -flatten \
-format png -depth $COL_DEPTH -quality 95 ./.cover.png
;;
### marche mal, appel supprimé ds les services menus
"Polaroid3")
rm ./tmp/.cover2.png
convert "$IMAGE2" -thumbnail x200 -resize '150x' -resize 50% -gravity center -crop 100x100+0+0 /tmp/.cover2.png
convert -size 150x150 xc:none -background none -fill white -stroke grey60 \
-draw "rectangle 0,0 130,100" ./.cover.png \
-geometry +5+5 -composite -rotate -10 \
-draw "rectangle 0,0 130,100" /tmp/.cover2.png \
-geometry +5+5 -composite -rotate -10 \
-draw "rectangle 0,0 130,100" ./.cover.png\
-geometry +5+5 -composite -rotate +10 \
-trim +repage -background transparent -flatten \
-format png -depth $COL_DEPTH -quality 95 ./.cover.png
;;
"Standard")
rm ./.cover.png
new_icon=folder
;;
esac
# Mise à jour du fichier .directory ou création du fichier s'il existe
if [[ -f .directory ]]
then
PREVIOUS_ICON="$(cat .directory | grep Icon | cut -f2 -d'=' -s)"
if [[ -n $PREVIOUS_ICON ]]
then
touch .tmp_directory
cp .directory .tmp_directory
sed -e "s|$PREVIOUS_ICON|$new_icon|g" ./.tmp_directory > ./.directory
#kdialog --title "Koov" --sorry "$PREVIOUS_ICON+$new_icon"
rm ./.tmp_directory
else
echo "Icon=$new_icon" >> .directory
fi
else
touch .directory
echo "[Desktop Entry]" > .directory
echo "Icon=$new_icon" >> .directory
fi
Voilà, c'est une première ébauche. Les bugs et les modifs à apporter sont signalées dans le script, n'hésitez pas à contribuer !
Dernière modification par alexnihilo (Le 10/09/2007, à 07:35)
Intrepid Ibex sur Toshiba U200-163
Faisons les choses sérieusement sans nous prendre au sérieux
mes conseils pour bien travailler sur ordinateur
Hors ligne
#23 Le 07/09/2007, à 07:26
- did
Re : Centralisation des "service menus" sous Konqueror
Salut,
Très sympa, je viens de tester rapidement, ça a l'air de bien fonctionner.
Quelques commentaires.
Serait-il possible que l'action "effacer le fichier .directory" efface également le fichier .cover.png? Ça éviterait de la faire à la main. De même, j'aurais plutôt appelé cette action "revenir à l'image par défaut" ou quelque chose comme ça.
Deuxièmement, lorsque je fait "Petite image sur dossier", l'icône du dossier n'est pas celle que j'utilise habituellement, mais l'icône du thème par défaut (je crois) de KDE.
Test plus poussé, dès que j'ai le temps.
À part ça, ça a l'air de rouler.
Je mettrait à jour dès que j'aurais un moment.
A+
Dernière modification par did (Le 07/09/2007, à 07:45)
Hors ligne
#24 Le 07/09/2007, à 09:57
- alexnihilo
Re : Centralisation des "service menus" sous Konqueror
Merci pour les encouragements.
Pour le retour à l'icone par défaut, effacer .directory est trop brutal (il peut y avoir un papier peint configurer dans le fichier aussi, par exemple). Il faut donc changer la dernière action du servicemenu KoovFolder.desktop et mettre ceci à la place (je met mon message précédent à jour):
[Desktop Action CleanFolder]
Name=Back to Standard Folder Icon
Name[fr]=Retour à l'Icone par défaut
Icon=folder
Exec=(cd %f && KoovFolder.sh %n Standard)
puis, dans KoovFolder.sh, juste avant la ligne "esac" ajouter:
"Standard")
rm ./.cover.png
touch .directory
echo "[Desktop Entry]" > .directory
echo "Icon=folder" >> .directory
exit 0
;;
Pour l'icone de dossier, en revanche, je ne sais pas comment récupérer celui qui correspond au thème sélectionné plutôt qu'au thème par défaut.
A suivre...
Dernière modification par alexnihilo (Le 07/09/2007, à 10:35)
Intrepid Ibex sur Toshiba U200-163
Faisons les choses sérieusement sans nous prendre au sérieux
mes conseils pour bien travailler sur ordinateur
Hors ligne
#25 Le 07/09/2007, à 11:52
- alexnihilo
Re : Centralisation des "service menus" sous Konqueror
Re',
Pour l'icone, le code suivant devrait plus ou moins convenir,. Il faut le coller dans le script KoovFolder.sh à la place de la ligne icon_folder=...
### référence de l'icone de dossier standard
THEME_ICON=$(cat $HOME/.kde/share/config/kdeglobals| grep Theme | cut -f2 -d'=' -s)
ICON_PATH=$HOME"/.kde/share/icons/"
icon_folder=$ICON_PATH$THEME_ICON"/128x128/filesystems/folder.png"
if [[ -z $icon_folder ]]
then
ICON_PATH=$(kde-config --path icon | cut -f2 -d':' -s)
icon_folder=$ICON_PATH$THEME_ICON"/128x128/filesystems/folder.png"
if [[ -z $icon_folder ]]
then
icon_folder="/usr/share/icons/default.kde/128x128/filesystems/folder.png"
fi
fi
Mise à jour apportée sur le premier message.
Intrepid Ibex sur Toshiba U200-163
Faisons les choses sérieusement sans nous prendre au sérieux
mes conseils pour bien travailler sur ordinateur
Hors ligne