On Fri 2009.10.02 at 00:32 +0159, Simon Nicolussi wrote: > Hello, > > as a consequence to the last change to cwm(1) no borders are being drawn > for maximized windows. This is fine as long as there's no gap defined in > the cwmrc(5), otherwise the borders between window and gaps are missing. > Is this behaviour intended? > > There's another strange problem I experienced after this change: Almost > every time I try to maximize my Firefox window its whole content freezes > and returns back to normal as soon as I resize the window with my mouse. > I haven't really looked into this, though.
i haven't experienced this (yet) - does this still occur if you simply backout the change? > Here's a patch that addresses theses issues: Now maximized windows keep > all four borders, but always inside the screen (and thus visible for the > user) and Firefox behaves as before the change. the below changes the current behaviour of fullscreen, now adding a border. of course, if we did this, it would match other tiling wm's, all of which i know do have a border, fullscreened or not. > Tested on amd64 but unfortunately no multi-monitor configuration. > > Index: client.c > =================================================================== > RCS file: /cvs/xenocara/app/cwm/client.c,v > retrieving revision 1.65 > diff -u client.c > --- client.c 25 Sep 2009 15:57:49 -0000 1.65 > +++ client.c 1 Oct 2009 21:30:27 -0000 > @@ -246,8 +246,10 @@ > calc: > cc->geom.x = x_org + Conf.gap_left; > cc->geom.y = y_org + Conf.gap_top; > - cc->geom.height = ymax - (Conf.gap_top + Conf.gap_bottom); > - cc->geom.width = xmax - (Conf.gap_left + Conf.gap_right); > + cc->geom.height = ymax - (cc->bwidth * 2) - > + (Conf.gap_top + Conf.gap_bottom); > + cc->geom.width = xmax - (cc->bwidth * 2) - > + (Conf.gap_left + Conf.gap_right); > cc->flags |= CLIENT_DOMAXIMIZE; > } > > @@ -323,7 +325,6 @@ > CLIENT_HMAXIMIZED); > > if (cc->flags & CLIENT_DOMAXIMIZE) { > - cc->bwidth = 0; > cc->flags &= ~CLIENT_DOMAXIMIZE; > cc->flags |= CLIENT_MAXIMIZED; > } else if (cc->flags & CLIENT_DOVMAXIMIZE) { > @@ -332,11 +333,7 @@ > } else if (cc->flags & CLIENT_DOHMAXIMIZE) { > cc->flags &= ~CLIENT_DOHMAXIMIZE; > cc->flags |= CLIENT_HMAXIMIZED; > - } else { > - cc->bwidth = Conf.bwidth; > } > - > - client_draw_border(cc); > > XMoveResizeWindow(X_Dpy, cc->win, cc->geom.x, > cc->geom.y, cc->geom.width, cc->geom.height); > > -- > Simon Nicolussi, <simon.nicolu...@student.uibk.ac.at> > http://homepage.uibk.ac.at/~csag9583/