aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authork0ga <k0ga@shike2.com>2020-05-16 09:48:18 +0000
committerHiltjo Posthuma <hiltjo@codemadness.org>2020-05-16 12:37:14 +0200
commitbda9c9ffa645ee5e4b2507474ebfa1c5efb889b2 (patch)
treec3c312e78453af54fc25ace08a0f4b0a37b67e72
parent045a0fab4f80b57f4a982ae6bc5f33fe21d66111 (diff)
downloadst-bda9c9ffa645ee5e4b2507474ebfa1c5efb889b2.tar.gz
st-bda9c9ffa645ee5e4b2507474ebfa1c5efb889b2.tar.bz2
st-bda9c9ffa645ee5e4b2507474ebfa1c5efb889b2.zip
Make shift+wheel behaves as shift+Prev/Next
St uses a very good hack where mouse wheel genereates ^Y and ^E, that are the same keys that less and vi uses for backward and fordward scrolling. Scroll, as many terminal emulators, use shift+Prev/Next for scrolling, but it is also using ^E and ^Y for scroling, characters that are reserved in the POSIX shell in emacs mode for end of line and yanking, making scroll unsable in st. This patch adds a new hack, making shift+wheel returning the same sequences than shift+Prev/Next, meaning that scroll or any other similar program will not be able to differentiate between them.
-rw-r--r--config.def.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/config.def.h b/config.def.h
index fdbacfd..293e00c 100644
--- a/config.def.h
+++ b/config.def.h
@@ -171,7 +171,9 @@ static uint forcemousemod = ShiftMask;
static MouseShortcut mshortcuts[] = {
/* mask button function argument release */
{ XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 },
+ { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} },
{ XK_ANY_MOD, Button4, ttysend, {.s = "\031"} },
+ { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} },
{ XK_ANY_MOD, Button5, ttysend, {.s = "\005"} },
};