commit 868b73beb64b424d5e97b2fb55623b4f694c97aa
parent fcd4b314c820030f4883d3ac43434e3bf92ab895
Author: wh1tepearl <wh1tepearl@gmail.com>
Date: Sat, 28 Mar 2026 19:40:50 +0000
a better window map
Diffstat:
2 files changed, 8 insertions(+), 18 deletions(-)
diff --git a/modules/windowmap/windowmap.c b/modules/windowmap/windowmap.c
@@ -16,9 +16,8 @@ window_map(Display *dpy, Client *c, int deiconify)
window_set_state(dpy, win, NormalState);
XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
- XSetInputFocus(dpy, win, RevertToPointerRoot, CurrentTime);
XMapWindow(dpy, win);
- focus(NULL);
+ focus(NULL);
}
void
diff --git a/vxwm.c b/vxwm.c
@@ -458,10 +458,17 @@ applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact)
void
arrange(Monitor *m)
{
+#if WINDOWMAP
+ XGrabServer(dpy);
+#endif
if (m)
showhide(m->stack);
else for (m = mons; m; m = m->next)
showhide(m->stack);
+#if WINDOWMAP
+ XUngrabServer(dpy);
+ XSync(dpy, False);
+#endif
if (m) {
arrangemon(m);
restack(m);
@@ -2089,14 +2096,6 @@ showhide(Client *c)
if (!c)
return;
-#if WINDOWMAP
- static int grabbed = 0;
- if (!grabbed) {
- XGrabServer(dpy);
- grabbed = 1;
- }
-#endif
-
if (ISVISIBLE(c)) {
/* show clients top down */
#if !WINDOWMAP
@@ -2115,14 +2114,6 @@ showhide(Client *c)
showhide(c->snext);
SHOWHIDEPROFILE
}
-
-#if WINDOWMAP
- if (!c->snext && grabbed) {
- XUngrabServer(dpy);
- XSync(dpy, False);
- grabbed = 0;
- }
-#endif
}
void