Nomes de modelos dinâmicos para o Nautilus

2

Eu realmente gosto de poder adicionar modelos a ~/Templates para criar novos arquivos com um modelo com Nautilus ou Caja .

O que eu gosto de melhorar é a nomeação dos meus arquivos.

Eles são nomeados: Unknown-[Template-Name-Here] . Eu prefiro esse formato [Template-Name-Here]-[Date] enquanto a data deve estar no formato YYYY-mm-dd .

Alguma coisa assim já é possível?

Como posso automatizar a renomeação dos nomes dos arquivos do meu modelo:)

    
por tokam 24.05.2016 / 13:51

1 resposta

1

Neste caso, os scripts do nautilus são provavelmente a melhor solução. Eles são colocados em ~/.local/share/nautilus/scripts para nautilus ou em ~/.config/caja/scripts para caja e em qualquer um dos casos precisam ser executados ( chmod ug+x $path_to_script ).

Este script criará uma caixa de diálogo solicitando sua escolha de modelo e, em seguida, criará um arquivo baseado nesse modelo no diretório atual, com o formato desejado:

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

Isso converte o URI em um caminho, usando o script de aqui .

    
por aplaice 17.11.2016 / 01:46