From 0ad3d4eddfb0c260791dc3a6383f3a1047c972ab Mon Sep 17 00:00:00 2001 From: Kornelije Sajler Date: Wed, 25 Apr 2018 22:15:11 +0200 Subject: Updated st 0.8.1. Used new patches, scrollblock and alpha fixed. Created run-patches.sh, runs all patches on clean st 0.8.1 code. All old patches remvoed, including trasparency diff. Not including solarized theme, don't see value of it. Commented colornames array with color indexs from 0-15, includes index 255, and afterwards bg, fg and cursor, change those for background, foreground and cursor color. Seems better than solarized toggle. Updated README. --- patches/st-scrollback-mouse-0.8.diff | 71 ++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 patches/st-scrollback-mouse-0.8.diff (limited to 'patches/st-scrollback-mouse-0.8.diff') diff --git a/patches/st-scrollback-mouse-0.8.diff b/patches/st-scrollback-mouse-0.8.diff new file mode 100644 index 0000000..3b2729e --- /dev/null +++ b/patches/st-scrollback-mouse-0.8.diff @@ -0,0 +1,71 @@ +diff --git a/config.def.h b/config.def.h +index 27d42ca..feec7e2 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -156,8 +156,14 @@ static unsigned int defaultattr = 11; + */ + static MouseShortcut mshortcuts[] = { + /* button mask string */ +- { Button4, XK_ANY_MOD, "\031" }, +- { Button5, XK_ANY_MOD, "\005" }, ++ { Button4, XK_NO_MOD, "\031" }, ++ { Button5, XK_NO_MOD, "\005" }, ++}; ++ ++MouseKey mkeys[] = { ++ /* button mask function argument */ ++ { Button4, ShiftMask, kscrollup, {.i = 1} }, ++ { Button5, ShiftMask, kscrolldown, {.i = 1} }, + }; + + /* Internal keyboard shortcuts. */ +diff --git a/st.h b/st.h +index 628e876..cdd25ae 100644 +--- a/st.h ++++ b/st.h +@@ -81,6 +81,13 @@ typedef union { + const void *v; + } Arg; + ++typedef struct { ++ uint b; ++ uint mask; ++ void (*func)(const Arg *); ++ const Arg arg; ++} MouseKey; ++ + void die(const char *, ...); + void redraw(void); + void draw(void); +@@ -129,3 +136,4 @@ extern char *termname; + extern unsigned int tabspaces; + extern unsigned int defaultfg; + extern unsigned int defaultbg; ++extern MouseKey mkeys[]; +diff --git a/x.c b/x.c +index d43a529..754d859 100644 +--- a/x.c ++++ b/x.c +@@ -409,6 +409,7 @@ bpress(XEvent *e) + { + struct timespec now; + MouseShortcut *ms; ++ MouseKey *mk; + int snap; + + if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) { +@@ -424,6 +425,14 @@ bpress(XEvent *e) + } + } + ++ for (mk = mkeys; mk < mkeys + LEN(mkeys); mk++) { ++ if (e->xbutton.button == mk->b ++ && match(mk->mask, e->xbutton.state)) { ++ mk->func(&mk->arg); ++ return; ++ } ++ } ++ + if (e->xbutton.button == Button1) { + /* + * If the user clicks below predefined timeouts specific -- cgit v1.2.3