summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2026-05-15 12:36:05 -0400
committerVictor Kareh <[email protected]>2026-05-15 12:37:34 -0400
commit2e2c42962d4f6ecbbd6ed70dd48c3815165740da (patch)
treedc927622208584f3a59db91f60399dfedd521d82
parent439707b511e84a2eeabddcb1e1b7946956008626 (diff)
downloadmate-terminal-osc-profile-overrides.tar.bz2
mate-terminal-osc-profile-overrides.tar.xz
terminal-screen: reset OSC color overrides on profile changeosc-profile-overrides
VTE maintains a two-layer color system where colors set via OSC 10/11 escape sequences take precedence over colors set via the API When switching profiles, the API-layer colors were updated but any active OSC overrides would persist, causing the profile's colors to be ignored. This feeds OSC 110/111 reset sequences after setting profile colors to clear the override layer.
-rw-r--r--src/terminal-screen.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index 58efc90..9883748 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -1188,6 +1188,9 @@ update_color_scheme (TerminalScreen *screen)
vte_terminal_set_color_bold (VTE_TERMINAL (screen),
bold_rgba);
+ /* Clear any OSC 10/11 color overrides so profile colors take effect */
+ vte_terminal_feed (VTE_TERMINAL (screen), "\033]110\a\033]111\a", -1);
+
update_toplevel_transparency (screen);
}