kwin/autotests
Vlad Zagorodniy 9102e41e71 Traverse the stacking order backwards when switching between windows
Summary:
In order to pick the next client to activate we traverse the stacking
order from bottom to top and assign to each client a score. The client
with the best score will be activated next. Function that assigns score
bases its decisions purely on geometry. This may backfire if there are
couple maximized or fullscreen clients on the screen - we'll activate
the bottom-most client.

This change toggles direction we traverse the stacking order. If there
are several clients with an identical score, then prefer the top-most
client, the one that the user most likely sees at the moment.

BUG: 411356
FIXED-IN: 5.17.0

Test Plan: New tests pass.

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D23521
2019-08-31 13:47:15 +03:00
..
drm Port away from deprecated headers 2019-07-09 23:59:07 +03:00
integration Traverse the stacking order backwards when switching between windows 2019-08-31 13:47:15 +03:00
libinput Send axis_source, axis_discrete, and axis_stop 2019-05-17 12:06:10 +03:00
libkwineffects [libkwineffects] Detect modern Radeon GPUs 2018-12-21 13:43:13 +02:00
libxrenderutils
tabbox Use more traditional doxygen style 2019-07-29 22:06:19 +03:00
abstract_client.h
client.h
CMakeLists.txt [platforms/x11/standalone] Port to AbstractOutput 2019-06-13 11:39:25 +02:00
fakeeffectplugin.cpp Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
fakeeffectplugin.json
fakeeffectplugin_version.cpp Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
fakeeffectplugin_version.json
mock_abstract_client.cpp
mock_abstract_client.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
mock_client.cpp
mock_client.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
mock_effectshandler.cpp
mock_effectshandler.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
mock_screens.cpp
mock_screens.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
mock_workspace.cpp Use more accurate name for Workspace::getMovingClient method 2019-04-22 11:12:22 +03:00
mock_workspace.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
onscreennotificationtest.cpp
onscreennotificationtest.h
opengl_context_attribute_builder_test.cpp
test_builtin_effectloader.cpp autotests: Port QSignalSpies to new connect syntax 2019-07-29 22:59:12 +03:00
test_client_machine.cpp autotests: Port QSignalSpies to new connect syntax 2019-07-29 22:59:12 +03:00
test_gbm_surface.cpp
test_gestures.cpp
test_plugin_effectloader.cpp autotests: Port QSignalSpies to new connect syntax 2019-07-29 22:59:12 +03:00
test_screen_edges.cpp autotests: Port QSignalSpies to new connect syntax 2019-07-29 22:59:12 +03:00
test_screen_paint_data.cpp
test_screens.cpp autotests: Port QSignalSpies to new connect syntax 2019-07-29 22:59:12 +03:00
test_scripted_effectloader.cpp autotests: Port QSignalSpies to new connect syntax 2019-07-29 22:59:12 +03:00
test_virtual_desktops.cpp autotests: Port QSignalSpies to new connect syntax 2019-07-29 22:59:12 +03:00
test_virtualkeyboard_dbus.cpp Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
test_window_paint_data.cpp Support CriticalNotification type and place it in a CriticalNotificationLayer 2019-05-02 10:29:38 +02:00
test_x11_timestamp_update.cpp Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
test_xcb_size_hints.cpp
test_xcb_window.cpp
test_xcb_wrapper.cpp
test_xkb.cpp Use more traditional doxygen style 2019-07-29 22:06:19 +03:00
testutils.h Use more traditional doxygen style 2019-07-29 22:06:19 +03:00
workspace.h