aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmadeusz Sławiński <amade@asmblr.net>2014-01-11 12:54:36 +0100
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2014-01-16 10:20:20 +0100
commitc0a56ef4be2a0f84360f41b2d45964e7ef297746 (patch)
tree93a04ec811f09bfbcd3edef56ac1e1d7d262b42e
parent9df9a4723dedf4f5e12c954376c4931a6976b918 (diff)
downloadst-patched-c0a56ef4be2a0f84360f41b2d45964e7ef297746.tar.bz2
st-patched-c0a56ef4be2a0f84360f41b2d45964e7ef297746.tar.xz
st-patched-c0a56ef4be2a0f84360f41b2d45964e7ef297746.zip
Make w3mimgdisplay work with st
Before this patch draw() calls drawregion which calls xdraws and then updates whole window in one call thus overdrawing anything drawn by w3mimgdisplay. After moving XCopyArea to xdraws it only updates the regions which are being updated by XftDraw* functions. It may do a few more calls to XCopyArea with this patch. Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
-rw-r--r--st.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/st.c b/st.c
index 4d543d1..48c81a2 100644
--- a/st.c
+++ b/st.c
@@ -3301,6 +3301,8 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {
3301 XftDrawRect(xw.draw, fg, winx, winy + font->ascent + 1, 3301 XftDrawRect(xw.draw, fg, winx, winy + font->ascent + 1,
3302 width, 1); 3302 width, 1);
3303 } 3303 }
3304 XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, winx, winy, width,
3305 font->ascent + font->descent, winx, winy);
3304 3306
3305 /* Reset clip to none. */ 3307 /* Reset clip to none. */
3306 XftDrawSetClip(xw.draw, 0); 3308 XftDrawSetClip(xw.draw, 0);
@@ -3399,8 +3401,6 @@ redraw(int timeout) {
3399void 3401void
3400draw(void) { 3402draw(void) {
3401 drawregion(0, 0, term.col, term.row); 3403 drawregion(0, 0, term.col, term.row);
3402 XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, xw.w,
3403 xw.h, 0, 0);
3404 XSetForeground(xw.dpy, dc.gc, 3404 XSetForeground(xw.dpy, dc.gc,
3405 dc.col[IS_SET(MODE_REVERSE)? 3405 dc.col[IS_SET(MODE_REVERSE)?
3406 defaultfg : defaultbg].pixel); 3406 defaultfg : defaultbg].pixel);