https://bugs.kde.org/show_bug.cgi?id=461414

Vlad Zahorodnii <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/kwin/-/commit/f73200def9
                   |                            |9d7511955c3c698b53832cd3bb9
                   |                            |404
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #25 from Vlad Zahorodnii <[email protected]> ---
Git commit f73200def99d7511955c3c698b53832cd3bb9404 by Vlad Zahorodnii.
Committed on 11/07/2025 at 09:19.
Pushed by vladz into branch 'master'.

Fix "activate and raise" action with panels

With the "activate and raise" action, the window manager should activate
and raise the window but not pass the click.

If a window is focusable, then only the mouse press should be filtered
out.

If a window is not focusable, there is some sophisticated code to see
whether the window is obstructed by any other window (because isActive()
is always false for such windows so we need another way to determine
whether it's the first click). If the window is obstructed, then no click
will be passed but the action will still be performed, in other words,
the window will be activated (noop) and raised. However, this breaks if
a window has transients, which is the case with panels. We want the click
to be passed along even though the window is covered by a child (it
doesn't matter whether it accepts focus).

Given that primarily only special surfaces don't accept focus, e.g.
panels, and they are expected to receive clicks, the special stacking
order code path can be replaced with a `return false;` statement. Which
is also identical to the MouseActivate case.

See also e8dad997fae98e3c0c40653667dd22a002747556

M  +1    -20   src/window.cpp

https://invent.kde.org/plasma/kwin/-/commit/f73200def99d7511955c3c698b53832cd3bb9404

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to