kwin/autotests/wayland
Martin Gräßlin 58db477796 Fix the strut handling for wayland clients
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
2016-06-10 12:36:15 +02:00
..
data/anim-data-delete-effect [autotest] Don't crash when cancel animation from animationEnded in scripted effect 2016-02-17 13:59:55 +01:00
CMakeLists.txt [autotest/wayland] Add a test case for maximize windows 2016-06-07 10:27:02 +02:00
debug_console_test.cpp Rename abstract_backend.(h|cpp) to platform.(h|cpp) 2016-04-07 16:18:12 +02:00
decoration_input_test.cpp Support touch events in DecorationEventFilter 2016-05-17 07:33:02 +02:00
dont_crash_aurorae_destroy_deco.cpp Merge branch 'Plasma/5.6' 2016-05-12 16:43:12 +02:00
dont_crash_cancel_animation.cpp Rename abstract_backend.(h|cpp) to platform.(h|cpp) 2016-04-07 16:18:12 +02:00
dont_crash_empty_deco.cpp Merge branch 'Plasma/5.6' 2016-04-26 13:13:17 +02:00
dont_crash_glxgears.cpp Rename abstract_backend.(h|cpp) to platform.(h|cpp) 2016-04-07 16:18:12 +02:00
input_stacking_order.cpp Rename abstract_backend.(h|cpp) to platform.(h|cpp) 2016-04-07 16:18:12 +02:00
internal_window.cpp Support touch events on KWin internal windows 2016-05-23 18:40:06 +02:00
kwin_wayland_test.cpp Connect Application::screensCreated to WaylandServer::initOutputs 2016-05-02 15:52:07 +02:00
kwin_wayland_test.h Fix typo 2016-02-11 09:34:19 +01:00
lockscreen.cpp [autotest/wayland] Force kscreenlocker_greet to QMLSCENE_DEVICE softwarecontext 2016-06-03 14:18:45 +02:00
maximize_test.cpp Pass the maximized signal to DecoratedClient 2016-06-09 13:35:38 +02:00
move_resize_window_test.cpp Warp the cursor pos to the specificed global position in a NET::Move request 2016-04-18 07:50:06 +02:00
plasma_surface_test.cpp Set ShellClient on all desktop depending on Plasma Surface role 2016-06-06 08:36:11 +02:00
plasmawindow_test.cpp [autotests] Skip PlasmaWindowTest::testLockScreenNoPlasmaWindow on build.kde.org 2016-06-07 10:03:12 +02:00
platformcursor.cpp Rename abstract_backend.(h|cpp) to platform.(h|cpp) 2016-04-07 16:18:12 +02:00
pointer_input.cpp [autotests/wayland] Try to make PointerInputTest::testMouseActionActiveWindow more robust 2016-05-23 11:19:29 +02:00
quick_tiling_test.cpp Rename abstract_backend.(h|cpp) to platform.(h|cpp) 2016-04-07 16:18:12 +02:00
shade_test.cpp [autotests] Add test case for verifying that (un)shade keeps window geometry 2016-05-11 10:43:27 +02:00
start_test.cpp Rename abstract_backend.(h|cpp) to platform.(h|cpp) 2016-04-07 16:18:12 +02:00
struts_test.cpp Fix the strut handling for wayland clients 2016-06-10 12:36:15 +02:00
touch_input_test.cpp Rename abstract_backend.(h|cpp) to platform.(h|cpp) 2016-04-07 16:18:12 +02:00
transient_no_input_test.cpp Rename abstract_backend.(h|cpp) to platform.(h|cpp) 2016-04-07 16:18:12 +02:00
transient_placement.cpp Rename abstract_backend.(h|cpp) to platform.(h|cpp) 2016-04-07 16:18:12 +02:00