Make w3mimgdisplay work with st - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit c0a56ef4be2a0f84360f41b2d45964e7ef297746
 (DIR) parent 9df9a4723dedf4f5e12c954376c4931a6976b918
 (HTM) Author: Amadeusz Sławiński <amade@asmblr.net>
       Date:   Sat, 11 Jan 2014 12:54:36 +0100
       
       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>
       
       Diffstat:
         M st.c                                |       4 ++--
       
       1 file changed, 2 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git 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);