노틸러스의 동적 템플릿 이름

노틸러스의 동적 템플릿 이름

또는 를 ~/Templates사용하여 템플릿으로 새 파일을 만들기 위해 템플릿을 추가할 수 있다는 점이 정말 마음에 듭니다 .NautilusCaja

제가 개선하고 싶은 점은 파일 이름 지정입니다.

이름은 다음과 같습니다: Unknown-[Template-Name-Here]. [Template-Name-Here]-[Date]날짜가 형식이어야 하는 동안 나는 그러한 형식을 선호합니다 YYYY-mm-dd.

이런 일이 이미 가능합니까?

템플릿 파일 이름 변경을 자동화하는 방법은 무엇인가요? :)

답변1

이 경우 노틸러스 스크립트가 아마도 가장 좋은 솔루션일 것입니다. ~/.local/share/nautilus/scriptsNautilus용 또는 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가 경로로 변환됩니다.여기.

관련 정보