summaryrefslogtreecommitdiffstats
path: root/x11-libs/vte/files/vte-0.30.1-ds-mc.diff
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. */