commit 7e8050cc621f27002eaf1be8114dee2497beff91
Author: Hiltjo Posthuma <[email protected]>
AuthorDate: Sun Feb 5 13:29:35 2023 +0100
Commit: Hiltjo Posthuma <[email protected]>
CommitDate: Sun Feb 5 13:29:35 2023 +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'
diff --git a/st.c b/st.c
index 62def59..34c27ad 100644
--- 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
parameter */
+ }
fprintf(stderr, "erresc: invalid color j=%d,
p=%s\n",
j, p ? p : "(null)");
} else {