diff --git a/src/actions.c b/src/actions.c index e6a91d5b..4bc3e075 100644 --- a/src/actions.c +++ b/src/actions.c @@ -216,6 +216,10 @@ void wSetFocusTo(WScreen *scr, WWindow *wwin) if (wPreferences.highlight_active_app) wApplicationDeactivate(oapp); } + + /* reset fullscreen if temporarily removed due to lost focus*/ + if (wwin->flags.fullscreen) + ChangeStackingLevel(wwin->frame->core, WMFullscreenLevel); } wWindowFocus(wwin, focused); diff --git a/src/cycling.c b/src/cycling.c index 916d9477..94b91832 100644 --- a/src/cycling.c +++ b/src/cycling.c @@ -62,6 +62,10 @@ static WWindow *change_focus_and_raise(WWindow *newFocused, WWindow *oldFocused, if (!newFocused) return oldFocused; + /* allow the focused window to float on top of a fullscreen window */ + if (oldFocused->flags.fullscreen) + ChangeStackingLevel(oldFocused->frame->core, WMNormalLevel); + wWindowFocus(newFocused, oldFocused); oldFocused = newFocused;