summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Hahler2017-05-07 02:48:54 +0200
committerDaniel Hahler2017-05-07 02:49:34 +0200
commit4a7554aaf9f2e731a50c6f739291f1729eaa86d8 (patch)
tree7420b97dde7a85615504aeccbda7d950a09fb96b
parent116e807e27778ea1c0cee825ec1f412896e596dc (diff)
downloadaur-4a7554aaf9f2e731a50c6f739291f1729eaa86d8.tar.gz
Inline sgr-mouse-mode.patch, to be updated
-rw-r--r--PKGBUILD4
-rw-r--r--sgr-mouse-mode.patch91
2 files changed, 93 insertions, 2 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 520d27fdc97..15c832c1f96 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -24,14 +24,14 @@ source=('urxvt.desktop'
'urxvt-tabbed.desktop'
'font-width-fix.patch'
'line-spacing-fix.patch'
- 'https://gist.githubusercontent.com/alexoj/df5bae7a4825cb596581/raw/75a1e75c2ae1ec5c0db68a29f8a6821e9e3d87a5/sgr-mouse-mode.patch'
+ 'sgr-mouse-mode.patch'
'enable-wide-glyphs.patch')
sha1sums=('b5a4507f85ebb7bac589db2e07d9bc40106720d9'
'62c4ffecfce6967def394dd4d418b68652372ea2'
'cd204d608d114d39c80331efe0af0231ad6b7e18'
'01ee8f212add79a158dcd4ed78d0ea1324bdc59b'
'b7fde1c46af45e831828738874f14b092b1e795f'
- 'a1937c4f84bcdddb125ad397b6cd90a87b34cd01'
+ '2452b1e80df60747fc0c176157b2da64ddf337ec'
'b2f3dd43851106dfadead7566d7d0e1339281e43')
prepare() {
diff --git a/sgr-mouse-mode.patch b/sgr-mouse-mode.patch
new file mode 100644
index 00000000000..d168ec50f51
--- /dev/null
+++ b/sgr-mouse-mode.patch
@@ -0,0 +1,91 @@
+Source: https://gist.githubusercontent.com/alexoj/df5bae7a4825cb596581/raw/75a1e75c2ae1ec5c0db68a29f8a6821e9e3d87a5/sgr-mouse-mode.patch
+--- src/command.C 2014-12-13 13:22:09.000000000 +0100
++++ src/command.C 2016-01-13 04:50:39.161862513 +0100
+@@ -1280,6 +1280,8 @@
+ int x, y;
+ int code = 32;
+
++ if (priv_modes & PrivMode_ExtMouseSgr) code = 0;
++
+ x = Pixel2Col (ev.x) + 1;
+ y = Pixel2Row (ev.y) + 1;
+
+@@ -1293,11 +1295,18 @@
+ code += 32;
+ }
+
+- if (MEvent.button == AnyButton)
++ if (!(priv_modes & PrivMode_ExtMouseSgr) && MEvent.button == AnyButton)
+ button_number = 3;
+ else
+ {
+- button_number = MEvent.button - Button1;
++ if (ev.type == MotionNotify) {
++ if (ev.state & Button1Mask) button_number = 0;
++ else if (ev.state & Button2Mask) button_number = 1;
++ else if (ev.state & Button3Mask) button_number = 2;
++ else return;
++ } else {
++ button_number = ev.button - Button1;
++ }
+ /* add 0x3D for wheel events, like xterm does */
+ if (button_number >= 3)
+ button_number += 64 - 3;
+@@ -1347,16 +1356,22 @@
+ #endif
+
+ #if ENABLE_FRILLS
++ if (priv_modes & PrivMode_ExtMouseSgr)
++ tt_printf ("\033[<%d;%d;%d%c",
++ code + button_number + key_state,
++ x,
++ y,
++ (ev.type == ButtonRelease ? 'm' : 'M'));
+- if (priv_modes & PrivMode_ExtMouseRight)
++ else if (priv_modes & PrivMode_ExtMouseRight)
+ tt_printf ("\033[%d;%d;%dM",
+ code + button_number + key_state,
+ x,
+ y);
+ else if (priv_modes & PrivMode_ExtModeMouse)
+ tt_printf ("\033[M%c%lc%lc",
+ code + button_number + key_state,
+ wint_t (32 + x),
+ wint_t (32 + y));
+ else
+ #endif
+ tt_printf ("\033[M%c%c%c",
+@@ -2908,7 +2913,7 @@
+ scr_soft_reset ();
+
+ static const int pm_h[] = { 7, 25 };
+- static const int pm_l[] = { 1, 3, 4, 5, 6, 9, 66, 1000, 1001, 1005, 1015, 1049 };
++ static const int pm_l[] = { 1, 3, 4, 5, 6, 9, 66, 1000, 1001, 1002, 1003, 1005, 1006, 1015, 1049 };
+
+ process_terminal_mode ('h', 0, ecb_array_length (pm_h), pm_h);
+ process_terminal_mode ('l', 0, ecb_array_length (pm_l), pm_l);
+@@ -3713,13 +3718,14 @@
+ { 1002, PrivMode_MouseBtnEvent },
+ { 1003, PrivMode_MouseAnyEvent },
+ #if ENABLE_FRILLS
+ { 1005, PrivMode_ExtModeMouse },
++ { 1006, PrivMode_ExtMouseSgr },
+ #endif
+ { 1010, PrivMode_TtyOutputInh }, // rxvt extension
+ { 1011, PrivMode_Keypress }, // rxvt extension
+ #if ENABLE_FRILLS
+ { 1015, PrivMode_ExtMouseRight }, // urxvt extension of 1005
+ #endif
+ // 1035 enable modifiers for alt, numlock NYI
+ // 1036 send ESC for meta keys NYI
+ // 1037 send DEL for keypad delete NYI
+--- src/rxvt.h 2014-12-17 16:33:08.000000000 +0100
++++ src/rxvt.h 2016-01-13 03:42:31.508911380 +0100
+@@ -644,6 +644,7 @@
+ #define PrivMode_ExtModeMouse (1UL<<23) // xterm pseudo-utf-8 hack
+ #define PrivMode_ExtMouseRight (1UL<<24) // xterm pseudo-utf-8, but works in non-utf-8-locales
+ #define PrivMode_BlinkingCursor (1UL<<25)
++#define PrivMode_ExtMouseSgr (1UL<<26) // sgr mouse extension
+
+ #define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11|PrivMode_MouseBtnEvent|PrivMode_MouseAnyEvent)
+