kwin/autotests/integration
Vlad Zahorodnii a489bfa12c wayland: Fix windows shrinking when output layout changes
When the output layout changes, the Workspace is going to update the
struts and then go through every window and see whether it should be
moved or resized.

On the other hand, the layer shell windows react to output changes on
a timer. Furthermore, it's not synchronized with the workspace rearranging
the managed windows. It means that when Workspace::desktopResized() runs,
the panel struts can be slightly outdated, i.e.

- An output layout change occurs
- Workspace::desktopResized() is called but the struts can be wrong
- some time later, LayerShellV1Integration::rearrange is called, it
  fixes layer shell window geometries and struts
- after the layer shell integration has finished rearranging the
  layer shell windows, it calls Workspace::desktopResized(), but the
  damage had already been caused

With the proposed change, the Workspace and the LayerShellV1Integration
will rearrange the windows in sync.

CCBUG: 482361
2024-03-07 13:41:01 +02:00
..
data Drop support for _KDE_NET_WM_TEMPORARY_RULES 2023-02-02 15:34:24 +00:00
effects wayland: Add windows when readyForPainting changes 2024-01-29 12:35:10 +02:00
fakes Adjust to KDecoration init API returning a bool 2023-10-22 10:52:42 +02:00
helper build: Add -Wno-unused-parameter compiler option 2022-10-31 15:50:37 +00:00
scripting Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
activation_test.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
activities_test.cpp Drop some unused kwineffects.h includes 2023-11-15 14:41:42 +02:00
bounce_keys_test.cpp Implement bounce keys on Wayland 2023-11-23 13:07:35 +00:00
CMakeLists.txt xwayland: Add unit test for XWayland key tracking 2024-03-03 12:41:15 +00:00
dbus_interface_test.cpp Introduce layer window rule 2024-01-17 23:05:53 +00:00
debug_console_test.cpp Make it possible to build KWin without libxcb 2024-02-28 16:03:50 +00:00
decoration_input_test.cpp Allow maximizing the window by double clicking borders 2024-02-27 23:27:22 +02:00
desktop_window_x11_test.cpp Do not rely on NETWM for the main Window class 2024-02-20 18:04:06 +00:00
dont_crash_aurorae_destroy_deco.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
dont_crash_cancel_animation.cpp Make it possible to build KWin without libxcb 2024-02-28 16:03:50 +00:00
dont_crash_empty_deco.cpp autotests: Don't be so paranoid about compositing type 2023-09-08 09:48:16 +03:00
dont_crash_glxgears.cpp Don't use QtTest => use QTest + missing include 2023-07-04 10:38:21 +00:00
dont_crash_reinitialize_compositor.cpp effects.h -> effecthandler.h 2023-11-20 15:47:36 +00:00
dont_crash_useractions_menu.cpp autotests: Remove unused outputbackend.h includes 2023-05-23 11:42:32 +03:00
fakeinput_test.cpp backends/fakeinput: Implement fake input protocol in backend 2023-09-22 11:08:26 +03:00
fractional_scaling_test.cpp Port away from KWayland's server-decoration implementation 2023-09-25 06:42:02 +00:00
generic_scene_opengl_test.cpp libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
generic_scene_opengl_test.h screencasting: Add an autotest 2023-03-31 00:19:59 +02:00
globalshortcuts_test.cpp autotests: Add keypad global shortcuts test 2024-01-24 13:20:58 +00:00
idle_inhibition_test.cpp autotests: Remove unused outputbackend.h includes 2023-05-23 11:42:32 +03:00
input_stacking_order.cpp Drop some unused kwineffects.h includes 2023-11-15 14:41:42 +02:00
inputmethod_test.cpp Port away the remaining users of windowShown/windowHidden to hiddenChanged 2024-02-27 20:58:52 +00:00
internal_window.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
keyboard_layout_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
keymap_creation_failure_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
kwin_wayland_test.cpp Make it possible to build KWin without libxcb 2024-02-28 16:03:50 +00:00
kwin_wayland_test.h Make it possible to build KWin without libxcb 2024-02-28 16:03:50 +00:00
kwinbindings_test.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
layershellv1window_test.cpp wayland: Fix windows shrinking when output layout changes 2024-03-07 13:41:01 +02:00
lockscreen.cpp Rename UnmanagedLayer to OverlayLayer 2024-01-18 13:13:55 +00:00
maximize_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
modifier_only_shortcut_test.cpp xkb: caps lock is not shift lock 2024-02-14 14:25:03 +00:00
move_resize_window_test.cpp Port away the remaining users of windowShown/windowHidden to hiddenChanged 2024-02-27 20:58:52 +00:00
no_global_shortcuts_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
outputchanges_test.cpp autotests/integration/outputchanges: add geometry restore test 2024-02-19 17:18:28 +01:00
placement_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
plasma_surface_test.cpp Do not rely on NETWM for the main Window class 2024-02-20 18:04:06 +00:00
plasmawindow_test.cpp Drop some unused kwineffects.h includes 2023-11-15 14:41:42 +02:00
platformcursor.cpp Don't use QtTest => use QTest + missing include 2023-07-04 10:38:21 +00:00
pointer_constraints_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
pointer_input.cpp autotests: Use ShapeCursorSource to load reference cursor images in testPointerInput 2024-02-07 08:46:20 +00:00
quick_tiling_test.cpp Only precompute the geometry restore when m_interactiveMoveResize.initialQuickTileMode is None 2024-01-17 01:03:27 +00:00
scene_opengl_es_test.cpp Run clang-format 2022-03-25 13:25:15 +02:00
scene_opengl_test.cpp Run clang-format 2022-03-25 13:25:15 +02:00
screen_changes_test.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
screencasting_test.cpp screencasting_test: Declaring the metatype is unnecessary now 2024-01-21 11:17:49 +00:00
screenedges_test.cpp Port away the remaining users of windowShown/windowHidden to hiddenChanged 2024-02-27 20:58:52 +00:00
screens_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
security_context_test.cpp Support SecurityContextManagerV1 2023-11-13 09:51:28 +00:00
shade_test.cpp Drop some unused kwineffects.h includes 2023-11-15 14:41:42 +02:00
showing_desktop_test.cpp Break show desktop mode if a new window is added 2024-01-15 15:41:57 +00:00
stacking_order_test.cpp testStackingOrder: wrap Test::XdgToplevel in a unique_ptr in all tests 2023-11-23 09:53:55 +00:00
sticky_keys_test.cpp Implement locking sticky keys on Wayland 2023-11-23 08:17:00 +00:00
struts_test.cpp Do not rely on NETWM for the main Window class 2024-02-20 18:04:06 +00:00
tabbox_test.cpp xkb: caps lock is not shift lock 2024-02-14 14:25:03 +00:00
test_helpers.cpp Make it possible to build KWin without libxcb 2024-02-28 16:03:50 +00:00
test_virtualkeyboard_dbus.cpp autotests: Remove unused outputbackend.h includes 2023-05-23 11:42:32 +03:00
tiles_test.cpp autotests: Avoid binding plasmashell global in tests that don't use it 2023-05-23 18:00:50 +00:00
touch_input_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
transient_placement.cpp Do not rely on NETWM for the main Window class 2024-02-20 18:04:06 +00:00
virtual_desktop_test.cpp Make it possible to build KWin without libxcb 2024-02-28 16:03:50 +00:00
window_rules_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
window_selection_test.cpp autotests: Remove unused outputbackend.h includes 2023-05-23 11:42:32 +03:00
x11_window_test.cpp x11window: Disable strict geometry placement by default in wayland 2024-02-26 10:32:49 +00:00
x11keyread.cpp xwayland: Add unit test for XWayland key tracking 2024-03-03 12:41:15 +00:00
xdgshellwindow_rules_test.cpp wayland: Implement closeable window rule 2024-01-29 10:57:29 +02:00
xdgshellwindow_test.cpp Drop "<N>" window caption suffix 2024-02-05 11:10:53 +02:00
xinerama_test.cpp xwayland: Make xinerama index -> Output mapping more robust with fractional scaling 2024-01-10 15:18:48 +00:00
xwayland_input_test.cpp wayland: Drop "_interface" from filenames 2023-09-15 13:13:43 +00:00
xwayland_selections_test.cpp wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
xwaylandserver_crash_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
xwaylandserver_restart_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00