Pass through SIXEL DCS sequences (treat similarly to the passthrough escape

sequence) if it appears the terminal outside supports them.
This commit is contained in:
Nicholas Marriott
2019-11-28 12:35:18 +00:00
parent e00730d149
commit b34111b3da
7 changed files with 57 additions and 10 deletions

7
tmux.h
View File

@@ -446,6 +446,7 @@ enum tty_code_code {
TTYC_SMULX,
TTYC_SMUL,
TTYC_SMXX,
TTYC_SXL,
TTYC_SS,
TTYC_TC,
TTYC_TSL,
@@ -1145,6 +1146,7 @@ struct tty_term {
#define TERM_256COLOURS 0x1
#define TERM_EARLYWRAP 0x2
#define TERM_SIXEL 0x4
int flags;
LIST_ENTRY(tty_term) entry;
@@ -1248,6 +1250,7 @@ struct tty_ctx {
u_int num;
void *ptr;
int more;
/*
* Cursor and region position before the screen was updated - this is
@@ -1947,7 +1950,7 @@ void tty_draw_line(struct tty *, struct window_pane *, struct screen *,
int tty_open(struct tty *, char **);
void tty_close(struct tty *);
void tty_free(struct tty *);
void tty_set_type(struct tty *, int);
void tty_set_type(struct tty *, int, int);
void tty_write(void (*)(struct tty *, const struct tty_ctx *),
struct tty_ctx *);
void tty_cmd_alignmenttest(struct tty *, const struct tty_ctx *);
@@ -1971,6 +1974,7 @@ void tty_cmd_scrolldown(struct tty *, const struct tty_ctx *);
void tty_cmd_reverseindex(struct tty *, const struct tty_ctx *);
void tty_cmd_setselection(struct tty *, const struct tty_ctx *);
void tty_cmd_rawstring(struct tty *, const struct tty_ctx *);
void tty_cmd_rawsixel(struct tty *, const struct tty_ctx *);
/* tty-term.c */
extern struct tty_terms tty_terms;
@@ -2357,6 +2361,7 @@ void screen_write_collect_add(struct screen_write_ctx *,
void screen_write_cell(struct screen_write_ctx *, const struct grid_cell *);
void screen_write_setselection(struct screen_write_ctx *, u_char *, u_int);
void screen_write_rawstring(struct screen_write_ctx *, u_char *, u_int);
void screen_write_rawsixel(struct screen_write_ctx *, u_char *, u_int, int);
/* screen-redraw.c */
void screen_redraw_screen(struct client *);