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);
}
/* main.c */
void quit(const char *arg); /* quit dwm nicely */
-void sendevent(Window w, Atom a, long value); /* send synthetic event to w */
int xerror(Display *dsply, XErrorEvent *ee); /* dwm's X error handler */
/* tag.c */
/* extern */
-void
-sendevent(Window w, Atom a, long value) {
- XEvent e;
-
- e.type = ClientMessage;
- e.xclient.window = w;
- e.xclient.message_type = a;
- e.xclient.format = 32;
- e.xclient.data.l[0] = value;
- e.xclient.data.l[1] = CurrentTime;
- XSendEvent(dpy, w, False, NoEventMask, &e);
- XSync(dpy, False);
-}
-
void
quit(const char *arg) {
readin = running = False;