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 Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
tabbox Use more traditional doxygen style 2019-07-29 22:06:19 +03:00
abstract_client.h Fix minor EBN issues 2018-08-29 21:02:16 +03:00
client.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00
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 PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
fakeeffectplugin_version.cpp Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
fakeeffectplugin_version.json PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
mock_abstract_client.cpp Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_abstract_client.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
mock_client.cpp Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_client.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
mock_effectshandler.cpp Add a KSharedConfigPtr for kcminputrc to KWin::Application 2017-04-24 21:01:03 +02:00
mock_effectshandler.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
mock_screens.cpp Warnings--: unused parameters 2015-06-12 17:17:21 +02:00
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 Fade out OnScreenNotification when moving with the mouse over it 2017-01-04 18:04:15 +01:00
onscreennotificationtest.h Introduce a KWin internal on-screen-notification service 2016-12-21 19:43:49 +01:00
opengl_context_attribute_builder_test.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
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 Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_gestures.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
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 Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
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 Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xcb_window.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xcb_wrapper.cpp Fix minor EBN issues 2018-08-29 21:02:16 +03:00
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 [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00