Change urxvt terminal paste shortcut to CTRL+ALT+V. Fix #166
This commit is contained in:
parent
3e98748c54
commit
7921e0fcdc
|
@ -307,6 +307,10 @@ void trigger_alt_shift_ins_paste() {
|
|||
xdo_send_keysequence_window(xdo_context, CURRENTWINDOW, "Shift+Alt+Insert", 8000);
|
||||
}
|
||||
|
||||
void trigger_ctrl_alt_paste() {
|
||||
xdo_send_keysequence_window(xdo_context, CURRENTWINDOW, "Control_L+Alt+v", 8000);
|
||||
}
|
||||
|
||||
void trigger_copy() {
|
||||
// Release the other keys, for an explanation, read the 'trigger_paste' method
|
||||
|
||||
|
@ -467,8 +471,8 @@ int32_t is_current_window_special() {
|
|||
if (res > 0) {
|
||||
if (strstr(class_buffer, "terminal") != NULL) {
|
||||
return 1;
|
||||
}else if (strstr(class_buffer, "URxvt") != NULL) { // Manjaro terminal
|
||||
return 1;
|
||||
}else if (strstr(class_buffer, "URxvt") != NULL) { // urxvt terminal
|
||||
return 4;
|
||||
}else if (strstr(class_buffer, "XTerm") != NULL) { // XTerm and UXTerm
|
||||
return 1;
|
||||
}else if (strstr(class_buffer, "Termite") != NULL) { // Termite
|
||||
|
|
|
@ -92,6 +92,11 @@ extern "C" void trigger_shift_ins_paste();
|
|||
*/
|
||||
extern "C" void trigger_alt_shift_ins_paste();
|
||||
|
||||
/*
|
||||
* Trigger CTRL+ALT+V pasting
|
||||
*/
|
||||
extern "C" void trigger_ctrl_alt_paste();
|
||||
|
||||
/*
|
||||
* Trigger copy shortcut ( Pressing CTRL+C )
|
||||
*/
|
||||
|
|
|
@ -44,5 +44,6 @@ extern {
|
|||
pub fn trigger_terminal_paste();
|
||||
pub fn trigger_shift_ins_paste();
|
||||
pub fn trigger_alt_shift_ins_paste();
|
||||
pub fn trigger_ctrl_alt_paste();
|
||||
pub fn trigger_copy();
|
||||
}
|
|
@ -52,6 +52,8 @@ impl super::KeyboardManager for LinuxKeyboardManager {
|
|||
trigger_alt_shift_ins_paste();
|
||||
}else if is_special == 3 { // Special case for Emacs
|
||||
trigger_shift_ins_paste();
|
||||
}else if is_special == 4 { // CTRL+ALT+V used in some terminals (urxvt)
|
||||
trigger_ctrl_alt_paste();
|
||||
}else{
|
||||
trigger_terminal_paste();
|
||||
}
|
||||
|
@ -65,6 +67,9 @@ impl super::KeyboardManager for LinuxKeyboardManager {
|
|||
PasteShortcut::ShiftInsert=> {
|
||||
trigger_shift_ins_paste();
|
||||
},
|
||||
PasteShortcut::CtrlAltV => {
|
||||
trigger_ctrl_alt_paste();
|
||||
},
|
||||
_ => {
|
||||
error!("Linux backend does not support this Paste Shortcut, please open an issue on GitHub if you need it.")
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ pub enum PasteShortcut {
|
|||
CtrlV, // Classic Ctrl+V shortcut
|
||||
CtrlShiftV, // Could be used to paste without formatting in many applications
|
||||
ShiftInsert, // Often used in Linux systems
|
||||
CtrlAltV, // Used in some Linux terminals (urxvt)
|
||||
MetaV, // Corresponding to Win+V on Windows and Linux, CMD+V on macOS
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user