summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-terms/rxvt-unicode/files/rxvt-unicode-9.19-secondary-wheel.patch')
-rw-r--r--x11-terms/rxvt-unicode/files/rxvt-unicode-9.19-secondary-wheel.patch123
1 files changed, 123 insertions, 0 deletions
diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.19-secondary-wheel.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.19-secondary-wheel.patch
new file mode 100644
index 00000000000..3a4d4a40981
--- /dev/null
+++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.19-secondary-wheel.patch
@@ -0,0 +1,123 @@
+secondary wheel support:
+when using the mouse wheel, if you’re on secondary screen then no scrolling
+will occur, and instead some (3, to be exact) “fake” keystrokes will be sent to
+the running application.
+
+patch by jacky
+i.am.jack.mail@gmail.com
+http://lists.schmorp.de/pipermail/rxvt-unicode/2011q4/001491.html
+
+diff -r d5f9ea7306c4 -r cca1997c1a85 doc/rxvt.1.pod
+--- a/doc/rxvt.1.pod Wed Dec 21 22:59:04 2011 +0100
++++ b/doc/rxvt.1.pod Wed Dec 21 23:01:28 2011 +0100
+@@ -455,6 +455,11 @@
+ Turn on/off secondary screen scroll (default enabled); resource
+ B<secondaryScroll>.
+
++=item B<-ssw>|B<+ssw>
++
++Turn on/off secondary screen wheel support (default disabled); resource
++B<secondaryWheel>.
++
+ =item B<-hold>|B<+hold>
+
+ Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@
+@@ -1167,6 +1172,13 @@
+ scrollback buffer and, when secondaryScreen is off, switching
+ to/from the secondary screen will instead scroll the screen up.
+
++=item B<secondaryWheel:> I<boolean>
++
++Turn on/off secondary wheel (default disabled). If enabled, when on
++secondary screen, using the mouse wheel will not scroll in the buffer
++but instead send 3 "fake" keystrokes (Up/Down arrow) to the running
++application (allows e.g. natural scrolling in B<man>, B<less>, etc).
++
+ =item B<hold>: I<boolean>
+
+ Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@
+diff -r d5f9ea7306c4 -r cca1997c1a85 src/command.C
+--- a/src/command.C Wed Dec 21 22:59:04 2011 +0100
++++ b/src/command.C Wed Dec 21 23:01:28 2011 +0100
+@@ -2197,10 +2197,46 @@
+ }
+ else
+ # endif
++#ifndef NO_SECONDARY_SCREEN
+ {
+- scr_page (dirn, lines);
+- scrollBar.show (1);
++ /* on SECONDARY screen, we send "fake" UP/DOWN keys instead
++ * (this allows to scroll within man, less, etc) */
++ if (option (Opt_secondaryWheel) && current_screen != PRIMARY)
++ {
++ XKeyEvent event;
++ event.display = ev.display;
++ event.window = ev.window;
++ event.root = ev.root;
++ event.subwindow = ev.subwindow;
++ event.time = ev.time;
++ event.x = ev.x;
++ event.y = ev.y;
++ event.x_root = ev.x_root;
++ event.y_root = ev.y_root;
++ event.same_screen = ev.same_screen;
++ event.state = 0;
++ event.keycode = XKeysymToKeycode(ev.display,
++ (dirn == UP) ? XK_Up : XK_Down);
++ for (lines = 0; lines < 3; ++lines)
++ {
++ event.type = KeyPress;
++ XSendEvent (event.display, event.window, True,
++ KeyPressMask, (XEvent *) &event);
++ event.type = KeyRelease;
++ XSendEvent (event.display, event.window, True,
++ KeyPressMask, (XEvent *) &event);
++ }
++ }
++ /* on PRIMARY screen, we scroll in the buffer */
++ else
++#endif
++ {
++ scr_page (dirn, lines);
++ scrollBar.show (1);
++ }
++#ifndef NO_SECONDARY_SCREEN
+ }
++#endif
+ }
+ break;
+ #endif
+diff -r d5f9ea7306c4 -r cca1997c1a85 src/optinc.h
+--- a/src/optinc.h Wed Dec 21 22:59:04 2011 +0100
++++ b/src/optinc.h Wed Dec 21 23:01:28 2011 +0100
+@@ -26,6 +26,7 @@
+ def(cursorBlink)
+ def(secondaryScreen)
+ def(secondaryScroll)
++ def(secondaryWheel)
+ def(pastableTabs)
+ def(cursorUnderline)
+ #if ENABLE_FRILLS
+diff -r d5f9ea7306c4 -r cca1997c1a85 src/rsinc.h
+--- a/src/rsinc.h Wed Dec 21 22:59:04 2011 +0100
++++ b/src/rsinc.h Wed Dec 21 23:01:28 2011 +0100
+@@ -102,6 +102,7 @@
+ #ifndef NO_SECONDARY_SCREEN
+ def (secondaryScreen)
+ def (secondaryScroll)
++ def (secondaryWheel)
+ #endif
+ #ifdef OFF_FOCUS_FADING
+ def (fade)
+diff -r d5f9ea7306c4 -r cca1997c1a85 src/xdefaults.C
+--- a/src/xdefaults.C Wed Dec 21 22:59:04 2011 +0100
++++ b/src/xdefaults.C Wed Dec 21 23:01:28 2011 +0100
+@@ -261,6 +261,7 @@
+ #ifndef NO_SECONDARY_SCREEN
+ BOOL (Rs_secondaryScreen, "secondaryScreen", "ssc", Opt_secondaryScreen, 0, "enable secondary screen"),
+ BOOL (Rs_secondaryScroll, "secondaryScroll", "ssr", Opt_secondaryScroll, 0, "enable secondary screen scroll"),
++ BOOL (Rs_secondaryWheel, "secondaryWheel", "ssw", Opt_secondaryWheel, 0, "enable secondary screen wheel"),
+ #endif
+ #if ENABLE_PERL
+ RSTRG (Rs_perl_lib, "perl-lib", "string"), //, "colon-separated directories with extension scripts"),TODO