aboutsummaryrefslogtreecommitdiffstats
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);
}
remember that computers suck.