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
effects
fakes
helper Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
scripting
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
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
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
dont_crash_cursor_physical_size_empty.cpp
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
globalshortcuts_test.cpp
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
keymap_creation_failure_test.cpp
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
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
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
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
scene_opengl_shadow_test.cpp
scene_opengl_test.cpp
scene_qpainter_shadow_test.cpp
scene_qpainter_test.cpp Partly remove Compositor restart functionality 2019-07-04 15:31:40 +02:00
screen_changes_test.cpp
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
stacking_order_test.cpp
start_test.cpp
struts_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
tabbox_test.cpp
test_helpers.cpp
touch_input_test.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
transient_no_input_test.cpp
transient_placement.cpp [platforms/virtual] Create output devices 2019-08-27 12:24:49 +02:00
virtual_desktop_test.cpp
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
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