kwin/autotests/integration
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
..
data Add support for desktopFileName provided by NETWinInfo 2016-10-31 13:19:46 +01:00
effects Use more accurate name for Workspace::getMovingClient method 2019-04-22 11:12:22 +03:00
fakes [scenes/opengl] Fix overlapping shadow tiles 2018-06-07 12:07:57 +03:00
helper Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
scripting Fix minor EBN issues 2018-08-29 21:02:16 +03:00
activation_test.cpp Traverse the stacking order backwards when switching between windows 2019-08-31 13:47:15 +03:00
activities_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
buffer_size_change_test.cpp Remove unnecessary flushs in new buffer size change test 2019-02-21 23:42:47 +01:00
CMakeLists.txt Traverse the stacking order backwards when switching between windows 2019-08-31 13:47:15 +03:00
colorcorrect_nightcolor_test.cpp [autotests] Fix failing autotests 2019-08-28 19:20:50 +03:00
dbus_interface_test.cpp Port window specific rules dialog to DBus 2018-12-31 07:58:12 +01:00
debug_console_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
decoration_input_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
desktop_window_x11_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
dont_crash_aurorae_destroy_deco.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
dont_crash_cancel_animation.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
dont_crash_cursor_physical_size_empty.cpp [autotests] Update tests to use stable version of xdg-shell 2019-01-20 13:52:30 +02:00
dont_crash_empty_deco.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
dont_crash_glxgears.cpp [autotests] Fix remaining autotests with failing border calculation 2019-06-27 13:44:03 +02:00
dont_crash_no_border.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
dont_crash_reinitialize_compositor.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
dont_crash_useractions_menu.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
generic_scene_opengl_test.cpp Partly remove Compositor restart functionality 2019-07-04 15:31:40 +02:00
generic_scene_opengl_test.h [autotests] Test creating core context profile 2017-06-25 09:48:46 +02:00
globalshortcuts_test.cpp Don't try to filter null key combinations 2018-04-24 16:35:23 +02:00
idle_inhibition_test.cpp [autotests] Fix failing autotests 2019-08-28 19:20:50 +03:00
input_stacking_order.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
internal_window.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
keyboard_layout_test.cpp Fix KeyboardLayoutTest::testNumLock 2018-11-15 19:01:51 +01:00
keymap_creation_failure_test.cpp Better handle cases when the xkb keymap fails to be created 2017-06-18 21:04:58 +02:00
kwin_wayland_test.cpp Split Compositor class in Wayland and X11 child classes 2019-08-07 21:06:53 +02:00
kwin_wayland_test.h Use more traditional doxygen style 2019-07-29 22:06:19 +03:00
kwinbindings_test.cpp [autotests] Try making KWinBindingsTest::testSwitchWindowScript more robust 2017-08-13 17:08:49 +02:00
lockscreen.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
maximize_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
modifier_only_shortcut_test.cpp Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
move_resize_window_test.cpp autotests: Register Deleted in MoveResizeWindowTest 2019-07-30 22:08:28 +03:00
no_global_shortcuts_test.cpp Use more traditional doxygen style 2019-07-29 22:06:19 +03:00
no_xdg_runtime_dir_test.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
placement.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
plasma_surface_test.cpp Support CriticalNotification type and place it in a CriticalNotificationLayer 2019-05-02 10:29:38 +02:00
plasmawindow_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
platformcursor.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
pointer_constraints_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
pointer_input.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
quick_tiling_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
scene_opengl_es_test.cpp [autotests] Introduce a SceneOpenGL ES test 2017-06-24 21:05:49 +02:00
scene_opengl_shadow_test.cpp [autotests] Don't check whether there is a /dev/dri/card0 2019-01-12 07:36:28 +01:00
scene_opengl_test.cpp [autotests] Introduce a SceneOpenGL ES test 2017-06-24 21:05:49 +02:00
scene_qpainter_shadow_test.cpp compare doubles to doubles 2018-06-14 09:21:07 +01:00
scene_qpainter_test.cpp Partly remove Compositor restart functionality 2019-07-04 15:31:40 +02:00
screen_changes_test.cpp Add XDG Output support 2018-05-18 14:16:13 +01:00
screenedge_client_show_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
shade_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
shell_client_rules_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
shell_client_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
showing_desktop_test.cpp Restore active client after ending showing desktop 2017-07-01 08:20:01 +02:00
stacking_order_test.cpp [autotests] Add tests for keep-above and keep-below states 2019-01-01 17:29:14 +02:00
start_test.cpp Introduce a command line option to disable any kind of global shortcuts 2018-12-13 19:36:28 +01:00
struts_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
tabbox_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
test_helpers.cpp [wayland] Finish initialising ShellClient only when commited to the surface 2019-02-26 13:51:28 +00:00
touch_input_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
transient_no_input_test.cpp [wayland] XdgPopup Positioning 2018-10-20 17:17:59 +01:00
transient_placement.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
virtual_desktop_test.cpp [autotests] Update tests to use stable version of xdg-shell 2019-01-20 13:52:30 +02:00
window_rules_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
window_selection_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
x11_client_test.cpp Fix captions with non-BMP characters 2019-04-26 10:52:57 +02:00
xwayland_input_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
xwayland_selections_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00