Introduction
Introduction Statistics Contact Development Disclaimer Help
dmenu-lineheight-5.2.diff - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dmenu-lineheight-5.2.diff (3464B)
---
1 From ba103e38ea4ab07f9a3ee90627714b9bea17c329 Mon Sep 17 00:00:00 2001
2 From: pskry <[email protected]>
3 Date: Sun, 8 Nov 2020 22:04:22 +0100
4 Subject: [PATCH] Add an option which defines the lineheight
5
6 Despite both the panel and dmenu using the same font (a Terminus 12),
7 dmenu is shorter and the panel is visible from under the dmenu bar.
8 The appearance can be even more distracting when using similar colors
9 for background and selections. With the option added by this patch,
10 dmenu can be launched with a '-h 24', thus completely covering the panel.
11 ---
12 config.def.h | 3 +++
13 dmenu.1 | 5 +++++
14 dmenu.c | 11 ++++++++---
15 3 files changed, 16 insertions(+), 3 deletions(-)
16
17 diff --git a/config.def.h b/config.def.h
18 index 1edb647..4394dec 100644
19 --- a/config.def.h
20 +++ b/config.def.h
21 @@ -15,6 +15,9 @@ static const char *colors[SchemeLast][2] = {
22 };
23 /* -l option; if nonzero, dmenu uses vertical list with given number of…
24 static unsigned int lines = 0;
25 +/* -h option; minimum height of a menu line */
26 +static unsigned int lineheight = 0;
27 +static unsigned int min_lineheight = 8;
28
29 /*
30 * Characters not considered part of a word while deleting words
31 diff --git a/dmenu.1 b/dmenu.1
32 index 323f93c..f2a82b4 100644
33 --- a/dmenu.1
34 +++ b/dmenu.1
35 @@ -6,6 +6,8 @@ dmenu \- dynamic menu
36 .RB [ \-bfiv ]
37 .RB [ \-l
38 .IR lines ]
39 +.RB [ \-h
40 +.IR height ]
41 .RB [ \-m
42 .IR monitor ]
43 .RB [ \-p
44 @@ -50,6 +52,9 @@ dmenu matches menu items case insensitively.
45 .BI \-l " lines"
46 dmenu lists items vertically, with the given number of lines.
47 .TP
48 +.BI \-h " height"
49 +dmenu uses a menu line of at least 'height' pixels tall, but no less th…
50 +.TP
51 .BI \-m " monitor"
52 dmenu is displayed on the monitor number supplied. Monitor numbers are …
53 from 0.
54 diff --git a/dmenu.c b/dmenu.c
55 index e7be8af..82b204b 100644
56 --- a/dmenu.c
57 +++ b/dmenu.c
58 @@ -148,7 +148,7 @@ drawmenu(void)
59 {
60 unsigned int curpos;
61 struct item *item;
62 - int x = 0, y = 0, w;
63 + int x = 0, y = 0, fh = drw->fonts->h, w;
64
65 drw_setscheme(drw, scheme[SchemeNorm]);
66 drw_rect(drw, 0, 0, mw, mh, 1, 1);
67 @@ -165,7 +165,7 @@ drawmenu(void)
68 curpos = TEXTW(text) - TEXTW(&text[cursor]);
69 if ((curpos += lrpad / 2 - 1) < w) {
70 drw_setscheme(drw, scheme[SchemeNorm]);
71 - drw_rect(drw, x + curpos, 2, 2, bh - 4, 1, 0);
72 + drw_rect(drw, x + curpos, 2 + (bh - fh) / 2, 2, fh - 4,…
73 }
74
75 if (lines > 0) {
76 @@ -630,6 +630,7 @@ setup(void)
77
78 /* calculate menu geometry */
79 bh = drw->fonts->h + 2;
80 + bh = MAX(bh,lineheight); /* make a menu line AT LEAST 'l…
81 lines = MAX(lines, 0);
82 mh = (lines + 1) * bh;
83 #ifdef XINERAMA
84 @@ -710,7 +711,7 @@ setup(void)
85 static void
86 usage(void)
87 {
88 - die("usage: dmenu [-bfiv] [-l lines] [-p prompt] [-fn font] [-m…
89 + die("usage: dmenu [-bfiv] [-l lines] [-h height] [-p prompt] [-…
90 " [-nb color] [-nf color] [-sb color] [-sf colo…
91 }
92
93 @@ -737,6 +738,10 @@ main(int argc, char *argv[])
94 /* these options take one argument */
95 else if (!strcmp(argv[i], "-l")) /* number of lines i…
96 lines = atoi(argv[++i]);
97 + else if (!strcmp(argv[i], "-h")) { /* minimum height of…
98 + lineheight = atoi(argv[++i]);
99 + lineheight = MAX(lineheight, min_lineheight);
100 + }
101 else if (!strcmp(argv[i], "-m"))
102 mon = atoi(argv[++i]);
103 else if (!strcmp(argv[i], "-p")) /* adds prompt to le…
104 --
105 2.38.1
106
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.