web-dev-qa-db-fra.com

KDE Service Menus Obtenez la liste des fichiers sélectionnés

Je suis un utilisateur gnome et j'essaie KDE 5. Quand j'utilisais Nautilus (Gnome), j'avais un tas d'actions de script shell qui ont fonctionné sur une liste de chemins de fichier sélectionnés donnés par la variable $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS.

Lecture de cette réponse , je suis conscient que les actions Dolphin fournissent le code %F: A list of files. Use for apps that can open several local files at once. Each file is passed as a separate argument to the executable program.

Le problème est que chaque fichier est transmis comme un argument séparé au programme exécutable, tandis que mes scripts sont conçus pour Travaillez avec la variable $ Nautilus_script_selected_file_Paths.

Idéalement, je voudrais réutiliser mes vieux scripts. Est-il possible de convertir le dauphin %F liste et définissez-la comme la variable $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS pour mes scripts?

4
Davide_sd

Vous pouvez avoir accès à tous les arguments passés à un script utilisant $@ Dans Bash, cela signifie techniquement vous pouvez créer un script wrapper qui prépare d'abord une fausse variable d'environnement comme celle-ci:

 export NAUTILUS_SCRIPT_SELECTED_FILE_PATHS=$@
 ./real-script.sh

Bien sûr, vous pouvez également modifier simplement votre script à utiliser $@ Comme ceci si vous voulez au lieu de la variable Nautilus d'origine:

for var in "$@"
do
    echo "x" "$var"
done

Notez également dans votre .desktop Fichier pour le servicemenus, vous voudrez faire quelque chose comme:

Exec=script %F

Remarquerez que %F n'a pas citations autour de lui.

3
Kristopher Ives