Rebobinando CTRL-ALT- [C | V] para CTRL-SHIFT- [C | V] em URxvt = 9,20

12

Como URxvt 9.20, o texto pode ser copiado para a área de transferência com Ctrl + Alt + C (e também colado de com < kbd> Ctrl + Alt + V ).

Mas eu já uso essas ligações para outra coisa.

Então, como eu posso religar, em URxvt > = 9.20, para Ctrl + Deslocar + C (e Ctrl + Deslocamento + V para colar)?

    
por fauve 07.07.2016 / 04:20

4 respostas

10

A extensão eval enviada com rxvt-unicode tem ações paste_clipboard e selection_to_clipboard para isso, que podem ser vinculadas a qualquer keysym (consulte aqui ).

No seu .Xresources add:

URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
    
por 11.12.2016 / 08:59
2

O código implementa essas duas ligações como esta:

  if (ctrl && meta && (keysym == XK_c || keysym == XK_v))
    { 
      if (keysym == XK_v)
        selection_request (ev.time, Sel_Clipboard);
      else if (selection.len > 0)
        { 
          free (selection.clip_text);
          selection.clip_text = rxvt_wcsdup (selection.text, selection.len);
          selection.clip_len = selection.len;
          selection_grab (CurrentTime, true);
        }

      return;
    }

Você não pode usar o recurso keysym para religar algo a mais, já que esse mapeia apenas para strings (sem modificadores como control e alt ).

No entanto, você pode usar a extensão Perl, que possui métodos para trabalhar com seleções. Mas você teria que escrever um script em Perl para amarrá-los juntos.

    
por 08.07.2016 / 02:12
1

Para usar as extensões eval ( paste_clipboard e selection_to_clipboard ) mencionadas na resposta da @ Enno , você pode adicionar seguindo para o seu arquivo .Xresources :

URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
    
por 27.04.2017 / 01:40
0

Todas as respostas existentes tratam da segunda metade da pergunta (como adicionar atalhos de teclado para operações da área de transferência a novas chaves), mas não respondem à primeira metade (como liberar o original keybindings).

A resposta é simplesmente ligá-los a builtin-string: (se você deseja que eles sejam enviados literalmente; caso contrário, a ação desejada). Ou seja, em .Xresources :

URxvt.keysym.C-M-c: builtin-string:

Ou na linha de comando:

-keysym.C-M-c builtin-string:
    
por 29.10.2018 / 10:42