blob: effeff265a3c6423460e0859db42d0249bd84ac9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
diff -dPNur vte-0.30.1/src/vte.c vte-0.30.1-ds/src/vte.c
--- vte-0.30.1/src/vte.c 2011-09-26 14:32:48.000000000 +0200
+++ vte-0.30.1-ds/src/vte.c 2012-01-23 02:12:16.000000000 +0100
@@ -5389,7 +5390,9 @@
break;
case GDK_KEY (KP_Insert):
case GDK_KEY (Insert):
- if (modifiers & GDK_SHIFT_MASK) {
+ //printf("%lx %s\n", modifiers, terminal->window_title);
+ if (strncmp(terminal->window_title, "mc", 2)) {
+ if (modifiers & GDK_SHIFT_MASK) {
if (modifiers & GDK_CONTROL_MASK) {
vte_terminal_paste_clipboard(terminal);
handled = TRUE;
@@ -5399,10 +5402,27 @@
handled = TRUE;
suppress_meta_esc = TRUE;
}
- } else if (modifiers & GDK_CONTROL_MASK) {
+ } else if (modifiers & GDK_CONTROL_MASK) {
vte_terminal_copy_clipboard(terminal);
handled = TRUE;
suppress_meta_esc = TRUE;
+ }
+ }
+
+ if ((modifiers & (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) == (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) {
+ vte_terminal_paste_primary(terminal);
+ handled = TRUE;
+ suppress_meta_esc = TRUE;
+ } else if (modifiers & (GDK_MOD1_MASK|GDK_META_MASK|0x2000)) {
+ if (modifiers & GDK_CONTROL_MASK) {
+ vte_terminal_copy_clipboard(terminal);
+ handled = TRUE;
+ suppress_meta_esc = TRUE;
+ } else if (modifiers & GDK_SHIFT_MASK) {
+ vte_terminal_paste_clipboard(terminal);
+ handled = TRUE;
+ suppress_meta_esc = TRUE;
+ }
}
break;
/* Keypad/motion keys. */
|