sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit 37017973541b44a53e06181ad10048b9150f060f
parent 5dd8fed478d7c0f77312693ea638c2bf046819ee
Author: Ivan Tham <pickfire@riseup.net>
Date:   Thu, 16 Apr 2020 12:41:09 +0800

[st][scrollback-mouse-altscreen] Update patch

Diffstat:
Mst.suckless.org/patches/scrollback/index.md | 2+-
Dst.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20191024-a2c479c.diff | 63---------------------------------------------------------------
Ast.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20200416-5703aa0.diff | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 64 insertions(+), 64 deletions(-)

diff --git a/st.suckless.org/patches/scrollback/index.md b/st.suckless.org/patches/scrollback/index.md @@ -30,7 +30,7 @@ modifier for scrolling is not needed anymore. **Note: patches before * [st-scrollback-mouse-altscreen-20170427-5a10aca.diff](st-scrollback-mouse-altscreen-20170427-5a10aca.diff) * [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-20191024-a2c479c.diff](st-scrollback-mouse-altscreen-20191024-a2c479c.diff) +* [st-scrollback-mouse-altscreen-20200416-5703aa0.diff](st-scrollback-mouse-altscreen-20200416-5703aa0.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-altscreen-20191024-a2c479c.diff b/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20191024-a2c479c.diff @@ -1,63 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index 4b3bf15..1986316 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -163,8 +163,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 }, - { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, - { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, -diff --git a/st.c b/st.c -index 9a4f5a4..eb5bd86 100644 ---- a/st.c -+++ b/st.c -@@ -1040,6 +1040,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 1332cf1..f9ad815 100644 ---- a/st.h -+++ b/st.h -@@ -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 6406925..de41086 100644 ---- a/x.c -+++ b/x.c -@@ -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 { -@@ -426,6 +427,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, e->xbutton.state) || /* exact or forced */ - match(ms->mod, e->xbutton.state & ~forcemousemod))) { - ms->func(&(ms->arg)); diff --git a/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20200416-5703aa0.diff b/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20200416-5703aa0.diff @@ -0,0 +1,63 @@ +diff --git config.def.h config.def.h +index 4b3bf15..1986316 100644 +--- config.def.h ++++ config.def.h +@@ -163,8 +163,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 }, + { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, + { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, +diff --git st.c st.c +index f8b6f67..dd4cb31 100644 +--- st.c ++++ st.c +@@ -1045,6 +1045,11 @@ tnew(int col, int row) + treset(); + } + ++int tisaltscr(void) ++{ ++ return IS_SET(MODE_ALTSCREEN); ++} ++ + void + tswapscreen(void) + { +diff --git st.h st.h +index 1332cf1..f9ad815 100644 +--- st.h ++++ st.h +@@ -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 x.c x.c +index e5f1737..b8fbd7b 100644 +--- x.c ++++ x.c +@@ -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 { +@@ -446,6 +447,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));