sites

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

commit adc927374407ee9a73430425353e3a61b312f72e
parent ce8d2acb4775ac1bd2d7244661d89b15eff75ed0
Author: NRK <nrk@disroot.org>
Date:   Sat, 10 Dec 2022 09:54:29 +0600

[dmenu][preselect]: port to v5.2

Diffstat:
Atools.suckless.org/dmenu/patches/preselect/dmenu-preselect-5.2.diff | 60++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mtools.suckless.org/dmenu/patches/preselect/index.md | 2++
2 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/tools.suckless.org/dmenu/patches/preselect/dmenu-preselect-5.2.diff b/tools.suckless.org/dmenu/patches/preselect/dmenu-preselect-5.2.diff @@ -0,0 +1,60 @@ +diff --git a/config.def.h b/config.def.h +index 1edb647..95bee59 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -21,3 +21,6 @@ static unsigned int lines = 0; + * for example: " /?\"&[]" + */ + static const char worddelimiters[] = " "; ++ ++/* -n option; preselected item starting from 0 */ ++static unsigned int preselected = 0; +diff --git a/dmenu.1 b/dmenu.1 +index 323f93c..6e1ee7f 100644 +--- a/dmenu.1 ++++ b/dmenu.1 +@@ -22,6 +22,8 @@ dmenu \- dynamic menu + .IR color ] + .RB [ \-w + .IR windowid ] ++.RB [ \-n ++.IR number ] + .P + .BR dmenu_run " ..." + .SH DESCRIPTION +@@ -80,6 +82,9 @@ prints version information to stdout, then exits. + .TP + .BI \-w " windowid" + embed into windowid. ++.TP ++.BI \-n " number" ++preseslected item starting from 0. + .SH USAGE + dmenu is completely controlled by the keyboard. Items are selected using the + arrow keys, page up, page down, home, and end. +diff --git a/dmenu.c b/dmenu.c +index 27b7a30..e2e79b3 100644 +--- a/dmenu.c ++++ b/dmenu.c +@@ -679,6 +679,12 @@ setup(void) + promptw = (prompt && *prompt) ? TEXTW(prompt) - lrpad / 4 : 0; + inputw = mw / 3; /* input width: ~33% of monitor width */ + match(); ++ for (i = 0; i < preselected; i++) { ++ if (sel && sel->right && (sel = sel->right) == next) { ++ curr = next; ++ calcoffsets(); ++ } ++ } + + /* create menu window */ + swa.override_redirect = True; +@@ -757,6 +763,8 @@ main(int argc, char *argv[]) + colors[SchemeSel][ColFg] = argv[++i]; + else if (!strcmp(argv[i], "-w")) /* embedding window id */ + embed = argv[++i]; ++ else if (!strcmp(argv[i], "-n")) /* preselected item */ ++ preselected = atoi(argv[++i]); + else + usage(); + diff --git a/tools.suckless.org/dmenu/patches/preselect/index.md b/tools.suckless.org/dmenu/patches/preselect/index.md @@ -15,8 +15,10 @@ Create menu with the second item preselected: Download -------- +* [dmenu-preselect-5.2](dmenu-preselect-5.2.diff) (2022-12-10) * [dmenu-preselect-20200513-db6093f](dmenu-preselect-20200513-db6093f.diff) (2020-05-13) Authors ------- * Mathieu Moneyron <mathieu.moneyron@gmail.com> +* NRK <nrk@disroot.org> (v5.2 port)