Eu gostaria de poder colar a seleção X usando o teclado. Atualmente eu tenho que usar o botão do meio do mouse para fazer isso.
Entendo que fingir pressionar o botão do meio do mouse é bastante fácil, mas essa solução também exigiria mover o ponteiro do mouse para o local do cursor de texto.
Existe uma maneira melhor de fazer isso?
xorg
keyboard-shortcuts
copy-paste
intuído
fonte
fonte
Respostas:
Em algumas configurações padrão do linux, o Shift+ Insertexecutará um
X-selection-paste
. Como você observou, isso é distintamente diferente doX-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:O outro é o
xvkbd
que envia eventos de teclado de um subsistema inferior. Você pode inserir as teclas pressionadas nele no STDIN. Combinado comxsel
, você obtém algo parecido com isto:Ó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:
fonte
Shift-Insert
de ter alguma utilidade prática, mas simplesmente não é (no Ubuntu). A única "consistência (+/-)" que encontrei é que um X- a seleção nos aplicativos GTK pode ser inserida com a tecla Shift inserida em um arquivognome-terminal
, mas é bastante difícil para qualquer outra combinação de cruzamento desses mesmos aplicativos ... Os poucos aplicativos do KDE que eu uso (incluindo o Konsole) simplesmente não colar entre todos ... e mesmo nos aplicativos GTK, o clique no centro pode funcionar, mas Shift + Insert pode não (para o mesmo aplicativo) ... Então, eu uso o mouse :(xdotool click 2
.Aparentemente, o Shift+ Insertpode não funcionar corretamente em algumas instalações do GTK 3, pelo menos no FreeBSD. O problema é descrito como:
Estão disponíveis um relatório de correção e patch recentes (até a data em que este documento foi escrito):
http://www.freebsd.org/cgi/query-pr.cgi?pr=188264
fonte
Isso simula o clique do botão do mouse diretamente e não requer o uso de
xsel
/xdotool type ...
.fonte
Estou usando o Ubuntu 12 e estava tendo um problema ao colar texto do xterm no gedit (e em qualquer outro aplicativo). Além disso, eu uso um laptop sem o botão do meio do mouse, como muitas pessoas (realmente não há piedade da área de transferência para usuários do linux sem os botões do meio, e não: clique com o botão direito do mouse + left_click não funciona como substituto).
Enquanto eu acho que o método "xsel | xvkbd -xsendevent -file -" é bem legal. Eu achei que a solução mais simples era executar o "gnome-terminal" pré-instalado, em vez do "xterminal". O "gnome-terminal" suporta um comando de copiar com o botão direito do mouse na área de transferência. Eu poderia então "Editar Menu-> Colar" no gedit ou usar shift-insert. O "gnome-terminal" veio pré-instalado com o Ubuntu 12. Outras instalações debian / gnome devem poder instalá-lo via:
No Ubuntu, adicione-o ao iniciador esquerdo clicando no botão "Dash Home" na parte superior da barra do iniciador. Na caixa de pesquisa resultante, digite terminal. Você pode arrastar o ícone "Terminal" para a barra do iniciador.
fonte