Introduction
Introduction Statistics Contact Development Disclaimer Help
dmenu-center-4.8.diff - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dmenu-center-4.8.diff (1452B)
---
1 diff --git a/dmenu.c b/dmenu.c
2 index 5e9c367..2268ea9 100644
3 --- a/dmenu.c
4 +++ b/dmenu.c
5 @@ -88,6 +88,15 @@ calcoffsets(void)
6 break;
7 }
8
9 +static int
10 +max_textw(void)
11 +{
12 + int len = 0;
13 + for (struct item *item = items; item && item->text; item++)
14 + len = MAX(TEXTW(item->text), len);
15 + return len;
16 +}
17 +
18 static void
19 cleanup(void)
20 {
21 @@ -598,6 +607,7 @@ setup(void)
22 bh = drw->fonts->h + 2;
23 lines = MAX(lines, 0);
24 mh = (lines + 1) * bh;
25 + promptw = (prompt && *prompt) ? TEXTW(prompt) - lrpad / 4 : 0;
26 #ifdef XINERAMA
27 i = 0;
28 if (parentwin == root && (info = XineramaQueryScreens(dpy, &n))…
29 @@ -624,9 +634,9 @@ setup(void)
30 if (INTERSECT(x, y, 1, 1, info[i]))
31 break;
32
33 - x = info[i].x_org;
34 - y = info[i].y_org + (topbar ? 0 : info[i].height - mh);
35 - mw = info[i].width;
36 + mw = MIN(MAX(max_textw() + promptw, 100), info[i].width…
37 + x = info[i].x_org + ((info[i].width - mw) / 2);
38 + y = info[i].y_org + ((info[i].height - mh) / 2);
39 XFree(info);
40 } else
41 #endif
42 @@ -634,11 +644,10 @@ setup(void)
43 if (!XGetWindowAttributes(dpy, parentwin, &wa))
44 die("could not get embedding window attributes:…
45 parentwin);
46 - x = 0;
47 - y = topbar ? 0 : wa.height - mh;
48 - mw = wa.width;
49 + mw = MIN(MAX(max_textw() + promptw, 100), wa.width);
50 + x = (wa.width - mw) / 2;
51 + y = (wa.height - mh) / 2;
52 }
53 - promptw = (prompt && *prompt) ? TEXTW(prompt) - lrpad / 4 : 0;
54 inputw = MIN(inputw, mw/3);
55 match();
56
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.