aboutsummaryrefslogtreecommitdiff
path: root/.local/src/dmenu-dunst/dmenu.c
diff options
context:
space:
mode:
authorkj_sh6042025-10-18 01:56:51 -0400
committerkj_sh6042025-10-18 01:56:58 -0400
commit5e425f8212cf7e4ca9351c8357fd8404ff96a27d (patch)
treefa8a25d2e37a5695bbeb1e933359bfbaa0dbd47f /.local/src/dmenu-dunst/dmenu.c
parentb6ee28ddb4fbea0bfa9371cdf77d79f69e0f26f3 (diff)
refactor: update dmenu source
Diffstat (limited to '.local/src/dmenu-dunst/dmenu.c')
-rw-r--r--.local/src/dmenu-dunst/dmenu.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/.local/src/dmenu-dunst/dmenu.c b/.local/src/dmenu-dunst/dmenu.c
index 32d6a9d..ceb52c7 100644
--- a/.local/src/dmenu-dunst/dmenu.c
+++ b/.local/src/dmenu-dunst/dmenu.c
@@ -29,6 +29,7 @@ enum { SchemeNorm, SchemeSel, SchemeOut, SchemeLast }; /* color schemes */
struct item {
char *text;
+ unsigned int width;
struct item *left, *right;
int out;
};
@@ -100,7 +101,7 @@ max_textw(void)
{
int len = 0;
for (struct item *item = items; item && item->text; item++)
- len = MAX(TEXTW(item->text), len);
+ len = MAX(item->width, len);
return len;
}
@@ -109,7 +110,7 @@ cleanup(void)
{
size_t i;
- XUngrabKey(dpy, AnyKey, AnyModifier, root);
+ XUngrabKeyboard(dpy, CurrentTime);
for (i = 0; i < SchemeLast; i++)
free(scheme[i]);
for (i = 0; items && items[i].text; ++i)
@@ -572,6 +573,7 @@ readstdin(void)
line[len - 1] = '\0';
if (!(items[i].text = strdup(line)))
die("strdup:");
+ items[i].width = TEXTW(line);
items[i].out = 0;
}
@@ -713,7 +715,6 @@ setup(void)
CWOverrideRedirect | CWBackPixel | CWEventMask, &swa);
XSetClassHint(dpy, win, &ch);
-
/* input methods */
if ((xim = XOpenIM(dpy, NULL, NULL, NULL)) == NULL)
die("XOpenIM failed: could not open input device");