about summary refs log tree commit diff stats
path: root/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'client.c')
-rw-r--r--client.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/client.c b/client.c
index d180278..e599203 100644
--- a/client.c
+++ b/client.c
@@ -154,10 +154,19 @@ focus(Client *c) {
 
 void
 killclient(const char *arg) {
+	XEvent ev;
+
 	if(!sel)
 		return;
-	if(isprotodel(sel))
-		sendevent(sel->win, wmatom[WMProtocols], wmatom[WMDelete]);
+	if(isprotodel(sel)) {
+		ev.type = ClientMessage;
+		ev.xclient.window = sel->win;
+		ev.xclient.message_type = wmatom[WMProtocols];
+		ev.xclient.format = 32;
+		ev.xclient.data.l[0] = wmatom[WMDelete];
+		ev.xclient.data.l[1] = CurrentTime;
+		XSendEvent(dpy, sel->win, False, NoEventMask, &ev);
+	}
 	else
 		XKillClient(dpy, sel->win);
 }