Clique com o botão direito do mouse copiando o conteúdo do arquivo para a área de transferência

4

Eu tenho uma coleção de pequenos arquivos de texto que muitas vezes eu quero copiar por atacado, digamos, e-mails ou algo semelhante. Idealmente, gostaria de adicionar uma opção ao menu do botão direito para esses pequenos arquivos de texto que copia todo o conteúdo do arquivo para a área de transferência, pronto para ser colado.

Ou há algum gadget mais inteligente que possa gerenciar esses snippets? Tem que ser algo que possa colar o texto em texboxes arbitrárias: no firefox, no thunderbird, no emacs ...

Existe tal ferramenta?

    
por Seamus 03.08.2011 / 12:49

4 respostas

2

Você pode escrever um pequeno script em Perl como o que eu postei abaixo e executá-lo como um nautilus .

Funcionaria assim:

  • Marque os arquivos no nautilus
  • Clique com o botão direito do mouse no menu de contexto
  • Clique na entrada 'Scripts' do menu de contexto e, em seguida, clique no nome do script (no meu caso, o nome é 'contents2clipboard').

Agora, o conteúdo de todos os arquivos está na área de transferência e pode ser colado em um editor de texto ou qualquer outro aplicativo.

Para usar o script, copie-o em um novo arquivo no diretório ~/.gnome2/nautilus-scripts . O nome do arquivo será o texto da entrada correspondente no menu 'Scripts' do nautilus. No meu caso, o nome é 'contents2clipboard' .

Aqui está uma captura de tela:

Aqui está o script básico:

#!/usr/bin/perl
# indent-mode: spaces, tabsize: 4, encoding: utf8
#
# © 2011 [email protected]. Use under the MIT license:
#     http://www.opensource.org/licenses/mit-license.php
# 
# This nautilus script copies the content of the selected files
#+into the clipboard. Nautlis scripts are usually located in
#+'$HOME/.gnome2/nautilus-scripts' and need to be executable.

# Gtk2 stuff
use Glib qw/TRUE FALSE/;
use Gtk2 '-init';
use utf8;

# Get files list
@files = split( "\n", $ENV{'NAUTILUS_SCRIPT_SELECTED_FILE_PATHS'} );
$content = '';
# read content of files in list
foreach $path (@files) {
    if( -T $path ) {
        open FILE, "<$path";
        $content .= do { local $/; <FILE> };
        close(FILE);
    }
}

# Copy content to clipboard
$clipboard = Gtk2::Clipboard->get(Gtk2::Gdk->SELECTION_CLIPBOARD);
$clipboard->set_text($content);
Gtk2->main;

Como é, há algumas peculiaridades que você pode querer corrigir:

  • Ele não funciona em sistemas de arquivos remotos devido à maneira como NAUTILUS_SCRIPT_SELECTED_FILE_PATHS é trabalhado.
  • Não verifica o tamanho dos arquivos fornecidos. Arquivos muito grandes podem causar problemas.

Não sei se isso atende às suas necessidades. Em caso afirmativo: aproveite! (e marca respondida)

    
por con-f-use 03.08.2011 / 13:10
1

Estou usando o gerenciador de área de transferência xfce4-clipman e ele fornece exatamente o que você está pedindo. Eu tenho a configuração de modo que sempre que eu copiar um URL para a área de transferência, um pequeno menu aparece, e eu posso escolher de acordo.

apt-get install xfce4-clipman xfce4-clipman-plugin

Quando você tiver instalado o plug-in em seu painel, encontre o caminho para a janela de propriedades, onde você pode configurar os gatilhos com o regexp. Ele vem pré-instalado com um exemplo que funciona bem para imagens. E para cada gatilho de expressão regular, você pode editar uma lista de ações ou comandos. No meu caso, eles são tipicamente comandos 'cat', para copiar em um arquivo selecionado, para eu baixar mais tarde.

Essas ações, ou comandos, tornam-se as entradas no pequeno menu seletor que aparecerá toda vez que você copiar algo para a área de transferência que corresponda ao regexp.

    
por dru8274 14.08.2011 / 02:21
0

Eu realmente senti falta dos gerenciadores de prancheta quando mudei para o Linux anos atrás. O do KDE é muito bom, mas mudei para o Gnome. Eu tentei Glipper e Parcelite mas não achei que eles tinham o que eu queria.

Eu decidi tentar escrever um, usando Python e pyGTK. Ele está indo muito bem e tem recursos que eu queria, mas não consegui encontrar: Snippets, com categorias, tags e & amp; ícones no menu histórico. Título opcional para um trecho (ou clipe). Auto anexando o conteúdo da área de transferência a um clipe. Crie um novo clipe. Carregue um arquivo em um clipe. Salvar um clipe em um arquivo.

Uma arquitetura de plugins simples permite que funcionalidades extras sejam adicionadas, escrevendo-as em Python. Atualmente tenho plugins para: excluir linhas em branco. despejar categoria de recorte em um arquivo. envie um clipe por email. explodir um clipe em vários clipes. URL aberto em um clipe no navegador. postar clipe no PasteBin. remova o texto por meio de uma expressão regular. remover tags HTML-XML. remover os principais caracteres. remova os números de linha. encurtar um URL.

Os dados são mantidos em um banco de dados SQLite, de modo que cada clipe / recorte tenha propriedades como data de criação, último uso, tempos usados, título, fonte & amp; nota.

Embora longe de ser perfeito, acho muito útil até mesmo no presente estágio de desenvolvimento.

    
por fstephens 13.08.2011 / 00:28
0

Eu uso o Clippings Extention para Firefox e o QuickText Extention para o Thunderbird.

link

link

    
por komputes 13.08.2011 / 00:53