web-dev-qa-db-fra.com

Glisser-déposer le fichier sur le script dans Nautilus

Dans l'Explorateur Windows (et d'autres gestionnaires de fichiers), si vous faites glisser un fichier sur un script/un exécutable, le script/l'exécutable est exécuté avec ce fichier comme premier argument.

Est-il possible d'avoir un comportement similaire dans Nautilus? (Est-ce que je devrais utiliser des fichiers/lanceurs .desktop?)

Que diriez-vous des autres gestionnaires de fichiers Linux?

4
Simon

Vous avez besoin d'un fichier .desktop avec l'entrée EXEC=.

Voir la demande de fonctionnalité associée sur tableau de bord et bugzilla .

4
Vanni Totaro

A partir de maintenant avec Ubuntu 14.04, la méthode de création d'un fichier .desktop fonctionne à nouveau. Par exemple:

[Desktop Entry]
Type=Application
Terminal=false
Name[en_EN]=all2pdf
Exec=/bin/bash -c "IFS=$'\n'; args=(`( for f in %U; do echo $f; done ) | sort`); dir=(`dirname $args`); convert ${args[@]} $dir/convert.pdf "

Mettre ce code dans un fichier "all2pdf.desktop" et rendre ce fichier exécutable par

chmod u+x all2pdf.desktop

permet de faire glisser certains fichiers sur l'icône "all2pdf" et de les convertir en un seul fichier PDF à l'aide de "convert".

L'exemple de commande est long, mais contient également un remède pour que la liste de fichiers soit toujours dans l'ordre inverse (quel que soit l'ordre de sélection des fichiers glissés).

Je viens d’utiliser la méthode ci-dessus (le fichier) pour créer un certain nombre de fichiers PDF comportant peu de pages, chacun à partir d’un plus grand ensemble de photos que j'ai créées à l’aide de "Scan Tailor". Cela a très bien fonctionné et, comme les commentaires sur la réponse ci-dessus impliquent que la création d'un fichier .desktop pourrait ne plus fonctionner, j'aimerais partager l'exemple ci-dessus.

3
Sven