kwin/autotests/integration
Vlad Zahorodnii a75fb7f84e Refactor geometry constraints code
Summary:
Currently, there are a couple of issues with sizeForClientSize(). First
of all, we have a method called clientSizeToFrameSize() which does similar
thing except applying geometry constraints and checking window rules. The
other issue is that sizeForClientSize() is doing a bit too much, it checks
window rules, it applies a bunch of geometry constrains. Sometimes it
does not perform conversion between client sizes and frame sizes!

This change attempts to address those issues by replacing sizeForClientSize
with two similar methods and changing semantics of some methods of the
X11Client class.

The most significant difference between sizeForClientSize() and the new
methods is that neither constrainClientSize() nor constrainFrameSize()
check window rules. This is up to users of those methods. In many places,
we don't have to check window rules because we check isResizable(),
which returns false if the frame size is enforced by a window rule.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, romangg, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26828
2020-02-28 17:13:01 +02:00
..
data Add support for desktopFileName provided by NETWinInfo 2016-10-31 13:19:46 +01:00
effects Introduce Toplevel::frameGeometryChanged signal 2020-02-12 10:52:26 +02:00
fakes Update my email address 2020-01-14 18:17:18 +02:00
helper Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
scripting Update my email address 2020-01-14 18:17:18 +02:00
activation_test.cpp Introduce Toplevel::frameGeometryChanged signal 2020-02-12 10:52:26 +02:00
activities_test.cpp Rename Client to X11Client 2019-09-25 21:11:37 +03:00
buffer_size_change_test.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
CMakeLists.txt Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
colorcorrect_nightcolor_test.cpp [autotests] Fix failing autotests 2019-08-28 19:20:50 +03:00
dbus_interface_test.cpp Rename Client to X11Client 2019-09-25 21:11:37 +03:00
debug_console_test.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
decoration_input_test.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
desktop_window_x11_test.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
dont_crash_aurorae_destroy_deco.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
dont_crash_cancel_animation.cpp Rename Client to X11Client 2019-09-25 21:11:37 +03:00
dont_crash_cursor_physical_size_empty.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
dont_crash_empty_deco.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
dont_crash_glxgears.cpp Rename Client to X11Client 2019-09-25 21:11:37 +03:00
dont_crash_no_border.cpp Rename Client to X11Client 2019-09-25 21:11:37 +03:00
dont_crash_reinitialize_compositor.cpp Update my email address 2020-01-14 18:17:18 +02:00
dont_crash_useractions_menu.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
generic_scene_opengl_test.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
generic_scene_opengl_test.h [autotests] Test creating core context profile 2017-06-25 09:48:46 +02:00
globalshortcuts_test.cpp Rename Client to X11Client 2019-09-25 21:11:37 +03:00
idle_inhibition_test.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
input_stacking_order.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
internal_window.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
keyboard_layout_test.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
keymap_creation_failure_test.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03: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 Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
kwinbindings_test.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
lockscreen.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
maximize_test.cpp Introduce Toplevel::frameGeometryChanged signal 2020-02-12 10:52:26 +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 Introduce Toplevel::frameGeometryChanged signal 2020-02-12 10:52:26 +02: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_test.cpp Update my email address 2020-01-14 18:17:18 +02:00
plasma_surface_test.cpp Introduce Toplevel::frameGeometryChanged signal 2020-02-12 10:52:26 +02:00
plasmawindow_test.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
platformcursor.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
pointer_constraints_test.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
pointer_input.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
quick_tiling_test.cpp Introduce Toplevel::frameGeometryChanged signal 2020-02-12 10:52:26 +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 Update my email address 2020-01-14 18:17:18 +02:00
scene_opengl_test.cpp [autotests] Introduce a SceneOpenGL ES test 2017-06-24 21:05:49 +02:00
scene_qpainter_shadow_test.cpp Update my email address 2020-01-14 18:17:18 +02:00
scene_qpainter_test.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
screen_changes_test.cpp Add XDG Output support 2018-05-18 14:16:13 +01:00
screenedge_client_show_test.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
shade_test.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
showing_desktop_test.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
stacking_order_test.cpp Update my email address 2020-01-14 18:17:18 +02:00
struts_test.cpp Introduce Toplevel::frameGeometryChanged signal 2020-02-12 10:52:26 +02:00
tabbox_test.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
test_helpers.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
touch_input_test.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
transient_placement.cpp Introduce Toplevel::frameGeometryChanged signal 2020-02-12 10:52:26 +02:00
virtual_desktop_test.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00
window_rules_test.cpp Rename Client to X11Client 2019-09-25 21:11:37 +03:00
window_selection_test.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
x11_client_test.cpp [autotests] Add tests for PMinSize, PMaxSize, and PResizeInc geometry hints 2020-02-28 11:42:40 +02:00
xdgshellclient_rules_test.cpp Introduce Toplevel::frameGeometryChanged signal 2020-02-12 10:52:26 +02:00
xdgshellclient_test.cpp Refactor geometry constraints code 2020-02-28 17:13:01 +02:00
xwayland_input_test.cpp [autotests] Make XWaylandInputTest more robust 2020-02-14 02:02:04 +02:00
xwayland_selections_test.cpp Rename ShellClient to XdgShellClient 2019-09-23 17:28:56 +03:00