diff --git a/CHANGELOG.md b/CHANGELOG.md index 13e82dbe..9ea6b8aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -121,6 +121,8 @@ means foot can be PGO:d in e.g. sandboxed build scripts. See * Error when re-assigning a default key binding (https://codeberg.org/dnkl/foot/issues/233). +* `\E[s`+`\E[u` (save/restore cursor) now saves and restores + attributes and charset configuration, just like `\E7`+`\E8`. ### Security diff --git a/csi.c b/csi.c index eaa527a0..7893926a 100644 --- a/csi.c +++ b/csi.c @@ -1108,10 +1108,14 @@ csi_dispatch(struct terminal *term, uint8_t final) case 's': term->grid->saved_cursor = term->grid->cursor; + term->vt.saved_attrs = term->vt.attrs; + term->saved_charsets = term->charsets; break; case 'u': term_restore_cursor(term, &term->grid->saved_cursor); + term->vt.attrs = term->vt.saved_attrs; + term->charsets = term->saved_charsets; break; case 't': {