diff --git a/CHANGELOG.md b/CHANGELOG.md index f0331924..5a64cd50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,7 +36,7 @@ (https://codeberg.org/dnkl/foot/issues/244). * Key/mouse binding `select-extend-character-wise`, which forces the selection mode to 'character-wise' when extending a selection. -* `DECSET 1047` and `DECSET 1048`. +* `DECSET` `47`, `1047` and `1048`. ### Changed diff --git a/csi.c b/csi.c index 8a4adb7e..9f246a33 100644 --- a/csi.c +++ b/csi.c @@ -496,6 +496,7 @@ decset_decrst(struct terminal *term, unsigned param, bool enable) term_restore_cursor(term, &term->grid->saved_cursor); break; + case 47: case 1047: case 1049: if (enable && term->grid != &term->alt) { @@ -626,6 +627,7 @@ xtsave(struct terminal *term, unsigned param) case 12: term->xtsave.cursor_blink = term->cursor_blink.decset; break; case 25: term->xtsave.show_cursor = !term->hide_cursor; break; case 45: term->xtsave.reverse_wrap = term->reverse_wrap; break; + case 47: term->xtsave.alt_screen = term->grid == &term->alt; break; case 1000: term->xtsave.mouse_click = term->mouse_tracking == MOUSE_CLICK; break; case 1001: break; case 1002: term->xtsave.mouse_drag = term->mouse_tracking == MOUSE_DRAG; break; @@ -663,6 +665,7 @@ xtrestore(struct terminal *term, unsigned param) case 12: enable = term->xtsave.cursor_blink; break; case 25: enable = term->xtsave.show_cursor; break; case 45: enable = term->xtsave.reverse_wrap; break; + case 47: enable = term->xtsave.alt_screen; break; case 1000: enable = term->xtsave.mouse_click; break; case 1001: return; case 1002: enable = term->xtsave.mouse_drag; break;