prevent flickering when changing slides
authorMarkus Teich <markus.teich@stusta.mhn.de>
Tue, 17 Nov 2015 00:00:30 +0000 (01:00 +0100)
committerMarkus Teich <markus.teich@stusta.mhn.de>
Tue, 17 Nov 2015 00:04:04 +0000 (01:04 +0100)
When the window background is left at WhitePixel (from initialization) and the
user has set a dark background color in config.h, the window shortly displays
the white default background when clearing after advancing to another slide.
This was very disturbing and is fixed now by setting the default window
background color to the bgcol chosen in config.h.

sent.c

diff --git a/sent.c b/sent.c
index 5e47815fb984b5f3a4023af7289231ee896af2ef..4e2e810395509ac512596b6386c73e1c4e38e72d 100644 (file)
--- a/sent.c
+++ b/sent.c
@@ -572,14 +572,13 @@ void xinit()
        xw.vis = XDefaultVisual(xw.dpy, xw.scr);
        resize(DisplayWidth(xw.dpy, xw.scr), DisplayHeight(xw.dpy, xw.scr));
 
-       xw.attrs.background_pixel = WhitePixel(xw.dpy, xw.scr);
        xw.attrs.bit_gravity = CenterGravity;
        xw.attrs.event_mask = KeyPressMask | ExposureMask | StructureNotifyMask
                | ButtonMotionMask | ButtonPressMask;
 
        xw.win = XCreateWindow(xw.dpy, XRootWindow(xw.dpy, xw.scr), 0, 0,
                        xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput, xw.vis,
-                       CWBackPixel | CWBitGravity | CWEventMask, &xw.attrs);
+                       CWBitGravity | CWEventMask, &xw.attrs);
 
        xw.wmdeletewin = XInternAtom(xw.dpy, "WM_DELETE_WINDOW", False);
        xw.netwmname = XInternAtom(xw.dpy, "_NET_WM_NAME", False);
@@ -589,6 +588,7 @@ void xinit()
                die("Can't create drawing context.");
        sc = drw_scm_create(d, fgcol, bgcol);
        drw_setscheme(d, sc);
+       XSetWindowBackground(xw.dpy, xw.win, sc->bg.pix);
 
        xloadfonts();