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 17/01/2011, à 20:49

Bushman02

[Résolu]Petit script Gnome ==> Thunar

Dans mes scripts Gnome, j'ai celui qui suit, trouvé il y a un certain temps sur le web :

#!/bin/bash
title="Redimensionner"
scale="Choisir longueur"

imgsize=`gdialog --title "$title" --inputbox "$scale" 200 100 2>&1`

while [ $# -gt 0 ]; do
    picture=$1
    /usr/bin/convert -scale $imgsize "$picture" "$imgsize-$picture"
    shift
done

Il fonctionne très bien sous Gnome mais, si je tente de l'utiliser dans Thunar (où le clic droit de Nautilus n'existe pas !)  il ne marche pas en tant q'action personnalisée.
Inutile de préciser que je ne connais pas grand-chose au bash.
Quelqu'un peut-il m'aider ?
Merci d'avance.

Dernière modification par Bushman02 (Le 19/01/2011, à 21:17)

Hors ligne

#2 Le 19/01/2011, à 18:52

petilu63

Re : [Résolu]Petit script Gnome ==> Thunar

Bonjour,

D'après la doc de thunar (anglais), il faut bien créer une action personnalisée à la manière des nautilus scripts. Contrairement à ces derniers il semble que les actions personnalisées de thunar n'acceptent qu'une « simple » commande. Je pense qu'il est donc impossible d'avoir quelque chose d'interactif (où tu pourrais choisir l'échelle du redimensionnement par exemple) mais au contraire une commande simple.

Dans le cas de ton script, pour redimensionner en 200, il faudrait avoir une commande en une ligne, où les étapes sont séparées par des point-virgules. Par exemple :

for file in %F; do tempfile=$(mktemp); (convert -scale 200 $file > $tempfile); mv -f $tempfile "200-$file"; rm -f $tempfile; done

Je n'ai pas thunar sous la main afin d'essayer ; je me suis inspiré de « losslessly rotating JPEGs » de la doc sus-citée. Je t'invite (si tu n'es pas allergique à l'anglais) à visiter cette dernière pour mieux comprendre ce que sont les actions personnalisées de thunar.


Ubuntu 10.04 + gnome / Debian Squeeze + openbox
un bon réflexe : documentation ; débutant sur ubuntu : lecture conseillée

Hors ligne

#3 Le 19/01/2011, à 20:13

Bushman02

Re : [Résolu]Petit script Gnome ==> Thunar

Tout d'abord merci à toi, petilu63, pour ton attention. Je vais suivre le lien que tu m'indiques.
J'ai essayé ta commande en une ligne (dont j'ai déjà rencontré des exemples sur le forum anglais de Crunchbang), mais je n'ai pas réussi à la faire marcher. Ce n'est pas très grave car, en fait, je suis en possession de deux scripts, celui que j'ai posté ci-dessus et celui-ci :

 #!/bin/bash
# Script récupéré de Denis sacchet sur http://denis.sacchet.fr/?p=141#comment-781
# et modifié par MerMouY mermouy [AT] gmail [DOT] com
#
# Les fichiers redimensionnés sont nommés comme suit :
# <nom de fichier original sans extension>-<resolution>.<extension originale>
# <nom de fichier original>-<resolution> si le fichier n'avait pas d'extension

SIZE=`zenity --entry --title="Redimensionner" --text="Entrer la resolution cible" --entry-text="1024"`

if [ "x${SIZE}" = "xok" -o x`echo ${SIZE} | sed 's@^[0-9]*$@ok@'` != "xok" ]
then
   zenity --error --text="$SIZE n'est pas une valeur correcte"
   exit 1
fi

NB_PHOTOS=$#

RESULTFILE=`mktemp`

until [ -z "$1" ]
do
      cible=`echo "$1" | sed "s@\(.*\)\.\([^\.]*\)@\1-${SIZE}.\2@"`
      if [ "$cible" = "$1" ]
      then
         cible="${1}-${SIZE}"
      fi
      convert "$1" -resize ${SIZE}x${SIZE} "$cible"
      if [ $? -eq 0 ]
      then
         echo "L'image $1 a été redimensionnée avec succès" >> "$RESULTFILE"
         echo "Le nouveau fichier est $cible" >> "$RESULTFILE"
      else
         echo "Une erreur a été rencontrée lors du redimensionnement de l'image $1" >> "$RESULTFILE"
      fi
   shift
   echo "."
done | zenity --progress --pulsate --text="Traitement des photos" --auto-close --auto-kill

zenity --info-text --filename="$RESULTFILE" --height=600 --width=440
rm -f "$RESULTFILE" 

Le problème est que , si le premier ne fonctionne pas en tant qu'application personnalisée de Thunar, le second, lui, s'exécute parfaitement. Or, n'étant capable que de coller bout à bout des bribes de scripts, je ne vois pas pourquoi l'un marche et l'autre pas (ils fonctionnent exactement de la même façon, tous les deux, sous Gnome).
Si tu as une idée du pourquoi de la chose, tu peux me l'indiquer, sinon ne te  pose pas de problème : j'en ai un qui fonctionne, c'est l'essentiel.
Dans tous les cas, merci encore.

Hors ligne

#4 Le 19/01/2011, à 20:36

petilu63

Re : [Résolu]Petit script Gnome ==> Thunar

Bonjour,

Si le deuxième script fonctionne, alors le sujet peut-il être considéré comme résolu ? (auquel cas une édition du titre du premier message avec la balise [résolu] s'impose). La différence entre les deux scripts qui me semble pouvoir expliquer le problème est la présence de « gdialog » dans le premier. Je ne connais pas cette commande ; elle est probablement liée à gnome et/ou à nautilus.

Au passage, histoire de bien savoir de quoi on parle :

  • gnome est un environnement de bureau

  • nautilus est un explorateur de fichier, ainsi que thunar

Tu ne nous dis pas tout ; je suppose que tu utilises thunar dans un autre environnement que gnome (dont nautilus est l'explorateur de fichier par défaut), sans doute plus léger comme xfce, lxde ou autre... exact ?


Ubuntu 10.04 + gnome / Debian Squeeze + openbox
un bon réflexe : documentation ; débutant sur ubuntu : lecture conseillée

Hors ligne

#5 Le 19/01/2011, à 21:30

Bushman02

Re : [Résolu]Petit script Gnome ==> Thunar

Merci encore, petilu63, et mes excuses pour le vocabulaire. Il fallait lire nautilus à la place de gnome !!
Pour ce qui est de ta question, qui n'en est pas vraiment une, j'utilise gnome et nautilus avec Ubuntu 10.10 d'une part et, d'autre part, openbox et thunar avec Crunchbang statler. Mais mon manque de connaissances techniques et de rigueur me pose parfois des problèmes, tu l'as compris !

Hors ligne