summaryrefslogtreecommitdiff
path: root/src/sxwm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sxwm.c')
-rw-r--r--src/sxwm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/sxwm.c b/src/sxwm.c
index aa2df69..9dea9f2 100644
--- a/src/sxwm.c
+++ b/src/sxwm.c
@@ -119,6 +119,7 @@ Window wm_check_win;
Monitor *mons = NULL;
int monsn = 0;
Bool global_floating = False;
+Bool in_ws_switch = False;
long last_motion_time = 0;
int scr_width;
@@ -209,6 +210,7 @@ void change_workspace(int ws)
return;
}
+ in_ws_switch = True;
XGrabServer(dpy);
for (Client *c = workspaces[current_ws]; c; c = c->next) {
@@ -231,6 +233,7 @@ void change_workspace(int ws)
(unsigned char *)&cd, 1);
XUngrabServer(dpy);
+ in_ws_switch = False;
}
int clean_mask(int mask)
@@ -907,6 +910,10 @@ void hdl_root_property(XEvent *xev)
void hdl_unmap_ntf(XEvent *xev)
{
+ if (in_ws_switch) {
+ return;
+ }
+
Window w = xev->xunmap.window;
for (int ws = 0; ws < NUM_WORKSPACES; ws++) {