diff --git a/events.cpp b/events.cpp index 544c889298..26e013912d 100644 --- a/events.cpp +++ b/events.cpp @@ -895,7 +895,7 @@ void Client::enterNotifyEvent(XCrossingEvent* e) } QPoint currentPos(e->x_root, e->y_root); - if (options->focusPolicy != Options::FocusStrictlyUnderMouse && (isDesktop() || isDock())) + if (isDesktop() || isDock()) return; // for FocusFollowsMouse, change focus only if the mouse has actually been moved, not if the focus // change came because of window changes (e.g. closing a window) - #92290 @@ -943,9 +943,9 @@ void Client::leaveNotifyEvent(XCrossingEvent* e) shadeHoverTimer->start(options->shadeHoverInterval); } } - if (options->focusPolicy == Options::FocusStrictlyUnderMouse) - if (isActive() && lostMouse) - workspace()->requestFocus(0) ; + if (options->focusPolicy == Options::FocusStrictlyUnderMouse && isActive() && lostMouse) { + workspace()->requestDelayFocus(0); + } return; } }