#1 Le 29/08/2008, à 14:00
- ®om
nautilus-script : bug? oubli des programmeurs?
Salut,
Lorsqu'on lance un script nautilus, on récupère dans les arguments les noms des fichiers.
Ainsi, si on a sélectionné un fichier 'a', un fichier 'b' et un fichier 'c', $1 vaut 'a', $2 vaut 'b' et $3 vaut 'c'. Très bien.
Pour récupérer le chemin complet, il suffirait donc de le concaténer à $PWD ou à $NAUTILUS_SCRIPT_CURRENT_URI (c'est l'adresse qui est écrite dans la barre d'adresse).
Sauf que nautilus propose également un mode "liste" (d'ailleurs, plutôt "arbre" que "liste"), qui permet d'accéder à des fichiers des sous-répertoires. Et là rien ne va plus, car on se retrouve avec d'un côté l'URI courante, et de l'autre le nom du fichier, mais on ne sait pas dans quel sous-répertoire il est :
En cherchant un peu, j'ai trouvé $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS qui donne la liste des fichiers sélectionnés, donc génial, ça résoud le problème.
Sauf que les noms de fichiers sont séparés par des espaces. Il n'y a donc aucun moyen de savoir si un espace est un séparateur ou si c'est un espace d'un fichier.
Donc si on a un fichier "/tmp/a b" et un fichier "/tmp/c d/e f", a fait 6 fichiers :
/tmp/a
b
/tmp/c
d/e
f
Y'a-t-il une manière "correcte" de faire pour avoir des scripts nautilus "corrects"?
Hors ligne