Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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é :
8a11997d276076f2ff97ecc79db4dt.jpg

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 :
Vd6e6d1a209109fe18f0d1b07bbf13.png

Voici ce que donne le "tas de polaroà¯d" :
faca7aa839669a3c3d191952dcfe5.png

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 smile

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 smile 
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 wink
merci did aussi évidement wink


@+
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 wink


@+
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

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 wink

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) smile  tu fais bien de le préciser pour celles et ceux que ça intéresse...je fais un renvoi sur ton post smile
Pas de quoi jajax, je ne fais que suivre les indications de did sur les "servicemenus" que je découvre smile .

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

camembert a écrit :

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 wink

#12 Le 03/09/2007, à 23:38

jajaX

Re : Centralisation des "service menus" sous Konqueror

did a écrit :
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 wink

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

jajaX a écrit :

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 wink .

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... wink)

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 :
93993e4bb074ca3e666ad3709129b.jpg
C'est moche sad

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.
e397032c95de259bed081dfcdb469.jpg

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.

exemples:
faca7aa839669a3c3d191952dcfe5.png

c0af77db72364ab5427244b87526bt.jpg

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 ! wink

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