[wiki] [sites] [st][patch]Port scrollback mouse patches to latest || asparagii

From: <git_AT_suckless.org>
Date: Thu, 27 Jan 2022 16:11:54 +0100

commit c139687b544be2a8630b10f7d1e78953cab012e0
Author: asparagii <michele.lambertucci1_AT_gmail.com>
Date: Thu Jan 27 16:10:34 2022 +0100

    [st][patch]Port scrollback mouse patches to latest

diff --git a/st.suckless.org/patches/scrollback/index.md b/st.suckless.org/patches/scrollback/index.md
index f998fb10..189f375b 100644
--- a/st.suckless.org/patches/scrollback/index.md
+++ b/st.suckless.org/patches/scrollback/index.md
_AT_@ -18,6 +18,7 @@ using `Shift+MouseWheel`.
 * [st-scrollback-mouse-0.8.diff](st-scrollback-mouse-0.8.diff)
 * [st-scrollback-mouse-0.8.2.diff](st-scrollback-mouse-0.8.2.diff)
 * [st-scrollback-mouse-20191024-a2c479c.diff](st-scrollback-mouse-20191024-a2c479c.diff)
+* [st-scrollback-mouse-20220127-2c5edf2.diff](st-scrollback-mouse-20220127-2c5edf2.diff)
 
 Apply the following patch on top of the previous two to allow scrollback using
 mouse wheel only when not in `MODE_ALTSCREEN`. For example the content is being
_AT_@ -29,6 +30,7 @@ modifier for scrolling is not needed anymore. **Note: patches before
 * [st-scrollback-mouse-altscreen-0.8.diff](st-scrollback-mouse-altscreen-0.8.diff)
 * [st-scrollback-mouse-altscreen-20190131-e23acb9.diff](st-scrollback-mouse-altscreen-20190131-e23acb9.diff)
 * [st-scrollback-mouse-altscreen-20200416-5703aa0.diff](st-scrollback-mouse-altscreen-20200416-5703aa0.diff)
+* [st-scrollback-mouse-altscreen-20220127-2c5edf2.diff](st-scrollback-mouse-altscreen-20220127-2c5edf2.diff)
 
 Apply the following patch on top of the first two to allow changing how fast the mouse scrolls.
 
diff --git a/st.suckless.org/patches/scrollback/st-scrollback-mouse-20220127-2c5edf2.diff b/st.suckless.org/patches/scrollback/st-scrollback-mouse-20220127-2c5edf2.diff
new file mode 100644
index 00000000..5c47abcb
--- /dev/null
+++ b/st.suckless.org/patches/scrollback/st-scrollback-mouse-20220127-2c5edf2.diff
_AT_@ -0,0 +1,25 @@
+From b5d3351a21442a842e01e8c0317603b6890b379c Mon Sep 17 00:00:00 2001
+From: asparagii <michele.lambertucci1_AT_gmail.com>
+Date: Thu, 27 Jan 2022 15:44:02 +0100
+Subject: [PATCH] st-scrollback-mouse
+
+---
+ config.def.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/config.def.h b/config.def.h
+index e3b469b..c217315 100644
+--- a/config.def.h
++++ b/config.def.h
+_AT_@ -176,6 +176,8 @@ static uint forcemousemod = ShiftMask;
+ */
+ static MouseShortcut mshortcuts[] = {
+ /* mask button function argument release */
++ { ShiftMask, Button4, kscrollup, {.i = 1} },
++ { ShiftMask, Button5, kscrolldown, {.i = 1} },
+ { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 },
+ { ShiftMask, Button4, ttysend, {.s = "[5;2~"} },
+ { XK_ANY_MOD, Button4, ttysend, {.s = ""} },
+--
+2.34.1
+
diff --git a/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20220127-2c5edf2.diff b/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20220127-2c5edf2.diff
new file mode 100644
index 00000000..6a8722b1
--- /dev/null
+++ b/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20220127-2c5edf2.diff
_AT_@ -0,0 +1,78 @@
+From 580e3f386e9215707100e9ba44797701943fd927 Mon Sep 17 00:00:00 2001
+From: asparagii <michele.lambertucci1_AT_gmail.com>
+Date: Thu, 27 Jan 2022 15:49:27 +0100
+Subject: [PATCH] st-scrollback-mouse-altscreen
+
+---
+ config.def.h | 4 ++--
+ st.c | 5 +++++
+ st.h | 1 +
+ x.c | 2 ++
+ 4 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/config.def.h b/config.def.h
+index c217315..c223706 100644
+--- a/config.def.h
++++ b/config.def.h
+_AT_@ -176,8 +176,8 @@ static uint forcemousemod = ShiftMask;
+ */
+ static MouseShortcut mshortcuts[] = {
+ /* mask button function argument release */
+- { ShiftMask, Button4, kscrollup, {.i = 1} },
+- { ShiftMask, Button5, kscrolldown, {.i = 1} },
++ { XK_ANY_MOD, Button4, kscrollup, {.i = 1}, 0, /* !alt */ -1 },
++ { XK_ANY_MOD, Button5, kscrolldown, {.i = 1}, 0, /* !alt */ -1 },
+ { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 },
+ { ShiftMask, Button4, ttysend, {.s = "[5;2~"} },
+ { XK_ANY_MOD, Button4, ttysend, {.s = ""} },
+diff --git a/st.c b/st.c
+index f3af82b..876a6bf 100644
+--- a/st.c
++++ b/st.c
+_AT_@ -1060,6 +1060,11 @@ tnew(int col, int row)
+ treset();
+ }
+
++int tisaltscr(void)
++{
++ return IS_SET(MODE_ALTSCREEN);
++}
++
+ void
+ tswapscreen(void)
+ {
+diff --git a/st.h b/st.h
+index da36b34..e95c6f8 100644
+--- a/st.h
++++ b/st.h
+_AT_@ -89,6 +89,7 @@ void sendbreak(const Arg *);
+ void toggleprinter(const Arg *);
+
+ int tattrset(int);
++int tisaltscr(void);
+ void tnew(int, int);
+ void tresize(int, int);
+ void tsetdirtattr(int);
+diff --git a/x.c b/x.c
+index cd96575..9274556 100644
+--- a/x.c
++++ b/x.c
+_AT_@ -34,6 +34,7 @@ typedef struct {
+ void (*func)(const Arg *);
+ const Arg arg;
+ uint release;
++ int altscrn; /* 0: don't care, -1: not alt screen, 1: alt screen */
+ } MouseShortcut;
+
+ typedef struct {
+_AT_@ -455,6 +456,7 @@ mouseaction(XEvent *e, uint release)
+ for (ms = mshortcuts; ms < mshortcuts + LEN(mshortcuts); ms++) {
+ if (ms->release == release &&
+ ms->button == e->xbutton.button &&
++ (!ms->altscrn || (ms->altscrn == (tisaltscr() ? 1 : -1))) &&
+ (match(ms->mod, state) || /* exact or forced */
+ match(ms->mod, state & ~forcemousemod))) {
+ ms->func(&(ms->arg));
+--
+2.34.1
+
Received on Thu Jan 27 2022 - 16:11:54 CET

This archive was generated by hypermail 2.3.0 : Thu Jan 27 2022 - 16:12:44 CET