D17826: Honor struts when placing Wayland transients
Martin Flöser <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kwin |
|---|---|
| Message-ID | <[email protected]> |
graesslin created this revision. graesslin added a reviewer: KWin. Herald added a project: KWin. Herald added a subscriber: kwin. graesslin requested review of this revision. REVISION SUMMARY So far transients were placed anywhere on the screen. This behavior was inspired from X11 where context menus were able to overlap any other window and use the complete screen area. On X11 context menus and similar windows are override redirect and thus above all windows managed by KWin. On Wayland, though, context menus and similar and windows just like any other window and thus follow stacking constraints like the parent window. A context menu is stacked just above it's parent and is (normally) below any panels. This resulted in problems that context menu are stacked behind the panel with unreachable options. This change changes the placement for transients to use the PlacementArea instead of a screen geometry. Thus the transient does not render behind the panel. Only in case of a fullscreen the struts are ignored. BUG: 389222 FIXED-IN: 5.15 TEST PLAN New test case REPOSITORY R108 KWin BRANCH transient-honor-struts REVISION DETAIL https://phabricator.kde.org/D17826 AFFECTED FILES autotests/integration/transient_placement.cpp placement.cpp To: graesslin, #kwin Cc: kwin, GB_2, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart