Dynamische Vorlagennamen für Nautilus

Dynamische Vorlagennamen für Nautilus

Mir gefällt sehr, dass ich Vorlagen hinzufügen kann, ~/Templatesum mit Nautilusoder neue Dateien anhand einer Vorlage zu erstellen Caja.

Was ich gerne verbessert hätte, ist die Benennung meiner Dateien.

Sie heißen: Unknown-[Template-Name-Here]. Ich würde dieses Format bevorzugen, [Template-Name-Here]-[Date]während das Datum im Format sein sollte YYYY-mm-dd.

Ist so etwas schon möglich?

Wie kann ich die Umbenennung der Dateinamen meiner Vorlage automatisieren? :)

Antwort1

In diesem Fall sind Nautilus-Skripte wahrscheinlich die beste Lösung. Sie werden in ~/.local/share/nautilus/scriptsfür Nautilus oder in ~/.config/caja/scriptsfür Caja abgelegt und müssen in beiden Fällen ausführbar gemacht werden ( chmod ug+x $path_to_script).

Dieses Skript öffnet ein Dialogfeld, in dem Sie aufgefordert werden, eine Vorlage auszuwählen. Anschließend wird auf Grundlage dieser Vorlage eine Datei im aktuellen Verzeichnis im gewünschten Format erstellt:

#!/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

Dadurch wird die URI in einen Pfad umgewandelt, und zwar mithilfe des Skripts vonHier.

verwandte Informationen