Introduction
Introduction Statistics Contact Development Disclaimer Help
dmenu-lineheight-4.9.diff - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dmenu-lineheight-4.9.diff (3306B)
---
1 From 87f92a561c31246f6f9effc0e89ef92677c87746 Mon Sep 17 00:00:00 2001
2 From: astier <[email protected]>
3 Date: Wed, 27 Feb 2019 21:44:55 +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 | 1 +
13 dmenu.1 | 3 +++
14 dmenu.c | 10 ++++++++--
15 3 files changed, 12 insertions(+), 2 deletions(-)
16
17 diff --git a/config.def.h b/config.def.h
18 index 1edb647..317fa2f 100644
19 --- a/config.def.h
20 +++ b/config.def.h
21 @@ -15,6 +15,7 @@ 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 +static unsigned int lineheight = 0; /* -h option; minimum heigh…
26
27 /*
28 * Characters not considered part of a word while deleting words
29 diff --git a/dmenu.1 b/dmenu.1
30 index 323f93c..7ef34d2 100644
31 --- a/dmenu.1
32 +++ b/dmenu.1
33 @@ -50,6 +50,9 @@ dmenu matches menu items case insensitively.
34 .BI \-l " lines"
35 dmenu lists items vertically, with the given number of lines.
36 .TP
37 +.BI \-h " height"
38 +dmenu uses a menu line of at least 'height' pixels tall, but no less th…
39 +.TP
40 .BI \-m " monitor"
41 dmenu is displayed on the monitor number supplied. Monitor numbers are …
42 from 0.
43 diff --git a/dmenu.c b/dmenu.c
44 index 6b8f51b..45d1946 100644
45 --- a/dmenu.c
46 +++ b/dmenu.c
47 @@ -131,7 +131,7 @@ drawmenu(void)
48 {
49 unsigned int curpos;
50 struct item *item;
51 - int x = 0, y = 0, w;
52 + int x = 0, y = 0, fh = drw->fonts->h, w;
53
54 drw_setscheme(drw, scheme[SchemeNorm]);
55 drw_rect(drw, 0, 0, mw, mh, 1, 1);
56 @@ -148,7 +148,7 @@ drawmenu(void)
57 curpos = TEXTW(text) - TEXTW(&text[cursor]);
58 if ((curpos += lrpad / 2 - 1) < w) {
59 drw_setscheme(drw, scheme[SchemeNorm]);
60 - drw_rect(drw, x + curpos, 2, 2, bh - 4, 1, 0);
61 + drw_rect(drw, x + curpos, 2 + (bh-fh)/2, 2, fh - 4, 1, …
62 }
63
64 if (lines > 0) {
65 @@ -604,6 +604,7 @@ setup(void)
66
67 /* calculate menu geometry */
68 bh = drw->fonts->h + 2;
69 + bh = MAX(bh,lineheight); /* make a menu line AT LEAST 'l…
70 lines = MAX(lines, 0);
71 mh = (lines + 1) * bh;
72 #ifdef XINERAMA
73 @@ -683,6 +684,7 @@ static void
74 usage(void)
75 {
76 fputs("usage: dmenu [-bfiv] [-l lines] [-p prompt] [-fn font] […
77 + " [-h height]\n"
78 " [-nb color] [-nf color] [-sb color] [-sf co…
79 exit(1);
80 }
81 @@ -716,6 +718,10 @@ main(int argc, char *argv[])
82 prompt = argv[++i];
83 else if (!strcmp(argv[i], "-fn")) /* font or font set …
84 fonts[0] = argv[++i];
85 + else if(!strcmp(argv[i], "-h")) { /* minimum height of …
86 + lineheight = atoi(argv[++i]);
87 + lineheight = MAX(lineheight,8); /* reasonable d…
88 + }
89 else if (!strcmp(argv[i], "-nb")) /* normal background…
90 colors[SchemeNorm][ColBg] = argv[++i];
91 else if (!strcmp(argv[i], "-nf")) /* normal foreground…
92 --
93 2.21.0
94
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.