|
|
@ -154,10 +154,19 @@ focus(Client *c) { |
|
|
|
|
|
|
|
|
|
|
|
void |
|
|
|
void |
|
|
|
killclient(const char *arg) { |
|
|
|
killclient(const char *arg) { |
|
|
|
|
|
|
|
XEvent ev; |
|
|
|
|
|
|
|
|
|
|
|
if(!sel) |
|
|
|
if(!sel) |
|
|
|
return; |
|
|
|
return; |
|
|
|
if(isprotodel(sel)) |
|
|
|
if(isprotodel(sel)) { |
|
|
|
sendevent(sel->win, wmatom[WMProtocols], wmatom[WMDelete]); |
|
|
|
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 |
|
|
|
else |
|
|
|
XKillClient(dpy, sel->win); |
|
|
|
XKillClient(dpy, sel->win); |
|
|
|
} |
|
|
|
} |
|
|
|