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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.