diff options
| author | Abhinav Prasai <abhinav.prsai@gmail.com> | 2025-10-13 19:26:11 +0100 |
|---|---|---|
| committer | Abhinav Prasai <abhinav.prsai@gmail.com> | 2025-10-13 19:26:11 +0100 |
| commit | 9e9f24f97088cddeb27e09be49ef318a22a3c75a (patch) | |
| tree | 734139293d55c1c188e4bde15b52bd40b074e48f /src/sxwm.c | |
| parent | 0de5e430b40c9fab532719f803374c5b026046b0 (diff) | |
fix floating_on_top making transient windows hide under
moved the XRaiseWindow calls outside of tile()
Diffstat (limited to 'src/sxwm.c')
| -rw-r--r-- | src/sxwm.c | 20 |
1 files changed, 6 insertions, 14 deletions
@@ -2367,11 +2367,13 @@ void set_input_focus(Client *c, Bool raise_win, Bool warp) XSetInputFocus(dpy, w, RevertToPointerRoot, CurrentTime); send_wm_take_focus(w); - if (raise_win && c->floating) { - XRaiseWindow(dpy, w); + if (raise_win) { + /* if floating_on_top, don't raise a tiled window above floats. */ + if (c->floating || !user_config.floating_on_top) { + XRaiseWindow(dpy, w); + } } - - /* EWMH */ + /* EWMH focus hint */ XChangeProperty(dpy, root, _NET_ACTIVE_WINDOW, XA_WINDOW, 32, PropModeReplace, (unsigned char *)&w, 1); @@ -2856,16 +2858,6 @@ void tile(void) } update_borders(); } - - if (user_config.floating_on_top) { - for (Client *c = workspaces[current_ws]; c; c = c->next) { - if (c->mapped && c->floating && !c->fullscreen) { - XRaiseWindow(dpy, c->win); - } - } - } - - update_borders(); } void toggle_floating(void) |
