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 {

Reply via email to