Introduction
Introduction Statistics Contact Development Disclaimer Help
dmenu-preselect-20200513-db6093f.diff - sites - public wiki contents of suckles…
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dmenu-preselect-20200513-db6093f.diff (2390B)
---
1 From 055e86dee88c5135b3d3a691942a915334d1b3a2 Mon Sep 17 00:00:00 2001
2 From: Mathieu Moneyron <[email protected]>
3 Date: Wed, 13 May 2020 17:28:37 +0200
4 Subject: [PATCH] Added option to preselect an item by providing a number
5
6 ---
7 config.def.h | 3 +++
8 dmenu.1 | 5 +++++
9 dmenu.c | 15 ++++++++++++++-
10 3 files changed, 22 insertions(+), 1 deletion(-)
11
12 diff --git a/config.def.h b/config.def.h
13 index 1edb647..95bee59 100644
14 --- a/config.def.h
15 +++ b/config.def.h
16 @@ -21,3 +21,6 @@ static unsigned int lines = 0;
17 * for example: " /?\"&[]"
18 */
19 static const char worddelimiters[] = " ";
20 +
21 +/* -n option; preselected item starting from 0 */
22 +static unsigned int preselected = 0;
23 diff --git a/dmenu.1 b/dmenu.1
24 index 323f93c..6e1ee7f 100644
25 --- a/dmenu.1
26 +++ b/dmenu.1
27 @@ -22,6 +22,8 @@ dmenu \- dynamic menu
28 .IR color ]
29 .RB [ \-w
30 .IR windowid ]
31 +.RB [ \-n
32 +.IR number ]
33 .P
34 .BR dmenu_run " ..."
35 .SH DESCRIPTION
36 @@ -80,6 +82,9 @@ prints version information to stdout, then exits.
37 .TP
38 .BI \-w " windowid"
39 embed into windowid.
40 +.TP
41 +.BI \-n " number"
42 +preseslected item starting from 0.
43 .SH USAGE
44 dmenu is completely controlled by the keyboard. Items are selected usi…
45 arrow keys, page up, page down, home, and end.
46 diff --git a/dmenu.c b/dmenu.c
47 index 65f25ce..0a02609 100644
48 --- a/dmenu.c
49 +++ b/dmenu.c
50 @@ -551,8 +551,19 @@ static void
51 run(void)
52 {
53 XEvent ev;
54 + int i;
55
56 while (!XNextEvent(dpy, &ev)) {
57 + if (preselected) {
58 + for (i = 0; i < preselected; i++) {
59 + if (sel && sel->right && (sel = sel->ri…
60 + curr = next;
61 + calcoffsets();
62 + }
63 + }
64 + drawmenu();
65 + preselected = 0;
66 + }
67 if (XFilterEvent(&ev, win))
68 continue;
69 switch(ev.type) {
70 @@ -690,7 +701,7 @@ static void
71 usage(void)
72 {
73 fputs("usage: dmenu [-bfiv] [-l lines] [-p prompt] [-fn font] […
74 - " [-nb color] [-nf color] [-sb color] [-sf co…
75 + " [-nb color] [-nf color] [-sb color] [-sf co…
76 exit(1);
77 }
78
79 @@ -733,6 +744,8 @@ main(int argc, char *argv[])
80 colors[SchemeSel][ColFg] = argv[++i];
81 else if (!strcmp(argv[i], "-w")) /* embedding window …
82 embed = argv[++i];
83 + else if (!strcmp(argv[i], "-n")) /* preselected item …
84 + preselected = atoi(argv[++i]);
85 else
86 usage();
87
88 --
89 2.26.2
90
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.