kwin/autotests
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
..
drm Port away from deprecated headers 2019-07-09 23:59:07 +03:00
integration Refactor geometry constraints code 2020-02-28 17:13:01 +02:00
libinput Initial support for tablets on Wayland 2019-12-10 21:56:31 +01:00
libkwineffects [libkwineffects] Detect AMD Navi GPUs 2020-02-05 22:27:15 +02:00
libxrenderutils Cleanup style in CMakeLists.txt files 2019-09-17 16:03:05 +03:00
tabbox Change project name to "KWin" 2020-01-25 03:05:02 +02:00
abstract_client.h Fix minor EBN issues 2018-08-29 21:02:16 +03:00
CMakeLists.txt Change project name to "KWin" 2020-01-25 03:05:02 +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 Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
mock_abstract_client.h Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
mock_effectshandler.cpp Add a KSharedConfigPtr for kcminputrc to KWin::Application 2017-04-24 21:01:03 +02:00
mock_effectshandler.h [effects] Add effect to hold the desktop window static after plasmashell quits 2019-11-01 17:14:55 +00: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 Rename Client to X11Client 2019-09-25 21:11:37 +03:00
mock_x11client.cpp Rename Client to X11Client 2019-09-25 21:11:37 +03:00
mock_x11client.h Rename Client to X11Client 2019-09-25 21:11:37 +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 ScreenEdge: Do not use localtime for measuring duration 2020-02-03 12:26:17 +01:00
test_screen_paint_data.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_screens.cpp Rename Client to X11Client 2019-09-25 21:11:37 +03:00
test_scripted_effectloader.cpp Update tests to include newly added session quit effect 2019-11-05 15:02:59 +00: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 [libkwineffects] Expose frame and buffer geometry to effects 2019-11-27 14:12:30 +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
x11client.h Rename Client to X11Client 2019-09-25 21:11:37 +03:00