URI: 
       applied Peter Hartlich's togglemax patch to allow toggling tiled clients to maximum - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 08c2d924809ca6e397126532c52955c3c04237e2
   DIR parent fe2775a15ba2d4900788c57194da2bad3d19cfaf
  HTML Author: Anselm R. Garbe <garbeam@gmail.com>
       Date:   Tue, 18 Sep 2007 19:04:50 +0200
       
       applied Peter Hartlich's togglemax patch to allow toggling tiled clients to maximum
       Diffstat:
         M dwm.1                               |       2 +-
         M dwm.c                               |      15 ++++++++++++---
       
       2 files changed, 13 insertions(+), 4 deletions(-)
       ---
   DIR diff --git a/dwm.1 b/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
   DIR diff --git a/dwm.c b/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));
        }