URI: 
       tdevdraw: full-screen cleanup - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit c155dcfeb74766db97c08d7a09cca4b42ba45f0f
   DIR parent e601e525deb6610eb7cb76546cde1db10c03317f
  HTML Author: Russ Cox <rsc@swtch.com>
       Date:   Wed, 30 Jan 2008 12:03:11 -0500
       
       devdraw: full-screen cleanup
       
       Diffstat:
         M src/cmd/devdraw/x11-memdraw.h       |       1 +
         M src/cmd/devdraw/x11-srv.c           |       2 +-
         M src/cmd/devdraw/x11-wsys.c          |      14 ++++++++++++++
       
       3 files changed, 16 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/src/cmd/devdraw/x11-memdraw.h b/src/cmd/devdraw/x11-memdraw.h
       t@@ -101,6 +101,7 @@ extern char*                _xgetsnarf(void);
        extern void                _xputsnarf(char *data);
        extern void                _xtopwindow(void);
        extern void                _xresizewindow(Rectangle);
       +extern void                _xmovewindow(Rectangle);
        extern int                _xreplacescreenimage(void);
        
        #define MouseMask (\
   DIR diff --git a/src/cmd/devdraw/x11-srv.c b/src/cmd/devdraw/x11-srv.c
       t@@ -536,7 +536,7 @@ runxevent(XEvent *xev)
                        XLookupString((XKeyEvent*)xev, NULL, 0, &k, NULL);
                        if(k == XK_F11){
                                fullscreen = !fullscreen;
       -                        _xresizewindow(fullscreen ? screenrect : windowrect);
       +                        _xmovewindow(fullscreen ? screenrect : windowrect);
                                return;
                        }
                        if((c = _xtoplan9kbd(xev)) < 0)
   DIR diff --git a/src/cmd/devdraw/x11-wsys.c b/src/cmd/devdraw/x11-wsys.c
       t@@ -22,6 +22,20 @@ _xresizewindow(Rectangle r)
        
                memset(&e, 0, sizeof e);
                value_mask = CWX|CWY|CWWidth|CWHeight;
       +        e.width = Dx(r);
       +        e.height = Dy(r);
       +        XConfigureWindow(_x.display, _x.drawable, value_mask, &e);
       +        XFlush(_x.display);
       +}
       +
       +void
       +_xmovewindow(Rectangle r)
       +{
       +        XWindowChanges e;
       +        int value_mask;
       +
       +        memset(&e, 0, sizeof e);
       +        value_mask = CWX|CWY|CWWidth|CWHeight;
                e.x = r.min.x;
                e.y = r.min.y;
                e.width = Dx(r);