--- config.def.h | 4 ++-- st.c | 17 ++++++++++++++--- st.h | 1 + 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/config.def.h b/config.def.h index 546edda..7d20fdf 100644 --- a/config.def.h +++ b/config.def.h _AT_@ -118,8 +118,8 @@ static const char *colorname[] = { */ unsigned int defaultfg = 7; unsigned int defaultbg = 0; -static unsigned int defaultcs = 256; -static unsigned int defaultrcs = 257; +unsigned int defaultcs = 256; +unsigned int defaultrcs = 257; /* * Default shape of cursor diff --git a/st.c b/st.c index 3e48410..ec7970c 100644 --- a/st.c +++ b/st.c _AT_@ -1862,12 +1862,23 @@ strhandle(void) } return; case 4: /* color set */ - if (narg < 3) + case 10: /* foreground set */ + case 11: /* background set */ + case 12: /* cursor color */ + if ((par == 4 && narg < 3) || narg < 2) break; - p = strescseq.args[2]; + p = strescseq.args[((par == 4) ? 2 : 1)]; /* FALLTHROUGH */ case 104: /* color reset, here p = NULL */ - j = (narg > 1) ? atoi(strescseq.args[1]) : -1; + if (par == 10) + j = defaultfg; + else if (par == 11) + j = defaultbg; + else if (par == 12) + j = defaultcs; + else + j = (narg > 1) ? atoi(strescseq.args[1]) : -1; + if (xsetcolorname(j, p)) { if (par == 104 && narg <= 1) return; /* color reset without parameter */ diff --git a/st.h b/st.h index a1928ca..bd79875 100644 --- a/st.h +++ b/st.h _AT_@ -121,3 +121,4 @@ extern char *termname; extern unsigned int tabspaces; extern unsigned int defaultfg; extern unsigned int defaultbg; +extern unsigned int defaultcs; -- 2.20.1Received on Sat Apr 18 2020 - 21:07:45 CEST
This archive was generated by hypermail 2.3.0 : Sat Apr 18 2020 - 21:24:35 CEST