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