Depuis URxvt
9.20, le texte peut être copié dans le presse-papiers avec Ctrl+Alt+C (et aussi collé avec Ctrl+Alt+V).
Mais j'utilise déjà ces liaisons pour une autre chose.
Alors comment puis-je reculer, dans URxvt
> = 9.20 il à Ctrl+Shift+C (et Ctrl+Shift+V pour la pâte)?
L'extension EVAL expédiée avec RXVT-Unicode comporte des actions en pâte_clipboard et Selection_To_Clipboard pour cela, pouvant être liée à n'importe quel keysym (voir ici ).
Dans ton .Xresources
ajouter:
URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
Pour désactiver les clés précédents, vous aurez également besoin de:
URxvt.keysym.Control-Meta-c: builtin-string:
URxvt.keysym.Control-Meta-v: builtin-string:
Vous pouvez recharger le fichier avec:
xrdb -load .Xresources
Vous devrez redémarrer RXVT pour que les modifications prennent effet.
Le code implémente ces deux liaisons comme celle-ci:
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;
}
Vous ne pouvez pas utiliser la ressource keysym
pour rejeter quelque chose d'autre, car -Ça uniquement mapper des chaînes (aucun modificateur tel que control et alt).
Cependant, vous pouvez utiliser l'extension PERL, qui a des méthodes de travail avec des sélections. Mais vous devez écrire un script Perl pour attacher ceux ensemble.
Toutes les réponses existantes gèrent la seconde moitié de la question (comment ajouter des clés pour les opérations de presse-papiers aux nouvelles clés), mais ne répondez pas à la première moitié (comment -libérer Les bornes d'origine).
La réponse est de simplement les lier à builtin-string:
(Si vous souhaitez qu'ils soient envoyés, Verbatim; sinon, à l'action souhaitée). C'est-à-dire, en .Xresources
:
URxvt.keysym.C-M-c: builtin-string:
Ou, sur la ligne de commande:
-keysym.C-M-c builtin-string:
Utiliser les extensions d'évaluation (paste_clipboard
et selection_to_clipboard
) mentionné dans la réponse de @ Enno Vous pouvez ajouter ce qui suit à votre .Xresources
déposer:
URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard