diff --git a/src/client.c b/src/client.c index abe4c44a61ab0e82773416c5b2a2af8925a72a81..7fb42af2ea068dfaa30f35853c75b29661ea287f 100644 --- a/src/client.c +++ b/src/client.c @@ -4263,20 +4263,21 @@ clientCycle (Client * c, XEvent * ev) c = passdata.c; workspace = c->win_workspace; + focused = clientGetFocus (); if (workspace != screen_info->current_ws) { workspaceSwitch (screen_info, workspace, c, FALSE); } - clientShow (c, TRUE); - clientClearAllShowDesktop (screen_info); - clientSetFocus (screen_info, c, myDisplayGetCurrentTime (display_info), NO_FOCUS_FLAG); - focused = clientGetFocus (); if ((focused) && (passdata.c != focused)) { + clientClearAllShowDesktop (screen_info); clientAdjustFullscreenLayer (focused, FALSE); } + + clientShow (c, TRUE); + clientSetFocus (screen_info, c, myDisplayGetCurrentTime (display_info), NO_FOCUS_FLAG); clientRaise (c, None); } }