Em algumas configurações padrão do linux, o Shift+ Insertexecutará um X-selection-paste
. Como você observou, isso é distintamente diferente do X-clipboard-paste
comando, cuja ligação geralmente varia de acordo com o aplicativo. Se isso não funcionar, aqui estão algumas outras chaves para tentar:
Ctrl+V
Ctrl+ Shift+V
Ctrl+ Shift+Insert
Não vá? Seu ambiente de área de trabalho ou o Gerenciador de janelas provavelmente não os tem configurado, e é complicado porque - mesmo sob a bandeira de um DE ou WM - cada kit de ferramentas (por exemplo, GTK, Qt, Etc.) pode ter diferentes ligações padrão. Alguns programas (por exemplo gvim
) têm até seus próprios registros de cópia internos que não são necessariamente sincronizados com o ambiente gráfico em que são executados. Para completar, mesmo quando um programa usa o sistema da área de transferência X, o X tem vários sistemas para escolher. Os dois mais básicos são o buffer de seleção - que sempre tem a última coisa selecionada (executada quando não existe) - e o buffer de cópia - no qual as coisas geralmente precisam ser especificamente copiadas. Para fazer uma cópia explícita no último sistema, você pode tentar qualquer uma dessas opções para obter o tamanho:
Ctrl+C
Shift+ Ctrl+C
Ctrl+Insert
Se nada disso estiver funcionando magicamente para você, existem duas maneiras de seguir.
Há um aplicativo para isso! ™ Use um dos vários programas do gerenciador de transferência para lidar com isso para você. Os mais populares parecem ser Parcellite e Glippy , mas você pode conferir outras alternativas aqui . Consulte também esta pergunta sobre gerenciadores de área de transferência avançados
Corte você mesmo.
Então, digamos que você queira hackear.
Além de escrever seu próprio código e acessar a API do X, as ferramentas de hacker para o trabalho são alguns pequenos utilitários de linha de comando que oferecem uma janela para a mente do X. Apenas uma pequena janela para você, a visão toda muito assustadora .
A primeira ferramenta é xsel
. Este pequeno jobber cuspirá o que estiver no buffer de seleção de X a qualquer momento.
Agora você precisa colocar isso em seu programa. Existem duas opções para isso. Um é o xdotool
que permite simular o envio de eventos para o sistema de entrada do Xorg. Você pode usar o método typexdotool type foo_bar
para imitar a digitação 'foo_bar' no cursor. Combinado, você obtém algo parecido com isto:
$ xdotool type $(xsel)
O outro é o xvkbd
que envia eventos de teclado de um subsistema inferior. Você pode inserir as teclas pressionadas nele no STDIN. Combinado com xsel
, você obtém algo parecido com isto:
$ xsel | xvkbd -xsendevent -file -
Ótimo. Agora, para que essa combinação de teclas execute essas coisas. Se você executar o Gnome-2, poderá adicionar um atalho personalizado em Sistema -> Preferências -> Atalhos do teclado . Se você usar um DE ou WM diferente, esse tamanho excedente é deixado para o leitor.
A última observação é que, ao vincular comandos a atalhos de teclado, geralmente é necessário ter apenas um comando, não dois comandos conectados a um canal, como usamos acima. Você pode fazer isso chamando seu comando canalizado como uma sequência de comandos argumetn para um novo shell como este:
sh -c 'xsel | xvkbd -xsendevent -file -'
sh -c 'xdotool type "$(xsel)"'