58db477796
Summary: The implementation was broken as it transformed the QRects into QRegions, subtracted the geometries and took the bounding rect again. In several setups this could result in the strut getting ignored. This change improves the calculation of the struts by creating a QMargin which describes the area which needs to be subtracted from a screen rect. The QMargin is only adjusted for the edge the window borders. We can assume that a window with a strut needs to border a screen on Wayland. With this change we are also able to support panels between screens. On Wayland a panel placed on the right of a left screen affects the maximization area of the left screen, but does not affect the overall workarea. CCBUG: 167852 Reviewers: #plasma_on_wayland, #kwin Subscribers: plasma-devel, kwin Tags: #plasma_on_wayland, #kwin Differential Revision: https://phabricator.kde.org/D1803 |
||
---|---|---|
.. | ||
data/anim-data-delete-effect | ||
CMakeLists.txt | ||
debug_console_test.cpp | ||
decoration_input_test.cpp | ||
dont_crash_aurorae_destroy_deco.cpp | ||
dont_crash_cancel_animation.cpp | ||
dont_crash_empty_deco.cpp | ||
dont_crash_glxgears.cpp | ||
input_stacking_order.cpp | ||
internal_window.cpp | ||
kwin_wayland_test.cpp | ||
kwin_wayland_test.h | ||
lockscreen.cpp | ||
maximize_test.cpp | ||
move_resize_window_test.cpp | ||
plasma_surface_test.cpp | ||
plasmawindow_test.cpp | ||
platformcursor.cpp | ||
pointer_input.cpp | ||
quick_tiling_test.cpp | ||
shade_test.cpp | ||
start_test.cpp | ||
struts_test.cpp | ||
touch_input_test.cpp | ||
transient_no_input_test.cpp | ||
transient_placement.cpp |