URI: 
       configurenotify remembers max geom now, and restores this if necessary, however it accepts to touch the max size on configurerequest, this shouldn't break fillscreen apps (tested with mplayer) - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit aa1bda81646e9d6188fd584009be0eee619f6966
   DIR parent 157ea539a2d1926ee3a9d2fe713eba0b9428f685
  HTML Author: Anselm R. Garbe <arg@10kloc.org>
       Date:   Tue, 29 Aug 2006 17:31:55 +0200
       
       configurenotify remembers max geom now, and restores this if necessary, however it accepts to touch the max size on configurerequest, this shouldn't break fillscreen apps (tested with mplayer)
       Diffstat:
         M event.c                             |      12 +++++++++++-
         M tag.c                               |       6 +++---
       
       2 files changed, 14 insertions(+), 4 deletions(-)
       ---
   DIR diff --git a/event.c b/event.c
       @@ -150,6 +150,7 @@ buttonpress(XEvent *e)
        static void
        configurerequest(XEvent *e)
        {
       +        int ox, oy, ow, oh;
                unsigned long newmask;
                Client *c;
                XConfigureRequestEvent *ev = &e->xconfigurerequest;
       @@ -157,6 +158,10 @@ configurerequest(XEvent *e)
                XWindowChanges wc;
        
                if((c = getclient(ev->window))) {
       +                ox = c->x;
       +                oy = c->y;
       +                ow = c->w;
       +                oh = c->h;
                        gravitate(c, True);
                        if(ev->value_mask & CWX)
                                c->x = ev->x;
       @@ -191,8 +196,13 @@ configurerequest(XEvent *e)
                                XSendEvent(dpy, c->win, True, NoEventMask, &synev);
                        }
                        XSync(dpy, False);
       -                if(c->isfloat)
       +                if(c->isfloat || c->ismax) {
                                resize(c, False, TopLeft);
       +                        c->x = ox;
       +                        c->y = oy;
       +                        c->w = ow;
       +                        c->h = oh;
       +                }
                        else
                                arrange(NULL);
                }
   DIR diff --git a/tag.c b/tag.c
       @@ -31,7 +31,7 @@ static RReg *rreg = NULL;
        static unsigned int len = 0;
        
        static void
       -applytag()
       +commit()
        {
                /* asserts sel != NULL */
                settitle(sel);
       @@ -132,7 +132,7 @@ tag(Arg *arg)
                for(i = 0; i < ntags; i++)
                        sel->tags[i] = False;
                sel->tags[arg->i] = True;
       -        applytag();
       +        commit();
        }
        
        void
       @@ -147,5 +147,5 @@ toggletag(Arg *arg)
                for(i = 0; i < ntags && !sel->tags[i]; i++);
                if(i == ntags)
                        sel->tags[arg->i] = True;
       -        applytag();
       +        commit();
        }