commit c155dcfeb74766db97c08d7a09cca4b42ba45f0f from: Russ Cox date: Wed Jan 30 17:03:11 2008 UTC devdraw: full-screen cleanup commit - e601e525deb6610eb7cb76546cde1db10c03317f commit + c155dcfeb74766db97c08d7a09cca4b42ba45f0f blob - a5b406718762d3f49d9118b146fa31c7cf333f92 blob + d2cab13bfecdb302efd8cbe610ce28b86f2e42a4 --- src/cmd/devdraw/x11-memdraw.h +++ src/cmd/devdraw/x11-memdraw.h @@ -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 (\ blob - 071cbc76e303c4f9e77daec9195e6bd93b56db27 blob + 2035a068178a41f431163d6cdfb2a6dd991782a2 --- src/cmd/devdraw/x11-srv.c +++ src/cmd/devdraw/x11-srv.c @@ -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) blob - bba7c35080f9d042873b848a5f2339521554a8de blob + 9095c950d09f42ca5ebdc774b2c9b64f7a03f09b --- src/cmd/devdraw/x11-wsys.c +++ src/cmd/devdraw/x11-wsys.c @@ -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);