diff options
| -rw-r--r-- | README | 1 | ||||
| -rw-r--r-- | dwm.c | 19 | 
2 files changed, 17 insertions, 3 deletions
| @@ -56,3 +56,4 @@ scratchpad - https://dwm.suckless.org/patches/scratchpad/  movestack - https://dwm.suckless.org/patches/movestack/  dragmfact - https://dwm.suckless.org/patches/dragmfact/  tab - https://dwm.suckless.org/patches/tab/ +attachbottom - https://dwm.suckless.org/patches/attachbottom/ @@ -157,6 +157,7 @@ static int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interac  static void arrange(Monitor *m);  static void arrangemon(Monitor *m);  static void attach(Client *c); +static void attachbottom(Client *c);  static void attachstack(Client *c);  static void buttonpress(XEvent *e);  static void checkotherwm(void); @@ -437,6 +438,18 @@ attach(Client *c)  }  void +attachbottom(Client *c) +{ +	Client *below = c->mon->clients; +	for (; below && below->next; below = below->next); +	c->next = NULL; +	if (below) +		below->next = c; +	else +		c->mon->clients = c; +} + +void  attachstack(Client *c)  {  	c->snext = c->mon->stack; @@ -1253,7 +1266,7 @@ manage(Window w, XWindowAttributes *wa)  		c->isfloating = c->oldstate = trans != None || c->isfixed;  	if (c->isfloating)  		XRaiseWindow(dpy, c->win); -	attach(c); +	attachbottom(c);  	attachstack(c);  	XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend,  		(unsigned char *) &(c->win), 1); @@ -1632,7 +1645,7 @@ sendmon(Client *c, Monitor *m)  	detachstack(c);  	c->mon = m;  	c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */ -	attach(c); +	attachbottom(c);  	attachstack(c);  	focus(NULL);  	arrange(NULL); @@ -2195,7 +2208,7 @@ updategeom(void)  					m->clients = c->next;  					detachstack(c);  					c->mon = mons; -					attach(c); +					attachbottom(c);  					attachstack(c);  				}  				if (m == selmon) | 
