diff options
| author | Abhinav <abhinav.prsai@gmail.com> | 2025-05-29 13:57:22 +0100 |
|---|---|---|
| committer | Abhinav <abhinav.prsai@gmail.com> | 2025-05-29 13:57:22 +0100 |
| commit | 957d76be32fb7fc5c35eebb1cef82ccb148b8f50 (patch) | |
| tree | 046b2d5f7a5ced4261959a408e5db6bf2c007f08 /src | |
| parent | 243ed206e7d6144b7d2f346cb543827fd49124cf (diff) | |
fix workspace windows staying unmapepd
Diffstat (limited to 'src')
| -rw-r--r-- | src/sxwm.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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++) { |
