24 lines
593 B
Text
24 lines
593 B
Text
--- dmenu.c
|
|
+++ dmenu.c
|
|
@@ -664,11 +681,17 @@ setup(void)
|
|
if (!XGetWindowAttributes(dpy, parentwin, &wa))
|
|
die("could not get embedding window attributes: 0x%lx",
|
|
parentwin);
|
|
- x = 0;
|
|
- y = topbar ? 0 : wa.height - mh;
|
|
- mw = wa.width;
|
|
+
|
|
+ if (centered) {
|
|
+ mw = MIN(MAX(max_textw() + promptw, min_width), wa.width);
|
|
+ x = (wa.width - mw) / 2;
|
|
+ y = (wa.height - mh) / 2;
|
|
+ } else {
|
|
+ x = 0;
|
|
+ y = topbar ? 0 : wa.height - mh;
|
|
+ mw = wa.width;
|
|
+ }
|
|
}
|
|
- promptw = (prompt && *prompt) ? TEXTW(prompt) - lrpad / 4 : 0;
|
|
inputw = MIN(inputw, mw/3);
|
|
match();
|
|
|