Fixed OSC color reset without parameter->resets all colors - st - simple termin… | |
git clone git://git.suckless.org/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 7e8050cc621f27002eaf1be8114dee2497beff91 | |
parent e5e959835b195c023d1f685ef4dbbcfc3b5120b2 | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Sun, 5 Feb 2023 13:29:35 +0100 | |
Fixed OSC color reset without parameter->resets all colors | |
Adapted from (garbled) patch by wim <[email protected]> | |
Additional notes: it should reset all the colors using xloadcols(). | |
To reproduce: set a different (theme) color using some escape code, then reset | |
it: | |
printf '\x1b]104\x07' | |
Diffstat: | |
M st.c | 4 +++- | |
1 file changed, 3 insertions(+), 1 deletion(-) | |
--- | |
diff --git a/st.c b/st.c | |
@@ -1932,8 +1932,10 @@ strhandle(void) | |
if (p && !strcmp(p, "?")) { | |
osc_color_response(j, 0, 1); | |
} else if (xsetcolorname(j, p)) { | |
- if (par == 104 && narg <= 1) | |
+ if (par == 104 && narg <= 1) { | |
+ xloadcols(); | |
return; /* color reset without paramet… | |
+ } | |
fprintf(stderr, "erresc: invalid color j=%d, p… | |
j, p ? p : "(null)"); | |
} else { |