aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmadeusz Sławiński2014-01-11 12:54:36 +0100
committerRoberto E. Vargas Caballero2014-01-16 10:20:20 +0100
commitd826cd5a40508cae1fd27d71b3641e8375847dae (patch)
tree0e8619f6ca94d52291fd8866131489e4942140f2
parent6310cfa9ada297630454097978605aa5d184dd46 (diff)
downloadaur-d826cd5a40508cae1fd27d71b3641e8375847dae.tar.gz
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 4d543d19627f..48c81a26e04b 100644
--- a/st.c
+++ b/st.c
@@ -3301,6 +3301,8 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {
XftDrawRect(xw.draw, fg, winx, winy + font->ascent + 1,
width, 1);
}
+ XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, winx, winy, width,
+ font->ascent + font->descent, winx, winy);
/* Reset clip to none. */
XftDrawSetClip(xw.draw, 0);
@@ -3399,8 +3401,6 @@ redraw(int timeout) {
void
draw(void) {
drawregion(0, 0, term.col, term.row);
- XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, xw.w,
- xw.h, 0, 0);
XSetForeground(xw.dpy, dc.gc,
dc.col[IS_SET(MODE_REVERSE)?
defaultfg : defaultbg].pixel);