Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
minor update for patch xresources
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
781dbf2
..
c71fa06
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-1927,8
+1927,8
@@
strhandle(void)
else if (xsetcolorname(defaultfg, p))
fprintf(stderr, "erresc: invalid foreground color: %s\n", p);
else
else if (xsetcolorname(defaultfg, p))
fprintf(stderr, "erresc: invalid foreground color: %s\n", p);
else
-
redraw
();
-
break
;
+
tfulldirt
();
+
return
;
case 11:
if (narg < 2)
break;
case 11:
if (narg < 2)
break;
@@
-1940,8
+1940,8
@@
strhandle(void)
else if (xsetcolorname(defaultbg, p))
fprintf(stderr, "erresc: invalid background color: %s\n", p);
else
else if (xsetcolorname(defaultbg, p))
fprintf(stderr, "erresc: invalid background color: %s\n", p);
else
-
redraw
();
-
break
;
+
tfulldirt
();
+
return
;
case 12:
if (narg < 2)
break;
case 12:
if (narg < 2)
break;
@@
-1953,17
+1953,17
@@
strhandle(void)
else if (xsetcolorname(defaultcs, p))
fprintf(stderr, "erresc: invalid cursor color: %s\n", p);
else
else if (xsetcolorname(defaultcs, p))
fprintf(stderr, "erresc: invalid cursor color: %s\n", p);
else
-
redraw
();
-
break
;
+
tfulldirt
();
+
return
;
case 4: /* color set */
if (narg < 3)
break;
p = strescseq.args[2];
/* FALLTHROUGH */
case 4: /* color set */
if (narg < 3)
break;
p = strescseq.args[2];
/* FALLTHROUGH */
- case 104: /* color reset
, here p = NULL
*/
+ case 104: /* color reset */
j = (narg > 1) ? atoi(strescseq.args[1]) : -1;
j = (narg > 1) ? atoi(strescseq.args[1]) : -1;
- if (!strcmp(p, "?"))
+ if (
p &&
!strcmp(p, "?"))
osc4_color_response(j);
else if (xsetcolorname(j, p)) {
if (par == 104 && narg <= 1)
osc4_color_response(j);
else if (xsetcolorname(j, p)) {
if (par == 104 && narg <= 1)
@@
-1975,7
+1975,7
@@
strhandle(void)
* TODO if defaultbg color is changed, borders
* are dirty
*/
* TODO if defaultbg color is changed, borders
* are dirty
*/
-
redraw
();
+
tfulldirt
();
}
return;
}
}
return;
}
@@
-2507,6
+2507,10
@@
check_control_code:
if (width == 2) {
gp->mode |= ATTR_WIDE;
if (term.c.x+1 < term.col) {
if (width == 2) {
gp->mode |= ATTR_WIDE;
if (term.c.x+1 < term.col) {
+ if (gp[1].mode == ATTR_WIDE && term.c.x+2 < term.col) {
+ gp[2].u = ' ';
+ gp[2].mode &= ~ATTR_WDUMMY;
+ }
gp[1].u = '\0';
gp[1].mode = ATTR_WDUMMY;
}
gp[1].u = '\0';
gp[1].mode = ATTR_WDUMMY;
}