Nautilus の動的テンプレート名

Nautilus の動的テンプレート名

または~/Templatesを使用してテンプレートによって新しいファイルを作成するために、テンプレートを追加できることが本当に気に入っています。NautilusCaja

改善してほしいのは、ファイルの命名です。

名前は です。日付は の形式にする必要がありますが、Unknown-[Template-Name-Here]このような形式の方が望ましいです。[Template-Name-Here]-[Date]YYYY-mm-dd

このようなことはすでに可能でしょうか?

テンプレートのファイル名の変更を自動化するにはどうすればいいでしょうか :)

答え1

~/.local/share/nautilus/scriptsこの場合、nautilus スクリプトがおそらく最善の解決策です。スクリプトはnautilus の場合は 、caja の場合は に配置され~/.config/caja/scripts、どちらの場合も実行可能にする必要があります ( chmod ug+x $path_to_script)。

このスクリプトは、テンプレートの選択を尋ねるダイアログ ボックスを作成し、そのテンプレートに基づいて、現在のディレクトリに希望の形式でファイルを作成します。

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

これは、次のスクリプトを使用してURIをパスに変換します。ここ

関連情報