diff -paur dwm-6.0/dwm.c dwm-6.0.new/dwm.c --- dwm-6.0/dwm.c 2012-01-24 00:24:48.083423569 +0100 +++ dwm-6.0.new/dwm.c 2012-01-24 00:55:54.869440257 +0100 @@ -1533,10 +1533,14 @@ setfullscreen(Client *c, Bool fullscreen XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32, PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1); c->isfullscreen = True; - c->oldstate = c->isfloating; + //taken from togglebar + selmon->showbar = !selmon->showbar; + updatebarpos(selmon); + XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh); + arrange(selmon); + // c->oldbw = c->bw; c->bw = 0; - c->isfloating = True; resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh); XRaiseWindow(dpy, c->win); } @@ -1544,7 +1548,12 @@ setfullscreen(Client *c, Bool fullscreen XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32, PropModeReplace, (unsigned char*)0, 0); c->isfullscreen = False; - c->isfloating = c->oldstate; + //taken from togglebar + selmon->showbar = !selmon->showbar; + updatebarpos(selmon); + XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh); + arrange(selmon); + // c->bw = c->oldbw; c->x = c->oldx; c->y = c->oldy;