Delay redrawals on palette changes

Build on auto-sync and only mark window dirty on palette changes and let
the event handler do the actual draw.
This commit is contained in:
Santtu Lakkala 2022-02-17 16:00:47 +02:00 committed by Hiltjo Posthuma
parent 2c5edf28ec
commit e823e2308f
1 changed files with 4 additions and 4 deletions

8
st.c
View File

@ -1927,7 +1927,7 @@ strhandle(void)
else if (xsetcolorname(defaultfg, p)) else if (xsetcolorname(defaultfg, p))
fprintf(stderr, "erresc: invalid foreground color: %s\n", p); fprintf(stderr, "erresc: invalid foreground color: %s\n", p);
else else
redraw(); tfulldirt();
return; return;
case 11: case 11:
if (narg < 2) if (narg < 2)
@ -1940,7 +1940,7 @@ strhandle(void)
else if (xsetcolorname(defaultbg, p)) else if (xsetcolorname(defaultbg, p))
fprintf(stderr, "erresc: invalid background color: %s\n", p); fprintf(stderr, "erresc: invalid background color: %s\n", p);
else else
redraw(); tfulldirt();
return; return;
case 12: case 12:
if (narg < 2) if (narg < 2)
@ -1953,7 +1953,7 @@ strhandle(void)
else if (xsetcolorname(defaultcs, p)) else if (xsetcolorname(defaultcs, p))
fprintf(stderr, "erresc: invalid cursor color: %s\n", p); fprintf(stderr, "erresc: invalid cursor color: %s\n", p);
else else
redraw(); tfulldirt();
return; return;
case 4: /* color set */ case 4: /* color set */
if (narg < 3) if (narg < 3)
@ -1975,7 +1975,7 @@ strhandle(void)
* TODO if defaultbg color is changed, borders * TODO if defaultbg color is changed, borders
* are dirty * are dirty
*/ */
redraw(); tfulldirt();
} }
return; return;
} }