st
simple terminal
git clone https://9o.is/git/st.git
commit fe4b367ba0d579ab6a74dab5443bad81a66f1068 parent 6cbd9d7534fda3b9dbb60f4c224856313dfb8f5a Author: Ayman Bagabas <ayman.bagabas@gmail.com> Date: Fri, 8 Aug 2025 17:11:59 -0400 Support OSC 110, 111, and 112 for resetting colors This adds support for OSC 110, 111, and 112 escape sequences to reset the foreground, background, and cursor colors in the terminal. The changes include handling these sequences in the `strhandle` function of `st.c`, allowing applications to reset colors to their default values. The OSC sequences originated from Xterm control sequences and are now widely used in terminal applications and supported by many terminal emulators. For applications, this allows them to reset colors to default values without needing to know the colors beforehand. Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com> Diffstat:
| M | st.c | | | 13 | +++++++++++++ |
1 file changed, 13 insertions(+), 0 deletions(-)
diff --git a/st.c b/st.c @@ -1967,6 +1967,19 @@ strhandle(void) tfulldirt(); } return; + case 110: + case 111: + case 112: + if (narg != 1) + break; + if ((j = par - 110) < 0 || j >= LEN(osc_table)) + break; /* shouldn't be possible */ + if (xsetcolorname(osc_table[j].idx, NULL)) { + fprintf(stderr, "erresc: %s color not found\n", osc_table[j].str); + } else { + tfulldirt(); + } + return; } break; case 'k': /* old title set compatibility */