[hackers] [st] Dbe is not required anymore. || Christoph Lohmann

From: <git_AT_suckless.org>
Date: Sat, 19 Jan 2013 09:14:08 +0100

commit 0e232a41150d67539df05e60c7e829f0bfb431d0
Author: Christoph Lohmann <20h_AT_r-36.net>
Date: Sat Jan 19 09:13:52 2013 +0100

    Dbe is not required anymore.

diff --git a/st.c b/st.c
index 0ea51d9..979fdc8 100644
--- a/st.c
+++ b/st.c
_AT_@ -203,7 +203,7 @@ typedef struct {
         Display *dpy;
         Colourmap cmap;
         Window win;
- XdbeBackBuffer buf;
+ Drawable buf;
         Atom xembed, wmdeletewin;
         XIM xim;
         XIC xic;
_AT_@ -414,6 +414,8 @@ static char *opt_embed = NULL;
 static char *opt_class = NULL;
 static char *opt_font = NULL;
 
+bool usedbe = False;
+
 static char *usedfont = NULL;
 static int usedfontsize = 0;
 
_AT_@ -2500,7 +2502,8 @@ xinit(void) {
                 | ButtonMotionMask | ButtonPressMask | ButtonReleaseMask;
         attrs.colormap = xw.cmap;
 
- parent = opt_embed ? strtol(opt_embed, NULL, 0) : XRootWindow(xw.dpy, xw.scr);
+ parent = opt_embed ? strtol(opt_embed, NULL, 0) : \
+ XRootWindow(xw.dpy, xw.scr);
         xw.win = XCreateWindow(xw.dpy, parent, xw.fx, xw.fy,
                         xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput,
                         xw.vis,
_AT_@ -2509,12 +2512,16 @@ xinit(void) {
                         &attrs);
 
         /* double buffering */
- if(!XdbeQueryExtension(xw.dpy, &major, &minor))
- die("Xdbe extension is not present
");
- xw.buf = XdbeAllocateBackBufferName(xw.dpy, xw.win, XdbeBackground);
+ if(XdbeQueryExtension(xw.dpy, &major, &minor)) {
+ xw.buf = XdbeAllocateBackBufferName(xw.dpy, xw.win,
+ XdbeBackground);
+ usedbe = True;
+ } else {
+ xw.buf = xw.win;
+ }
 
         /* Xft rendering context */
- xw.draw = XftDrawCreate(xw.dpy, xw.buf, xw.vis, xw.cmap);
+ xw.draw = XftDrawCreate(xw.dpy, xw.win, xw.vis, xw.cmap);
 
         /* input methods */
         if((xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) {
_AT_@ -2822,7 +2829,8 @@ draw(void) {
         XdbeSwapInfo swpinfo[1] = {{xw.win, XdbeCopied}};
 
         drawregion(0, 0, term.col, term.row);
- XdbeSwapBuffers(xw.dpy, swpinfo, 1);
+ if(usedbe)
+ XdbeSwapBuffers(xw.dpy, swpinfo, 1);
 }
 
 void
Received on Sat Jan 19 2013 - 09:14:08 CET

This archive was generated by hypermail 2.3.0 : Sat Jan 19 2013 - 09:24:08 CET