sites

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

commit 8700e556cc3d641483c57dd43afd7a37a0a7450a
parent 0aac310cedbde3d1b729b7de2191ccd5e4e3385b
Author: Nik-Nothing <niktopel@gmail.com>
Date:   Fri, 20 Jan 2023 13:19:05 +0000

adjusted dmenu gridnav patch for 5.2

Diffstat:
Atools.suckless.org/dmenu/patches/gridnav/dmenu-gridnav-5.2.diff | 69+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mtools.suckless.org/dmenu/patches/gridnav/index.md | 1+
2 files changed, 70 insertions(+), 0 deletions(-)

diff --git a/tools.suckless.org/dmenu/patches/gridnav/dmenu-gridnav-5.2.diff b/tools.suckless.org/dmenu/patches/gridnav/dmenu-gridnav-5.2.diff @@ -0,0 +1,69 @@ +diff --git a/dmenu.c b/dmenu.c +index 027dddb..0b92f1f 100644 +--- a/dmenu.c ++++ b/dmenu.c +@@ -334,6 +334,8 @@ keypress(XKeyEvent *ev) + int len; + KeySym ksym = NoSymbol; + Status status; ++ int i, offscreen = 0; ++ struct item *tmpsel; + + len = XmbLookupString(xic, ev, buf, sizeof buf, &ksym, &status); + switch (status) { +@@ -465,6 +467,27 @@ insert: + calcoffsets(); + break; + case XK_Left: ++ if (columns > 1) { ++ if (!sel) ++ return; ++ tmpsel = sel; ++ for (i = 0; i < lines; i++) { ++ if (!tmpsel->left || tmpsel->left->right != tmpsel) { ++ if (offscreen) ++ break; ++ return; ++ } ++ if (tmpsel == curr) ++ offscreen = 1; ++ tmpsel = tmpsel->left; ++ } ++ sel = tmpsel; ++ if (offscreen) { ++ curr = prev; ++ calcoffsets(); ++ } ++ break; ++ } + case XK_KP_Left: + if (cursor > 0 && (!sel || !sel->left || lines > 0)) { + cursor = nextrune(-1); +@@ -505,6 +528,27 @@ insert: + sel->out = 1; + break; + case XK_Right: ++ if (columns > 1) { ++ if (!sel) ++ return; ++ tmpsel = sel; ++ for (i = 0; i < lines; i++) { ++ if (!tmpsel->right || tmpsel->right->left != tmpsel) { ++ if (offscreen) ++ break; ++ return; ++ } ++ tmpsel = tmpsel->right; ++ if (tmpsel == next) ++ offscreen = 1; ++ } ++ sel = tmpsel; ++ if (offscreen) { ++ curr = next; ++ calcoffsets(); ++ } ++ break; ++ } + case XK_KP_Right: + if (text[cursor] != '\0') { + cursor = nextrune(+1); diff --git a/tools.suckless.org/dmenu/patches/gridnav/index.md b/tools.suckless.org/dmenu/patches/gridnav/index.md @@ -6,6 +6,7 @@ Apply this patch after grid. Download -------- * [dmenu-gridnav-5.0.diff](dmenu-gridnav-5.0.diff) +* [dmenu-gridnav-5.2.diff](dmenu-gridnav-5.2.diff) Author ------