| tDbe is not required anymore. - st - [fork] customized build of st, the simple … | |
| git clone git://src.adamsgaard.dk/st | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 0e232a41150d67539df05e60c7e829f0bfb431d0 | |
| parent 3ce96aea8af566c88ed1e076d270b4d1abcf6e96 | |
| Author: Christoph Lohmann <[email protected]> | |
| Date: Sat, 19 Jan 2013 09:13:52 +0100 | |
| Dbe is not required anymore. | |
| Diffstat: | |
| M st.c | 22 +++++++++++++++------- | |
| 1 file changed, 15 insertions(+), 7 deletions(-) | |
| --- | |
| diff --git a/st.c b/st.c | |
| t@@ -203,7 +203,7 @@ typedef struct { | |
| Display *dpy; | |
| Colourmap cmap; | |
| Window win; | |
| - XdbeBackBuffer buf; | |
| + Drawable buf; | |
| Atom xembed, wmdeletewin; | |
| XIM xim; | |
| XIC xic; | |
| t@@ -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; | |
| t@@ -2500,7 +2502,8 @@ xinit(void) { | |
| | ButtonMotionMask | ButtonPressMask | ButtonReleaseMask; | |
| attrs.colormap = xw.cmap; | |
| - parent = opt_embed ? strtol(opt_embed, NULL, 0) : XRootWindow(xw.dpy, … | |
| + 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), InputOut… | |
| xw.vis, | |
| t@@ -2509,12 +2512,16 @@ xinit(void) { | |
| &attrs); | |
| /* double buffering */ | |
| - if(!XdbeQueryExtension(xw.dpy, &major, &minor)) | |
| - die("Xdbe extension is not present\n"); | |
| - 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) { | |
| t@@ -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 |