applied Peter Hartlich's togglemax patch to allow toggling tiled clients to maximum
This commit is contained in:
parent
fe2775a15b
commit
08c2d92480
2 changed files with 13 additions and 4 deletions
2
dwm.1
2
dwm.1
|
@ -75,7 +75,7 @@ Focus previous window.
|
|||
Increases the master area width about 5% (tiled layout only).
|
||||
.TP
|
||||
.B Mod1\-m
|
||||
Toggles maximization of current window (floating layout only).
|
||||
Toggles maximization of current window.
|
||||
.TP
|
||||
.B Mod1\-Shift\-[1..n]
|
||||
Apply
|
||||
|
|
15
dwm.c
15
dwm.c
|
@ -64,7 +64,7 @@ struct Client {
|
|||
int minax, maxax, minay, maxay;
|
||||
long flags;
|
||||
unsigned int border, oldborder;
|
||||
Bool isbanned, isfixed, ismax, isfloating;
|
||||
Bool isbanned, isfixed, ismax, isfloating, wasfloating;
|
||||
Bool *tags;
|
||||
Client *next;
|
||||
Client *prev;
|
||||
|
@ -1627,17 +1627,26 @@ void
|
|||
togglemax(const char *arg) {
|
||||
XEvent ev;
|
||||
|
||||
if(!sel || (!isarrange(floating) && !sel->isfloating) || sel->isfixed)
|
||||
if(!sel || sel->isfixed)
|
||||
return;
|
||||
if((sel->ismax = !sel->ismax)) {
|
||||
if(isarrange(floating) || sel->isfloating)
|
||||
sel->wasfloating = True;
|
||||
else {
|
||||
togglefloating(NULL);
|
||||
sel->wasfloating = False;
|
||||
}
|
||||
sel->rx = sel->x;
|
||||
sel->ry = sel->y;
|
||||
sel->rw = sel->w;
|
||||
sel->rh = sel->h;
|
||||
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);
|
||||
if (!sel->wasfloating)
|
||||
togglefloating(NULL);
|
||||
}
|
||||
drawbar();
|
||||
while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue