Pular para o conteúdo

Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto

Dica publicada em Linux / Configuração
Sidnei Serra Zoiudo
Hits: 415 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar

Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto

Aqui vou mostrar como criar as opções de Copiar para e Mover para no menu de contexto do mouse, que existe no Nautilus e no Dolphin e que também deveria ter no Thunar.

Copiar para:
Abra o terminal e crie o arquivo:

sudo nano /usr/local/bin/thunar-copiar-para.sh

Coloque dentro:

#!/bin/bash

# Escolher destino
destino=$(zenity --file-selection --directory --title="Escolha a pasta de destino")
[ -z "$destino" ] && exit 0

# Perguntar sobre sobrescrever
zenity --question --text="Deseja sobrescrever arquivos existentes?"
sobrescrever=$?

# Monta opção do rsync
if [ $sobrescrever -eq 0 ]; then
    OPTS="--ignore-existing"
else
    OPTS=""
fi

# Lista total de arquivos para progresso mais preciso
total=$(printf "%s\n" "$@" | wc -l)
count=0

(
for item in "$@"; do
    count=$((count+1))

    echo "# Copiando: $(basename "$item") ($count de $total)"

    rsync -a --info=progress2 $OPTS "$item" "$destino" 2>/dev/null

    echo $((count * 100 / total))
done
) | zenity --progress \
           --title="Copiando arquivos" \
           --percentage=0 \
           --auto-close \
           --width=400

zenity --info --text="Cópia concluída!"

Salve com CTRL+O e feche com CTRL+X. Depois:

sudo chmod +x /usr/local/bin/thunar-copiar-para.sh

Mover para:
Abra o terminal e crie o arquivo:

sudo nano /usr/local/bin/thunar-mover-para.sh

Cole dentro:

#!/bin/bash

destino=$(zenity --file-selection --directory --title="Escolha a pasta de destino")
[ -z "$destino" ] && exit 0

zenity --question --text="Deseja sobrescrever arquivos existentes?"
sobrescrever=$?

if [ $sobrescrever -eq 0 ]; then
    OPTS="--ignore-existing"
else
    OPTS=""
fi

total=$(printf "%s\n" "$@" | wc -l)
count=0

(
for item in "$@"; do
    count=$((count+1))

    echo "# Movendo: $(basename "$item") ($count de $total)"

    # Copia primeiro
    rsync -a $OPTS "$item" "$destino"

    # Se deu certo, remove origem
    if [ $? -eq 0 ]; then
        rm -rf "$item"
    else
        echo "# Erro ao mover: $(basename "$item")"
    fi

    echo $((count * 100 / total))
done
) | zenity --progress \
           --title="Movendo arquivos" \
           --percentage=0 \
           --auto-close \
           --width=400

zenity --info --text="Movimentação concluída!"

Salve com CTRL+O e feche com CTRL+X. Depois:

sudo chmod +x /usr/local/bin/thunar-mover-para.sh

Abra o Thunar e vá em Editar/Configurar Ações Personalizadas. Na janela que aparecer, clique em + e complete conforme abaixo.

Copiar para:
  • Nome: Copiar para...
  • Descrição: Ação de copiar pastas e arquivos para determinada pasta ou lugar
  • Comando: /usr/local/bin/thunar-copiar-para.sh %F

Linux: Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto
Na aba Condições Para Aparecer, marque tudo.

Linux: Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto
Mover para:
Crie outra entrada agora como Mover para... e repita os procedimentos, mudando a linha de comando (e a descrição) para:

sudo nano /usr/local/bin/thunar-mover-para.sh

OK em tudo e fecha as janelas. Para usar o menu de contexto, abra o Thunar e escolha um ou mais arquivos e pastas (podem ser misturados), escolha a opção Copiar para... ou Mover para... e selecione a pasta ou local de destino.

Linux: Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto
E aguarde a cópia/movimentação do que foi selecionado. Há uma barra de progresso por item e pergunta se é para sobrescrever se algo já existir.

Linux: Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto
Mais simples do que ganhar da "selessão barasileira de futibóu", hehehe...

Marcando e desmarcando pacotes para atualização, instalação e remoção no Debian e agregados

Instalando partes faltantes do Plasma 6

Hardware antigo no Arch Linux e outras distribuições

Configurando o Cairo Dock individualmente em ambientes diferentes na mesma maquina

Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13

Funcionamento Básico do Netplan

Manjaro com Kernel panic após múltiplo-boot [Resolvido]

Funtoo - Grub não reconhece partições automaticamente [Resolvido]

Backtrack 5 - Problemas de inicialização do modo gráfico

Console FreeBSD em português do Brasil

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.