diff options
| author | kj_sh604 | 2025-10-18 01:56:51 -0400 |
|---|---|---|
| committer | kj_sh604 | 2025-10-18 01:56:58 -0400 |
| commit | 5e425f8212cf7e4ca9351c8357fd8404ff96a27d (patch) | |
| tree | fa8a25d2e37a5695bbeb1e933359bfbaa0dbd47f /.local/src/dmenu-dunst/dmenu.c | |
| parent | b6ee28ddb4fbea0bfa9371cdf77d79f69e0f26f3 (diff) | |
refactor: update dmenu source
Diffstat (limited to '.local/src/dmenu-dunst/dmenu.c')
| -rw-r--r-- | .local/src/dmenu-dunst/dmenu.c | 7 |
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"); |
