csi: add support for DECSET 2026, as an alternative to BSU/ESU sequences

See: https://gitlab.freedesktop.org/terminal-wg/specifications/-/merge_requests/2#note_847720
This commit is contained in:
Craig Barnes 2021-04-25 18:35:46 +01:00
parent 3131eb0288
commit f95d7d4684
4 changed files with 20 additions and 0 deletions

10
csi.c
View file

@ -557,6 +557,13 @@ decset_decrst(struct terminal *term, unsigned param, bool enable)
term->bracketed_paste = enable;
break;
case 2026:
if (enable)
term_enable_app_sync_updates(term);
else
term_disable_app_sync_updates(term);
break;
case 8452:
term->sixel.cursor_right_of_graphics = enable;
break;
@ -623,6 +630,7 @@ decrqm(const struct terminal *term, unsigned param, bool *enabled)
case 1049: *enabled = term->grid == &term->alt; return true;
case 1079: *enabled = term->sixel.use_private_palette; return true;
case 2004: *enabled = term->bracketed_paste; return true;
case 2026: *enabled = term->render.app_sync_updates.enabled; return true;
case 8452: *enabled = term->sixel.cursor_right_of_graphics; return true;
case 27127: *enabled = term->modify_escape_key; return true;
case 737769: *enabled = term_ime_is_enabled(term); return true;
@ -665,6 +673,7 @@ xtsave(struct terminal *term, unsigned param)
case 1049: term->xtsave.alt_screen = term->grid == &term->alt; break;
case 1070: term->xtsave.sixel_private_palette = term->sixel.use_private_palette; break;
case 2004: term->xtsave.bracketed_paste = term->bracketed_paste; break;
case 2026: term->xtsave.app_sync_updates = term->render.app_sync_updates.enabled; break;
case 8452: term->xtsave.sixel_cursor_right_of_graphics = term->sixel.cursor_right_of_graphics; break;
case 27127: term->xtsave.modify_escape_key = term->modify_escape_key; break;
case 737769: term->xtsave.ime = term_ime_is_enabled(term); break;
@ -706,6 +715,7 @@ xtrestore(struct terminal *term, unsigned param)
case 1049: enable = term->xtsave.alt_screen; break;
case 1070: enable = term->xtsave.sixel_private_palette; break;
case 2004: enable = term->xtsave.bracketed_paste; break;
case 2026: enable = term->xtsave.app_sync_updates; break;
case 8452: enable = term->xtsave.sixel_cursor_right_of_graphics; break;
case 27127: enable = term->xtsave.modify_escape_key; break;
case 737769: enable = term->xtsave.ime; break;