all repos — openbox @ 056c5b435d6f52d0ade3beece3e112c4c4cc5268

openbox fork - make it a bit more like ryudo

set the background pixmap
Dana Jansens danakj@orodu.net
commit

056c5b435d6f52d0ade3beece3e112c4c4cc5268

parent

5b52a8f5610d3cc0a39ecb6b341e69596d892099

3 files changed, 6 insertions(+), 8 deletions(-)

jump to
M otk/rendercontrol.hhotk/rendercontrol.hh

@@ -67,7 +67,7 @@ virtual ~RenderControl();

static RenderControl *getRenderControl(int screen); - virtual void render(::Drawable d) = 0; + virtual void render(::Window w) = 0; }; }
M otk/truerendercontrol.ccotk/truerendercontrol.cc

@@ -108,8 +108,6 @@ void renderPixel(XImage *im, unsigned char *dp, unsigned long pixel)

{ unsigned int bpp = im->bits_per_pixel + (im->byte_order == MSBFirst) ? 1 : 0; - printf("%lx \n", pixel); - switch (bpp) { case 8: // 8bpp *dp++ = pixel;

@@ -147,13 +145,13 @@ break;

} } -void TrueRenderControl::render(::Drawable d) +void TrueRenderControl::render(::Window win) { XGCValues gcv; gcv.cap_style = CapProjecting; int w = 255, h = 32; - Pixmap p = XCreatePixmap(**display, d, w, h, _screen->depth()); + Pixmap p = XCreatePixmap(**display, win, w, h, _screen->depth()); XImage *im = XCreateImage(**display, _screen->visual(), _screen->depth(), ZPixmap, 0, NULL, w, h, 32, 0); //GC gc = XCreateGC(**display, _screen->rootWindow(), GCCapStyle, &gcv);

@@ -187,8 +185,8 @@ //delete [] image->data;

//image->data = NULL; XDestroyImage(im); - XCopyArea(**display, p, d, DefaultGC(**display, _screen->screen()), - 0, 0, w, h, 0, 0); + XSetWindowBackgroundPixmap(**display, win, p); + XClearWindow(**display, win); XFreePixmap(**display, p); }
M otk/truerendercontrol.hhotk/truerendercontrol.hh

@@ -17,7 +17,7 @@ public:

TrueRenderControl(const ScreenInfo *screen); virtual ~TrueRenderControl(); - virtual void render(::Drawable d); + virtual void render(::Window w); }; }