Provavelmente você não pode. O xterm (e os programas que agem assim) fazem uma distinção entre as operações do mouse com / sem o modificador shift :
- as operações unshifted podem ser programadas, ou seja, uma aplicação pode enviar uma seqüência de escape dizendo ao xterm para enviar de volta seqüências de escape para cada clique do mouse.
- as operações não deslocadas não podem ser programadas dessa maneira. Eles são deixados como estão.
Portanto, tmux
provavelmente não conseguirá alterar esse comportamento. Além disso, a maneira como os botões do mouse são usados é (novamente, uma convenção antiga) no caminho: um botão atua para iniciar uma seleção, outro para estender a seleção e o terceiro para colar a seleção. Alguns terminais podem implementar arrastando se você pressionar o botão de seleção de extensão.
Mas o mouse de roda é (muito) muito mais novo que o resto do protocolo, provavelmente a partir de meados / final dos anos 90. No protocolo do mouse, ele envia eventos de botão falso, por exemplo, botões 4 e 5. Embora um terminal possa ser implementado para estender uma seleção usando o mouse de roda, tmux
não tem como controlar isso— e provavelmente seria embutido / não configurável. Se você não está vendo o comportamento desejado, provavelmente não poderá obtê-lo.
A distinção com shift é muito antiga e não está restrita a operações com mouse: em algumas plataformas, o page-up e page-down as teclas são configuradas para rolarem o terminal quando o modificador shift é adicionado, enquanto as chaves não-deslocadas podem ser lidas de um aplicativo.
Leitura adicional:
- Ratos de roda (seqüências de controle do XTerm)
- Modo de rastreamento normal (seqüências de controle do XTerm)
-
Default Key Bindings Manual do XTerm, por exemplo, as ligações para botões do mouse
~Meta <Btn1Down>:select-start() \n\ ~Meta <Btn1Motion>:select-extend() \n\ ~Ctrl ~Meta <Btn2Up>:insert-selection(SELECT, CUT_BUFFER0) \n\ ~Ctrl ~Meta <Btn3Down>:start-extend() \n\ ~Meta <Btn3Motion>:select-extend() \n\