sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit 58c80e54203a77fc4936f7d6319d9e5427edba3c
parent ed167e369d15087c25fde8d1f18f0170ea61383e
Author: Chris Down <chris@chrisdown.name>
Date:   Mon,  3 Aug 2015 08:03:49 +0100

dwm patches: Add ispermanent

Diffstat:
Adwm.suckless.org/patches/dwm-6.1-ispermanent.diff | 55+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adwm.suckless.org/patches/ispermanent.md | 18++++++++++++++++++
Msuckless.org/people/cdown.md | 1+
3 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/dwm.suckless.org/patches/dwm-6.1-ispermanent.diff b/dwm.suckless.org/patches/dwm-6.1-ispermanent.diff @@ -0,0 +1,55 @@ +diff --git config.def.h config.def.h +index eaae8f3..bf48efb 100644 +--- config.def.h ++++ config.def.h +@@ -26,9 +26,9 @@ static const Rule rules[] = { + * WM_CLASS(STRING) = instance, class + * WM_NAME(STRING) = title + */ +- /* class instance title tags mask isfloating monitor */ +- { "Gimp", NULL, NULL, 0, True, -1 }, +- { "Firefox", NULL, NULL, 1 << 8, False, -1 }, ++ /* class instance title tags mask isfloating ispermanent monitor */ ++ { "Gimp", NULL, NULL, 0, True, False, -1 }, ++ { "Firefox", NULL, NULL, 1 << 8, False, False, -1 }, + }; + + /* layout(s) */ +diff --git dwm.c dwm.c +index 169adcb..f0c7589 100644 +--- dwm.c ++++ dwm.c +@@ -92,7 +92,7 @@ struct Client { + int basew, baseh, incw, inch, maxw, maxh, minw, minh; + int bw, oldbw; + unsigned int tags; +- Bool isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen; ++ Bool isfixed, ispermanent, isfloating, isurgent, neverfocus, oldstate, isfullscreen; + Client *next; + Client *snext; + Monitor *mon; +@@ -138,6 +138,7 @@ typedef struct { + const char *title; + unsigned int tags; + Bool isfloating; ++ Bool ispermanent; + int monitor; + } Rule; + +@@ -295,6 +296,7 @@ applyrules(Client *c) { + && (!r->instance || strstr(instance, r->instance))) + { + c->isfloating = r->isfloating; ++ c->ispermanent = r->ispermanent; + c->tags |= r->tags; + for(m = mons; m && m->num != r->monitor; m = m->next); + if(m) +@@ -989,7 +991,7 @@ keypress(XEvent *e) { + + void + killclient(const Arg *arg) { +- if(!selmon->sel) ++ if(!selmon->sel || selmon->sel->ispermanent) + return; + if(!sendevent(selmon->sel, wmatom[WMDelete])) { + XGrabServer(dpy); diff --git a/dwm.suckless.org/patches/ispermanent.md b/dwm.suckless.org/patches/ispermanent.md @@ -0,0 +1,18 @@ +ispermanent +=========== + +Description +----------- + +Property for clients to avoid accidental termination by `killclient` for sticky +windows. + +Download +-------- + +* [dwm-6.1-ispermanent.diff](dwm-6.1-ispermanent.diff) (1.8k) (20150803) + +Author +------ + +* [Chris Down](https://chrisdown.name) (cdown) <chris@chrisdown.name> diff --git a/suckless.org/people/cdown.md b/suckless.org/people/cdown.md @@ -7,6 +7,7 @@ stuff for dmenu, although I'm not as active in the community as I used to be. - [alwaysfullscreen](http://dwm.suckless.org/patches/alwaysfullscreen) - [attachaside (unfocused tag version)](http://dwm.suckless.org/patches/attachaside) - [center](http://dwm.suckless.org/patches/center) +- [ispermanent](http://dwm.suckless.org/patches/ispermanent) Most of my projects are hosted on [my Github](https://github.com/cdown), or on [my website](https://chrisdown.name).