diff --git a/kwin/client.cpp b/kwin/client.cpp index 8a3222dc..92c6a76e 100644 --- a/kwin/client.cpp +++ b/kwin/client.cpp @@ -1262,6 +1262,16 @@ void Client::closeWindow() void Client::killWindow() { kDebug(1212) << "Client::killWindow():" << caption(); + if (clientMachine()->isLocal()) { + pid_t pid = info->pid(); + if (pid > 0) { + if (::kill(pid, SIGKILL) == -1) { + kWarning(1212) << "kill failed"; + } else { + kDebug(1212) << "killed client via SIGKILL"; + } + } + } XKillClient(display(), window()); // Always kill this client at the server destroyClient(); }