|
|
@ -64,7 +64,7 @@ struct Client {
|
|
|
|
int minax, maxax, minay, maxay;
|
|
|
|
int minax, maxax, minay, maxay;
|
|
|
|
long flags;
|
|
|
|
long flags;
|
|
|
|
unsigned int border, oldborder;
|
|
|
|
unsigned int border, oldborder;
|
|
|
|
Bool isbanned, isfixed, ismax, isfloating;
|
|
|
|
Bool isbanned, isfixed, ismax, isfloating, wasfloating;
|
|
|
|
Bool *tags;
|
|
|
|
Bool *tags;
|
|
|
|
Client *next;
|
|
|
|
Client *next;
|
|
|
|
Client *prev;
|
|
|
|
Client *prev;
|
|
|
@ -1627,17 +1627,26 @@ void
|
|
|
|
togglemax(const char *arg) {
|
|
|
|
togglemax(const char *arg) {
|
|
|
|
XEvent ev;
|
|
|
|
XEvent ev;
|
|
|
|
|
|
|
|
|
|
|
|
if(!sel || (!isarrange(floating) && !sel->isfloating) || sel->isfixed)
|
|
|
|
if(!sel || sel->isfixed)
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
if((sel->ismax = !sel->ismax)) {
|
|
|
|
if((sel->ismax = !sel->ismax)) {
|
|
|
|
|
|
|
|
if(isarrange(floating) || sel->isfloating)
|
|
|
|
|
|
|
|
sel->wasfloating = True;
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
togglefloating(NULL);
|
|
|
|
|
|
|
|
sel->wasfloating = False;
|
|
|
|
|
|
|
|
}
|
|
|
|
sel->rx = sel->x;
|
|
|
|
sel->rx = sel->x;
|
|
|
|
sel->ry = sel->y;
|
|
|
|
sel->ry = sel->y;
|
|
|
|
sel->rw = sel->w;
|
|
|
|
sel->rw = sel->w;
|
|
|
|
sel->rh = sel->h;
|
|
|
|
sel->rh = sel->h;
|
|
|
|
resize(sel, wax, way, waw - 2 * sel->border, wah - 2 * sel->border, True);
|
|
|
|
resize(sel, wax, way, waw - 2 * sel->border, wah - 2 * sel->border, True);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else {
|
|
|
|
resize(sel, sel->rx, sel->ry, sel->rw, sel->rh, True);
|
|
|
|
resize(sel, sel->rx, sel->ry, sel->rw, sel->rh, True);
|
|
|
|
|
|
|
|
if (!sel->wasfloating)
|
|
|
|
|
|
|
|
togglefloating(NULL);
|
|
|
|
|
|
|
|
}
|
|
|
|
drawbar();
|
|
|
|
drawbar();
|
|
|
|
while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
|
|
|
|
while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
|
|
|
|
}
|
|
|
|
}
|
|
|
|