diff --git a/rules.h b/rules.h index e0fed44..d1078e7 100644 --- a/rules.h +++ b/rules.h @@ -23,22 +23,23 @@ #define BROWSER_CLASS "chromium-bin-browser-chromium" /* This is the class for chromium-bin on Gentoo. Use xprop to find out your class. */ static const Rule rules[] = { - /* class instance title tags mask isfloating ispermanent isterminal noswallow monitor unmanaged ignoretransient float x,y,w,h scratch key */ - { TERMINAL_CLASS, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0 }, - { "Zathura", NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0 }, - { "qutebrowser", NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0 }, - { "Navigator", NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0 }, - { BROWSER_CLASS, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0 }, - { "mpv", NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0 }, - { "tabbed", NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0 }, - { "trayer", NULL, NULL, 0, 1, 1, 0, 1, 0, 1, 0, -1, 0 }, - { "Gsimplecal", NULL, NULL, 0, 1, 0, 0, 1, 0, 0, 0, -1, 0 }, - { NULL, NULL, "CustomizeMii 3.11 by Leathl", 0, 1, 0, 0, 1, 0, 0, 0, -1, 0 }, - { NULL, NULL, "Picture-in-Picture", 0, 1, 0, 0, 1, 0, 0, 0, -1, 0 }, - { NULL, NULL, "About GNU IceCat", 0, 1, 0, 0, 1, 0, 0, 0, -1, 0 }, - { NULL, NULL, "About LibreWolf", 0, 1, 0, 0, 1, 0, 0, 0, -1, 0 }, - { NULL, NULL, "About Mozilla Firefox", 0, 1, 0, 0, 1, 0, 0, 0, -1, 0 }, - { NULL, NULL, "Save Image", 0, 1, 0, 0, 1, 0, 0, 0, -1, 0 }, - { NULL, NULL, "scratchpad", 0, 0, 0, 0, 's' }, + /* class instance title tags mask isfloating ispermanent isterminal noswallow allowkill monitor unmanaged ignoretransient float x,y,w,h scratch key */ + { TERMINAL_CLASS, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, 0, -1, 0 }, + { "Zathura", NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0 }, + { "qutebrowser", NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0 }, + { "Navigator", NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0 }, + { BROWSER_CLASS, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0 }, + { "mpv", NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0 }, + { "tabbed", NULL, NULL, 0, 0, 0, 0, 1, 1, 0, 0, 0, -1, 0 }, + { "trayer", NULL, NULL, 0, 1, 1, 0, 1, 1, 0, 1, 0, -1, 0 }, + { "Gsimplecal", NULL, NULL, 0, 1, 0, 0, 1, 1, 0, 0, 0, -1, 0 }, + { "Musique", NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0 }, + { NULL, NULL, "CustomizeMii 3.11 by Leathl", 0, 1, 0, 0, 1, 1, 0, 0, 0, -1, 0 }, + { NULL, NULL, "Picture-in-Picture", 0, 1, 0, 0, 1, 1, 0, 0, 0, -1, 0 }, + { NULL, NULL, "About GNU IceCat", 0, 1, 0, 0, 1, 1, 0, 0, 0, -1, 0 }, + { NULL, NULL, "About LibreWolf", 0, 1, 0, 0, 1, 1, 0, 0, 0, -1, 0 }, + { NULL, NULL, "About Mozilla Firefox", 0, 1, 0, 0, 1, 1, 0, 0, 0, -1, 0 }, + { NULL, NULL, "Save Image", 0, 1, 0, 0, 1, 1, 0, 0, 0, -1, 0 }, + { NULL, NULL, "scratchpad", 0, 0, 0, 1, 0, 's' }, }; diff --git a/speedwm.c b/speedwm.c index 4e7cb94..a37f426 100644 --- a/speedwm.c +++ b/speedwm.c @@ -240,7 +240,7 @@ struct Client { int basew, baseh, incw, inch, maxw, maxh, minw, minh; int hintsvalid; /* https://git.suckless.org/dwm/commit/8806b6e2379372900e3d9e0bf6604bc7f727350b.html */ int bw, oldbw; - int cankill; + int allowkill; unsigned int tags; /* tags */ #if USEWINICON unsigned int icw, ich; Picture icon; @@ -428,6 +428,7 @@ typedef struct { int ispermanent; int isterminal; int noswallow; + int allowkill; int monitor; int unmanaged; int ignoretransient; @@ -1072,6 +1073,7 @@ applyrules(Client *c) c->isfloating = 0; c->tags = 0; c->scratchkey = 0; + c->allowkill = allowkill; XGetClassHint(dpy, c->win, &ch); class = ch.res_class ? ch.res_class : notitle; instance = ch.res_name ? ch.res_name : notitle; @@ -1091,6 +1093,7 @@ applyrules(Client *c) c->ignoretransient = r->ignoretransient; c->ispermanent = r->ispermanent; c->tags |= r->tags; + c->allowkill = r->allowkill; unmanaged = r->unmanaged; c->scratchkey = r->scratchkey; if (r->isfloating) { @@ -3257,7 +3260,7 @@ incrogaps(const Arg *arg) void killclient(const Arg *arg) { - if (!selmon->sel || selmon->sel->ispermanent || !selmon->sel->cankill) + if (!selmon->sel || selmon->sel->ispermanent || !selmon->sel->allowkill) return; #if USESYSTRAY if (!sendevent(selmon->sel->win, wmatom[WMDelete], NoEventMask, wmatom[WMDelete], CurrentTime, 0, 0, 0)) { @@ -3326,7 +3329,7 @@ manage(Window w, XWindowAttributes *wa) c->h = c->oldh = wa->height; c->oldbw = wa->border_width; c->cfact = 1.0; - c->cankill = allowkill; /* we can kill by default */ + c->allowkill = c->allowkill; /* we can kill by default */ #if USEWINICON updateicon(c); @@ -5618,7 +5621,7 @@ toggleakill(const Arg *arg) if (!selmon->sel) return; - selmon->sel->cankill = !selmon->sel->cankill; + selmon->sel->allowkill = !selmon->sel->allowkill; } void