This forum has been archived. All content is frozen. Please use KDE Discuss instead.

servicemenu sous KDE 3.5

Tags: None
(comma "," separated)
gotcha5832
Registered Member
Posts
2
Karma
0
OS

servicemenu sous KDE 3.5

Sat Jan 09, 2010 8:15 am
Bonjour à tous,
Voilà j'ai développer un script , et j'aimerai pouvoir le lancer depuis konqueror.

Code: Select all
# Nom du nouveau répertoire
NV_DOSSIER=reduc

# Création du nouveau dossier s'il n'existe pas
if [ -d $NV_DOSSIER ] ;
then
echo "Le dossier reduc existe déjà"
else
mkdir $NV_DOSSIER
fi
rep=$(pwd)
jourmois=$(date +'%d%m')

# Pour toutes les photos (JPG) du répertoire
for image in *[jJ][pP][gG] ;
do
rep="${rep##*/}"
rep="${rep// /-}"
width=$(identify -format '%w' "$image")
height=$(identify -format '%h' "$image")
ratio=$(echo "scale=2; $height / $width" |bc)
echo $ratio

if [ $ratio '<' .70 ]
then
image="${image##*/}"
nv_nom=$(printf '%s_%s_%s\n' ${rep} ${jourmois} $image) #on dit merci à Fred

# Réduit l'image en 601x400
convert "$image" -resize 601x400 "$NV_DOSSIER/$nv_nom"
# fusione l'image avec un calque contenant les coins
composite -gravity center /home/sacha/Bureau/cadre.png "$NV_DOSSIER/$nv_nom" "$NV_DOSSIER/$nv_nom"
# fin de la boucle FOR
else
nv_nom=$(printf 'thai_prod_%s_%s.jpg\n' ${rep} ${jourmois}) #on dit merci à Fred

# Réduit l'image en 601x400
convert "$image" -resize 200x150 "$NV_DOSSIER/$nv_nom"
# fusione l'image avec un calque contenant les coins
composite -gravity center /home/sacha/Bureau/cadremini.png "$NV_DOSSIER/$nv_nom" "$NV_DOSSIER/$nv_nom"
fi
done


j'ai donc chercher et fini par trouver les servicemenu sous kde3.5 pour konqueror

dans
/usr/share/apps/konqueror/servicemenus/

j'ai crée un service menu du type:
Code: Select all
[Desktop Entry]
ServiceTypes=inode/directory
Actions=reduc_imagecata;

[Desktop Action reduc_imagecata]
Name=reduc
Name[fr]=reduc
Icon=ark
Exec=reduc.sh


Il apparait bien sous konqueror, mais il ne s'exécute pas.
J'ai donc tester en lancant konqueror via la console, pour voir les eventuelle message d'erreur et là ca fonctionne.

Vous auriez une idée pourquoi mon script ne fonctionne qu'a partir konqueror lancer via une console?

Merci à vous
sibelle
Moderator
Posts
53
Karma
0
OS

Re: servicemenu sous kde 3.5

Sat Jan 09, 2010 11:45 am
Salut !

Oh du KDE 3 qui bouge encore ;)
Je n'ai jamais utilisé les "servicemenus" mais j'ai 3 pistes.
La première est ma favorite...

1) Comme ça fonctionne quand tu lances konqueror depuis une console,
il se peut que la raison pour laquelle ça ne fonctionne pas sans la console
soit qu'il en faut une :)

Pour être fixer remplace
Code: Select all
Exec=reduc.sh

par
Code: Select all
Exec=/bin/bash reduc.sh



2) Cette deuxième piste n'est pas incompatible avec la première.
Il se peut qu'en mode "sans console" il ne trouve pas ton fichier "reduc.sh", alors qu'en mode console tu as lancé konqueror depuis le dossier où se trouve ton script et il l'y trouve.

Plusieurs solutions à ce problème. La première a ma préférence.

2.a) Tu remplaces
Code: Select all
Exec=reduc.sh

par
Code: Select all
Exec=/chemin/complet/de/ton/script/reduc.sh


2.b) Tu ajoutes le dossier contenant ton script à ta variable d'environnement PATH, ou tu mets ton script dans un des dossiers déjà indiqué dans cette même variable.


3) Cette troisième piste n'est pas incompatible avec les deux premières.
Lorsqu'on écrit un script, il est préférable d'indiquer en première ligne l'interpréteur de commande pour lequel le script a été conçu.

Il te faudrait ajouter en première ligne
Code: Select all
#!/bin/bash



Tiens-nous au courant ;)


PS: tu es vraiment thaïlandais ?
gotcha5832
Registered Member
Posts
2
Karma
0
OS

Re: servicemenu sous KDE 3.5

Sun Jan 10, 2010 3:12 am
Hey bah oui du KDE3 qui bouge encore...

Je te remercie pour tes soluces mais rien ne fonctionne.

Et d'ailleurs je viens de retester avec un konqueror lancer depuis la console et c'est idem.

en revanche ca m'a permis de me rendre compte qu'il executais le script là d'ou je lancais la console.

En clair,
Code: Select all
[sacha@localhost ~]$konqueror

avec ceci quelque sois le dossier ou je me situe sous konqueror il applique le script dans le dossier ~

si
Code: Select all
[sacha@localhost ~/Images]$konqueror

avec ceci quelque sois le dossier où je me situe sous konqueror il applique le script dans le dossier ~/Images

En clair le soucis ne viens pas du servicemenu je pense mais du script

bon j'ai trouvé une solution ctrl+E pour lancer un commande
mais j'aurais bien aimé avoir le click droit et comprendre comment résoudre ce problème.


Merci

Euh, non je suis pas thai, mais franco-francais, mais vivant en thailande.... (oh pauvre de moi il fais trop chaud aujourd'hui, 35°C... et vous? c'est énervant!!!....
:-/ euh je suis pas sure d'être très malin, et que je recoive beaucoup de réponse avec cette phrase...)
sibelle
Moderator
Posts
53
Karma
0
OS

Re: servicemenu sous KDE 3.5

Sun Jan 10, 2010 3:24 am
Salut,

si ton problème vient du script, je te conseille de reviser l'art d'écrire un script,
voire de poser ton problème sur un forum spécialisé dans ce domaine.

Tu trouveras par exemple tout cela sur Développez.com, sur lequel j'ai passé beaucoup de temps fut un temps...

Tiens-nous au courant :)


Bookmarks



Who is online

Registered users: Bing [Bot], claydoh, Google [Bot], rblackwell, sethaaaa, Sogou [Bot]