Re: [dev] [st] [PATCH] Clear the full screen on reverse terminal mode change.

From: Roberto E. Vargas Caballero <k0ga_AT_shike2.com>
Date: Fri, 9 May 2014 08:54:52 +0200

> (introduction of term.dirty) which, on change of reverse mode (DECSCNM),
> caused only dirty lines to be redrawn with the new mode instead of the
> whole screen.

Maybe could be better idea revert 0dbf9c, because I think this problem
affects all the calls to redraw:

void
expose(XEvent *ev) {
        XExposeEvent *e = &ev->xexpose;

        if(xw.state & WIN_REDRAW) {
                if(!e->count)
                        xw.state &= ~WIN_REDRAW;
        }
        redraw(0);
}

--------
                case 104: /* color reset, here p = NULL */
                        j = (narg > 1) ? atoi(strescseq.args[1]) : -1;
                        if (!xsetcolorname(j, p)) {
                                fprintf(stderr, "erresc: invalid color %s\n", p);
                        } else {
                                /*
                                 * TODO if defaultbg color is changed, borders
                                 * are dirty
                                 */
                                redraw(0);
                        }
                        
------

void
xzoom(const Arg *arg) {
        xunloadfonts();
        xloadfonts(usedfont, usedfontsize + arg->i);
        cresize(0, 0);
        redraw(0);
}

------

void
expose(XEvent *ev) {
        XExposeEvent *e = &ev->xexpose;

        if(xw.state & WIN_REDRAW) {
                if(!e->count)
                        xw.state &= ~WIN_REDRAW;
        }
        redraw(0);
}

------

Christoph (you are the author of the commit), do you remember why you removed
tfulldirt in 0dbf9c?

-- 
Roberto E. Vargas Caballero
Received on Fri May 09 2014 - 08:54:52 CEST

This archive was generated by hypermail 2.3.0 : Fri May 09 2014 - 09:00:07 CEST