29 lines
597 B
C
29 lines
597 B
C
void
|
|
killunsel(const Arg *arg)
|
|
{
|
|
Client *i = NULL;
|
|
|
|
if (!selmon->sel)
|
|
return;
|
|
|
|
for (i = selmon->clients; i; i = i->next) {
|
|
if (ISVISIBLE(i) && i != selmon->sel) {
|
|
#if BAR_SYSTRAY_PATCH
|
|
if (!sendevent(i->win, wmatom[WMDelete], NoEventMask, wmatom[WMDelete], CurrentTime, 0, 0, 0))
|
|
#else
|
|
if (!sendevent(i, wmatom[WMDelete]))
|
|
#endif // BAR_SYSTRAY_PATCH
|
|
{
|
|
XGrabServer(dpy);
|
|
XSetErrorHandler(xerrordummy);
|
|
XSetCloseDownMode(dpy, DestroyAll);
|
|
XKillClient(dpy, i->win);
|
|
XSync(dpy, False);
|
|
XSetErrorHandler(xerror);
|
|
XUngrabServer(dpy);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|