dwm-killunsel-ceac8c91ff.diff - sites - public wiki contents of suckless.org | |
git clone git://git.suckless.org/sites | |
Log | |
Files | |
Refs | |
--- | |
dwm-killunsel-ceac8c91ff.diff (1667B) | |
--- | |
1 diff --git a/config.def.h b/config.def.h | |
2 index a9ac303..6496426 100644 | |
3 --- a/config.def.h | |
4 +++ b/config.def.h | |
5 @@ -73,6 +73,7 @@ static Key keys[] = { | |
6 { MODKEY, XK_Return, zoom, {0} … | |
7 { MODKEY, XK_Tab, view, {0} … | |
8 { MODKEY|ShiftMask, XK_c, killclient, {0} … | |
9 + { MODKEY|ShiftMask, XK_x, killunsel, {0} … | |
10 { MODKEY, XK_t, setlayout, {.v … | |
11 { MODKEY, XK_f, setlayout, {.v … | |
12 { MODKEY, XK_m, setlayout, {.v … | |
13 diff --git a/dwm.c b/dwm.c | |
14 index a5ce993..a310c29 100644 | |
15 --- a/dwm.c | |
16 +++ b/dwm.c | |
17 @@ -178,6 +178,7 @@ static void grabkeys(void); | |
18 static void incnmaster(const Arg *arg); | |
19 static void keypress(XEvent *e); | |
20 static void killclient(const Arg *arg); | |
21 +static void killunsel(const Arg *arg); | |
22 static void manage(Window w, XWindowAttributes *wa); | |
23 static void mappingnotify(XEvent *e); | |
24 static void maprequest(XEvent *e); | |
25 @@ -1017,6 +1018,29 @@ killclient(const Arg *arg) | |
26 } | |
27 | |
28 void | |
29 +killunsel(const Arg *arg) | |
30 +{ | |
31 + Client *i = NULL; | |
32 + | |
33 + if (!selmon->sel) | |
34 + return; | |
35 + | |
36 + for (i = selmon->clients; i; i = i->next) { | |
37 + if (ISVISIBLE(i) && i != selmon->sel) { | |
38 + if (!sendevent(i, wmatom[WMDelete])) { | |
39 + XGrabServer(dpy); | |
40 + XSetErrorHandler(xerrordummy); | |
41 + XSetCloseDownMode(dpy, DestroyAll); | |
42 + XKillClient(dpy, i->win); | |
43 + XSync(dpy, False); | |
44 + XSetErrorHandler(xerror); | |
45 + XUngrabServer(dpy); | |
46 + } | |
47 + } | |
48 + } | |
49 +} | |
50 + | |
51 +void | |
52 manage(Window w, XWindowAttributes *wa) | |
53 { | |
54 Client *c, *t = NULL; |