tapplied Peter Hartlich's togglemax patch to allow toggling tiled clients to ma… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 08c2d924809ca6e397126532c52955c3c04237e2 | |
parent fe2775a15ba2d4900788c57194da2bad3d19cfaf | |
Author: Anselm R. Garbe <[email protected]> | |
Date: Tue, 18 Sep 2007 19:04:50 +0200 | |
applied Peter Hartlich's togglemax patch to allow toggling tiled clients to max… | |
Diffstat: | |
M dwm.1 | 2 +- | |
M dwm.c | 15 ++++++++++++--- | |
2 files changed, 13 insertions(+), 4 deletions(-) | |
--- | |
diff --git a/dwm.1 b/dwm.1 | |
t@@ -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 | |
diff --git a/dwm.c b/dwm.c | |
t@@ -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; | |
t@@ -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->bo… | |
} | |
- else | |
+ else { | |
resize(sel, sel->rx, sel->ry, sel->rw, sel->rh, True); | |
+ if (!sel->wasfloating) | |
+ togglefloating(NULL); | |
+ } | |
drawbar(); | |
while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); | |
} |