<table><tr><td style="">zzag created this revision.<br />zzag added a reviewer: KWin.<br />Herald added a project: KWin.<br />Herald added a subscriber: kwin.<br />zzag requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D27778">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Currently, we have only one shell client type - XdgShellClient. We use<br />
it when we are dealing with Wayland clients. But it isn't really a good<br />
idea because we may need to support shell surfaces other than xdg-shell<br />
ones, for example input panel surfaces.</p>

<p>In order to make kwin more extensible, this change replaces all usages<br />
of the XdgShellClient class with the AbstractClient class.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Existing tests pass.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R108 KWin</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D27778">https://phabricator.kde.org/D27778</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>abstract_client.cpp<br />
abstract_client.h<br />
autotests/integration/activation_test.cpp<br />
autotests/integration/activities_test.cpp<br />
autotests/integration/buffer_size_change_test.cpp<br />
autotests/integration/dbus_interface_test.cpp<br />
autotests/integration/debug_console_test.cpp<br />
autotests/integration/decoration_input_test.cpp<br />
autotests/integration/desktop_window_x11_test.cpp<br />
autotests/integration/dont_crash_aurorae_destroy_deco.cpp<br />
autotests/integration/dont_crash_cancel_animation.cpp<br />
autotests/integration/dont_crash_cursor_physical_size_empty.cpp<br />
autotests/integration/dont_crash_empty_deco.cpp<br />
autotests/integration/dont_crash_no_border.cpp<br />
autotests/integration/dont_crash_reinitialize_compositor.cpp<br />
autotests/integration/dont_crash_useractions_menu.cpp<br />
autotests/integration/effects/desktop_switching_animation_test.cpp<br />
autotests/integration/effects/fade_test.cpp<br />
autotests/integration/effects/maximize_animation_test.cpp<br />
autotests/integration/effects/minimize_animation_test.cpp<br />
autotests/integration/effects/popup_open_close_animation_test.cpp<br />
autotests/integration/effects/scripted_effects_test.cpp<br />
autotests/integration/effects/slidingpopups_test.cpp<br />
autotests/integration/effects/toplevel_open_close_animation_test.cpp<br />
autotests/integration/effects/translucency_test.cpp<br />
autotests/integration/effects/windowgeometry_test.cpp<br />
autotests/integration/effects/wobbly_shade_test.cpp<br />
autotests/integration/generic_scene_opengl_test.cpp<br />
autotests/integration/globalshortcuts_test.cpp<br />
autotests/integration/idle_inhibition_test.cpp<br />
autotests/integration/input_stacking_order.cpp<br />
autotests/integration/internal_window.cpp<br />
autotests/integration/keyboard_layout_test.cpp<br />
autotests/integration/keymap_creation_failure_test.cpp<br />
autotests/integration/kwin_wayland_test.h<br />
autotests/integration/kwinbindings_test.cpp<br />
autotests/integration/lockscreen.cpp<br />
autotests/integration/maximize_test.cpp<br />
autotests/integration/move_resize_window_test.cpp<br />
autotests/integration/placement_test.cpp<br />
autotests/integration/plasma_surface_test.cpp<br />
autotests/integration/plasmawindow_test.cpp<br />
autotests/integration/pointer_constraints_test.cpp<br />
autotests/integration/pointer_input.cpp<br />
autotests/integration/quick_tiling_test.cpp<br />
autotests/integration/scene_opengl_shadow_test.cpp<br />
autotests/integration/scene_qpainter_shadow_test.cpp<br />
autotests/integration/scene_qpainter_test.cpp<br />
autotests/integration/screenedge_client_show_test.cpp<br />
autotests/integration/scripting/minimizeall_test.cpp<br />
autotests/integration/shade_test.cpp<br />
autotests/integration/showing_desktop_test.cpp<br />
autotests/integration/stacking_order_test.cpp<br />
autotests/integration/struts_test.cpp<br />
autotests/integration/tabbox_test.cpp<br />
autotests/integration/test_helpers.cpp<br />
autotests/integration/touch_input_test.cpp<br />
autotests/integration/transient_placement.cpp<br />
autotests/integration/virtual_desktop_test.cpp<br />
autotests/integration/window_rules_test.cpp<br />
autotests/integration/window_selection_test.cpp<br />
autotests/integration/x11_client_test.cpp<br />
autotests/integration/xdgshellclient_rules_test.cpp<br />
autotests/integration/xdgshellclient_test.cpp<br />
autotests/integration/xwayland_input_test.cpp<br />
autotests/integration/xwayland_selections_test.cpp<br />
composite.cpp<br />
debug_console.cpp<br />
debug_console.h<br />
effects.cpp<br />
effects.h<br />
idle_inhibition.cpp<br />
idle_inhibition.h<br />
input.cpp<br />
layers.cpp<br />
plugins/platforms/drm/egl_stream_backend.h<br />
pointer_input.cpp<br />
popup_input_filter.cpp<br />
popup_input_filter.h<br />
scripting/scripting_model.cpp<br />
thumbnailitem.cpp<br />
useractions.cpp<br />
virtualkeyboard.cpp<br />
wayland_server.cpp<br />
wayland_server.h<br />
workspace.cpp<br />
workspace.h<br />
xdgshellclient.cpp<br />
xdgshellclient.h</div></div></div><br /><div><strong>To: </strong>zzag, KWin<br /><strong>Cc: </strong>kwin, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>