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 AbstractClient gains a new pure virtual killWindow method and this gets implemented in ShellClient. ShellClient performs the killing by sending a term signal to the process. This can only work if the client connected through the socket and didn't get a socketpair fd passed. In that case the pid is KWin's and KWin doesn't want to terminate. Thus this is special handled to destroy the connection instead. In case terminating the process has no effect, the connection gets destroyed after five seconds. The KillWindow is adjusted to operate on AbstractClient instead of Client. This implements https://phabricator.kde.org/T4463. TEST PLAN Killed windows and auto test REPOSITORY rKWIN KWin BRANCH kill-window-wayland REVISION DETAIL https://phabricator.kde.org/D3370 AFFECTED FILES abstract_client.h autotests/integration/helper/CMakeLists.txt autotests/integration/helper/kill.cpp autotests/integration/shell_client_test.cpp client.h killwindow.cpp 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