diff options
Diffstat (limited to 'patch/killunsel.c')
| -rw-r--r-- | patch/killunsel.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/patch/killunsel.c b/patch/killunsel.c new file mode 100644 index 0000000..8d7a7b8 --- /dev/null +++ b/patch/killunsel.c @@ -0,0 +1,28 @@ +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); + } + } + } +} + |
