tabbed-ungrabkey-0.8.diff - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
tabbed-ungrabkey-0.8.diff (875B)
---
1 Author: Chris Noxz <chris@noxz.tech>
2
3 diff -upN tabbed-0.8-a/tabbed.c tabbed-0.8-b/tabbed.c
4 --- tabbed-0.8-a/tabbed.c 2024-03-19 12:23:17.000000000 +0100
5 +++ tabbed-0.8-b/tabbed.c 2024-06-11 20:07:21.814961956 +0200
6 @@ -1132,6 +1132,11 @@ toggle(const Arg *arg)
7 void
8 unmanage(int c)
9 {
10 + int i, j;
11 + unsigned int modifiers[] = { 0, LockMask, numlockmask,
12 + numlockmask | LockMask };
13 + KeyCode code;
14 +
15 if (c < 0 || c >= nclients) {
16 drawbar();
17 XSync(dpy, False);
18 @@ -1141,6 +1146,15 @@ unmanage(int c)
19 if (!nclients)
20 return;
21
22 + /* ungrab keys */
23 + for (i = 0; i < LENGTH(keys); i++) {
24 + if ((code = XKeysymToKeycode(dpy, keys[i].keysym))) {
25 + for (j = 0; j < LENGTH(modifiers); j++) {
26 + XUngrabKey(dpy, code, keys[i].mod | modifiers[j], clients[c]->win);
27 + }
28 + }
29 + }
30 +
31 if (c == 0) {
32 /* First client. */
33 nclients--;