J'aime vraiment pouvoir ajouter des modèles à ~/Templates
afin de créer de nouveaux fichiers par un modèle avec Nautilus
ou Caja
.
Ce que j'aime avoir amélioré, c'est le nommage de mes fichiers.
Ils s'appellent: Unknown-[Template-Name-Here]
. Je préfère un tel format [Template-Name-Here]-[Date]
alors que la date doit être au format YYYY-mm-dd
.
Est-ce que quelque chose comme ça est déjà possible?
Comment puis-je automatiser le changement de nom des noms de fichiers de mon modèle :)
Dans ce cas, les scripts nautilus sont probablement la meilleure solution. Ils sont placés dans ~/.local/share/nautilus/scripts
pour nautilus ou dans ~/.config/caja/scripts
pour caja et dans les deux cas doivent être exécutables (chmod ug+x $path_to_script
).
Ce script créera une boîte de dialogue vous demandant votre choix de modèle puis créera un fichier basé sur ce modèle dans le répertoire courant, avec le format souhaité:
#!/bin/bash
current_nautilus_dir=$(python -c 'import gio,sys; print(gio.File(sys.argv[1]).get_path())' "$NAUTILUS_SCRIPT_CURRENT_URI")
# python-free:
# current_nautilus_dir=$(echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed -e 's/%/\\x/g' -e 's_^file://__' | xargs -0 printf "%b" )
template_dir=$(xdg-user-dir TEMPLATES)
template_name=$(find "$template_dir" ! -type d -print0 | sed 's_'$template_dir'/__g' | xargs -0 zenity --list --column=Template)
template_short_name=$(basename "$template_name")
destination_name="${current_nautilus_dir}/${template_short_name}-$(date "+%Y-%m-%d")"
if [ -f "$destination_name" ]
then
notify-send "Destination already exists"
else
cp "${template_dir}/${template_name}" "$destination_name"
fi
Cela convertit l'URI en un chemin, en utilisant le script de ici .