graesslin created this revision. graesslin added reviewers: KWin, Plasma on Wayland. Restricted Application added subscribers: kwin, plasma-devel. Restricted Application added projects: Plasma on Wayland, KWin.
REVISION SUMMARY This change ports ScreenEdges to operate on AbstractClient instead of Client. For this AbstractClient gained a new pure virtual method showOnScreenEdge which is also implemented in ShellClient. In ShellClient the functionality is bound for the case windows can cover a panel. If triggered the panel gets raised again. The auto hiding panel, though, is not yet implemented. For that the protocol needs to be adjusted to give a hint to the compositor when to hide and hint back to the panel when it was shown. This needs a change in KWayland and thus is not 5.8 material. TEST PLAN See added test case REPOSITORY rKWIN KWin BRANCH shell-client-shown-on-edge REVISION DETAIL https://phabricator.kde.org/D2793 AFFECTED FILES abstract_client.h autotests/integration/plasma_surface_test.cpp autotests/mock_abstract_client.h autotests/mock_client.h client.h screenedge.cpp screenedge.h shell_client.cpp shell_client.h EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: graesslin, #kwin, #plasma_on_wayland Cc: plasma-devel, kwin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas