mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-15 05:33:58 -04:00
sixel: implement private mode 1070 - private color palette
When enabled (the default), sixels use private color registers. That is, the color palette from the last sixel is *not* re-used. When disabled, sixels share (i.e. re-use) the same color palette. Closes #362
This commit is contained in:
parent
313431800e
commit
4aa980a6a2
5 changed files with 43 additions and 7 deletions
7
csi.c
7
csi.c
|
|
@ -544,6 +544,10 @@ decset_decrst(struct terminal *term, unsigned param, bool enable)
|
|||
}
|
||||
break;
|
||||
|
||||
case 1070:
|
||||
term->sixel.use_private_palette = enable;
|
||||
break;
|
||||
|
||||
case 2004:
|
||||
term->bracketed_paste = enable;
|
||||
break;
|
||||
|
|
@ -607,6 +611,7 @@ decrqm(const struct terminal *term, unsigned param, bool *enabled)
|
|||
case 47: /* FALLTHROUGH */
|
||||
case 1047: /* FALLTHROUGH */
|
||||
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 27127: *enabled = term->modify_escape_key; return true;
|
||||
case 737769: *enabled = term_ime_is_enabled(term); return true;
|
||||
|
|
@ -646,6 +651,7 @@ xtsave(struct terminal *term, unsigned param)
|
|||
case 1047: term->xtsave.alt_screen = term->grid == &term->alt; break;
|
||||
case 1048: term_save_cursor(term); break;
|
||||
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 27127: term->xtsave.modify_escape_key = term->modify_escape_key; break;
|
||||
case 737769: term->xtsave.ime = term_ime_is_enabled(term); break;
|
||||
|
|
@ -684,6 +690,7 @@ xtrestore(struct terminal *term, unsigned param)
|
|||
case 1047: enable = term->xtsave.alt_screen; break;
|
||||
case 1048: enable = true; break;
|
||||
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 27127: enable = term->xtsave.modify_escape_key; break;
|
||||
case 737769: enable = term->xtsave.ime; break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue