applied sanders try2 patch

master
arg@mig29 2006-10-27 13:28:26 +02:00
parent 2b13e7466f
commit 0f395c1b11
4 changed files with 6 additions and 7 deletions

View File

@ -209,6 +209,8 @@ manage(Window w, XWindowAttributes *wa) {
c->h = wa->height; c->h = wa->height;
c->th = bh; c->th = bh;
updatesize(c); updatesize(c);
c->isfixed = (c->maxw && c->minw && c->maxh && c->minh &&
c->maxw == c->minw && c->maxh == c->minh);
if(c->x + c->w + 2 * BORDERPX > sw) if(c->x + c->w + 2 * BORDERPX > sw)
c->x = sw - c->w - 2 * BORDERPX; c->x = sw - c->w - 2 * BORDERPX;
if(c->x < sx) if(c->x < sx)
@ -232,9 +234,7 @@ manage(Window w, XWindowAttributes *wa) {
updatetitle(c); updatetitle(c);
settags(c, getclient(trans)); settags(c, getclient(trans));
if(!c->isfloat) if(!c->isfloat)
c->isfloat = trans c->isfloat = trans || c->isfixed;
|| (c->maxw && c->minw && c->maxh && c->minh &&
c->maxw == c->minw && c->maxh == c->minh);
resizetitle(c); resizetitle(c);
if(clients) if(clients)
clients->prev = c; clients->prev = c;

2
dwm.h
View File

@ -83,7 +83,7 @@ struct Client {
int grav; int grav;
long flags; long flags;
unsigned int border, weight; unsigned int border, weight;
Bool isfloat, ismax; Bool isfloat, isfixed, ismax;
Bool *tags; Bool *tags;
Client *next; Client *next;
Client *prev; Client *prev;

View File

@ -136,7 +136,7 @@ buttonpress(XEvent *e) {
} }
else if(ev->button == Button2) else if(ev->button == Button2)
zoom(NULL); zoom(NULL);
else if(ev->button == Button3 && (arrange == dofloat || c->isfloat)) { else if(ev->button == Button3 && (arrange == dofloat || c->isfloat) && !c->isfixed) {
restack(); restack();
resizemouse(c); resizemouse(c);
} }

3
view.c
View File

@ -45,8 +45,7 @@ static void
togglemax(Client *c) { togglemax(Client *c) {
XEvent ev; XEvent ev;
if (x->maxw && x->minw && x->maxh && x->minh && if(c->isfixed)
x->maxw == x->minw && x->maxh == x->minh)
return; return;
if((c->ismax = !c->ismax)) { if((c->ismax = !c->ismax)) {