mirror of
https://github.com/tmate-io/tmate.git
synced 2025-01-12 08:58:12 +01:00
Remove tmux's (already minimal) 88 colour support. Such terminals are
few and unnecessary.
This commit is contained in:
parent
dfac36b6c3
commit
982354765b
26
colour.c
26
colour.c
@ -287,29 +287,3 @@ colour_256to16(u_char c)
|
|||||||
|
|
||||||
return (table[c]);
|
return (table[c]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert 256 colour palette to 88. */
|
|
||||||
u_char
|
|
||||||
colour_256to88(u_char c)
|
|
||||||
{
|
|
||||||
static const u_char table[256] = {
|
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
||||||
16, 17, 17, 18, 18, 19, 20, 21, 21, 22, 22, 23, 20, 21, 21, 22,
|
|
||||||
22, 23, 24, 25, 25, 26, 26, 27, 24, 25, 25, 26, 26, 27, 28, 29,
|
|
||||||
29, 30, 30, 31, 32, 33, 33, 34, 34, 35, 36, 37, 37, 38, 38, 39,
|
|
||||||
36, 37, 37, 38, 38, 39, 40, 41, 41, 42, 42, 43, 40, 41, 41, 42,
|
|
||||||
42, 43, 44, 45, 45, 46, 46, 47, 32, 33, 33, 34, 34, 35, 36, 37,
|
|
||||||
37, 38, 38, 39, 36, 37, 37, 38, 38, 39, 40, 41, 41, 42, 42, 43,
|
|
||||||
40, 41, 41, 42, 42, 43, 44, 45, 45, 46, 46, 47, 48, 49, 49, 50,
|
|
||||||
50, 51, 52, 53, 53, 54, 54, 55, 52, 53, 53, 54, 54, 55, 56, 57,
|
|
||||||
57, 58, 58, 59, 56, 57, 57, 58, 58, 59, 60, 61, 61, 62, 62, 63,
|
|
||||||
48, 49, 49, 50, 50, 51, 52, 53, 53, 54, 54, 55, 52, 53, 53, 54,
|
|
||||||
54, 55, 56, 57, 57, 58, 58, 59, 56, 57, 57, 58, 58, 59, 60, 61,
|
|
||||||
61, 62, 62, 63, 64, 65, 65, 66, 66, 67, 68, 69, 69, 70, 70, 71,
|
|
||||||
68, 69, 69, 70, 70, 71, 72, 73, 73, 74, 74, 75, 72, 73, 73, 74,
|
|
||||||
74, 75, 76, 77, 77, 78, 78, 79, 0, 0, 80, 80, 80, 81, 81, 81,
|
|
||||||
82, 82, 82, 83, 83, 83, 84, 84, 84, 85, 85, 85, 86, 86, 86, 87
|
|
||||||
};
|
|
||||||
|
|
||||||
return (table[c]);
|
|
||||||
}
|
|
||||||
|
@ -414,7 +414,7 @@ const struct options_table_entry session_options_table[] = {
|
|||||||
|
|
||||||
{ .name = "terminal-overrides",
|
{ .name = "terminal-overrides",
|
||||||
.type = OPTIONS_TABLE_STRING,
|
.type = OPTIONS_TABLE_STRING,
|
||||||
.default_str = "*88col*:colors=88,*256col*:colors=256"
|
.default_str = "*256col*:colors=256"
|
||||||
",xterm*:XT:Ms=\\E]52;%p1%s;%p2%s\\007"
|
",xterm*:XT:Ms=\\E]52;%p1%s;%p2%s\\007"
|
||||||
":Cc=\\E]12;%p1%s\\007:Cr=\\E]112\\007"
|
":Cc=\\E]12;%p1%s\\007:Cr=\\E]112\\007"
|
||||||
":Cs=\\E[%p1%d q:Csr=\\E[2 q,screen*:XT"
|
":Cs=\\E[%p1%d q:Csr=\\E[2 q,screen*:XT"
|
||||||
|
@ -981,8 +981,6 @@ server_client_msg_identify(
|
|||||||
c->tty.flags |= TTY_UTF8;
|
c->tty.flags |= TTY_UTF8;
|
||||||
if (data->flags & IDENTIFY_256COLOURS)
|
if (data->flags & IDENTIFY_256COLOURS)
|
||||||
c->tty.term_flags |= TERM_256COLOURS;
|
c->tty.term_flags |= TERM_256COLOURS;
|
||||||
else if (data->flags & IDENTIFY_88COLOURS)
|
|
||||||
c->tty.term_flags |= TERM_88COLOURS;
|
|
||||||
|
|
||||||
tty_resize(&c->tty);
|
tty_resize(&c->tty);
|
||||||
|
|
||||||
|
6
tmux.h
6
tmux.h
@ -481,7 +481,7 @@ struct msg_identify_data {
|
|||||||
|
|
||||||
#define IDENTIFY_UTF8 0x1
|
#define IDENTIFY_UTF8 0x1
|
||||||
#define IDENTIFY_256COLOURS 0x2
|
#define IDENTIFY_256COLOURS 0x2
|
||||||
#define IDENTIFY_88COLOURS 0x4
|
/* 0x4 unused */
|
||||||
#define IDENTIFY_CONTROL 0x8
|
#define IDENTIFY_CONTROL 0x8
|
||||||
#define IDENTIFY_TERMIOS 0x10
|
#define IDENTIFY_TERMIOS 0x10
|
||||||
int flags;
|
int flags;
|
||||||
@ -1141,8 +1141,7 @@ struct tty_term {
|
|||||||
struct tty_code codes[NTTYCODE];
|
struct tty_code codes[NTTYCODE];
|
||||||
|
|
||||||
#define TERM_256COLOURS 0x1
|
#define TERM_256COLOURS 0x1
|
||||||
#define TERM_88COLOURS 0x2
|
#define TERM_EARLYWRAP 0x2
|
||||||
#define TERM_EARLYWRAP 0x4
|
|
||||||
int flags;
|
int flags;
|
||||||
|
|
||||||
LIST_ENTRY(tty_term) entry;
|
LIST_ENTRY(tty_term) entry;
|
||||||
@ -1986,7 +1985,6 @@ void colour_set_bg(struct grid_cell *, int);
|
|||||||
const char *colour_tostring(int);
|
const char *colour_tostring(int);
|
||||||
int colour_fromstring(const char *);
|
int colour_fromstring(const char *);
|
||||||
u_char colour_256to16(u_char);
|
u_char colour_256to16(u_char);
|
||||||
u_char colour_256to88(u_char);
|
|
||||||
|
|
||||||
/* attributes.c */
|
/* attributes.c */
|
||||||
const char *attributes_tostring(u_char);
|
const char *attributes_tostring(u_char);
|
||||||
|
@ -404,11 +404,9 @@ tty_term_find(char *name, int fd, const char *overrides, char **cause)
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Figure out if we have 256 or 88 colours. */
|
/* Figure out if we have 256. */
|
||||||
if (tty_term_number(term, TTYC_COLORS) == 256)
|
if (tty_term_number(term, TTYC_COLORS) == 256)
|
||||||
term->flags |= TERM_256COLOURS;
|
term->flags |= TERM_256COLOURS;
|
||||||
if (tty_term_number(term, TTYC_COLORS) == 88)
|
|
||||||
term->flags |= TERM_88COLOURS;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Terminals without xenl (eat newline glitch) wrap at at $COLUMNS - 1
|
* Terminals without xenl (eat newline glitch) wrap at at $COLUMNS - 1
|
||||||
|
32
tty.c
32
tty.c
@ -35,7 +35,6 @@ void tty_read_callback(struct bufferevent *, void *);
|
|||||||
void tty_error_callback(struct bufferevent *, short, void *);
|
void tty_error_callback(struct bufferevent *, short, void *);
|
||||||
|
|
||||||
int tty_try_256(struct tty *, u_char, const char *);
|
int tty_try_256(struct tty *, u_char, const char *);
|
||||||
int tty_try_88(struct tty *, u_char, const char *);
|
|
||||||
|
|
||||||
void tty_colours(struct tty *, const struct grid_cell *);
|
void tty_colours(struct tty *, const struct grid_cell *);
|
||||||
void tty_check_fg(struct tty *, struct grid_cell *);
|
void tty_check_fg(struct tty *, struct grid_cell *);
|
||||||
@ -1446,9 +1445,7 @@ tty_check_fg(struct tty *tty, struct grid_cell *gc)
|
|||||||
/* Is this a 256-colour colour? */
|
/* Is this a 256-colour colour? */
|
||||||
if (gc->flags & GRID_FLAG_FG256) {
|
if (gc->flags & GRID_FLAG_FG256) {
|
||||||
/* And not a 256 colour mode? */
|
/* And not a 256 colour mode? */
|
||||||
if (!(tty->term->flags & TERM_88COLOURS) &&
|
if (!(tty->term->flags & TERM_256COLOURS) &&
|
||||||
!(tty->term_flags & TERM_88COLOURS) &&
|
|
||||||
!(tty->term->flags & TERM_256COLOURS) &&
|
|
||||||
!(tty->term_flags & TERM_256COLOURS)) {
|
!(tty->term_flags & TERM_256COLOURS)) {
|
||||||
gc->fg = colour_256to16(gc->fg);
|
gc->fg = colour_256to16(gc->fg);
|
||||||
if (gc->fg & 8) {
|
if (gc->fg & 8) {
|
||||||
@ -1481,9 +1478,7 @@ tty_check_bg(struct tty *tty, struct grid_cell *gc)
|
|||||||
* palette. Bold background doesn't exist portably, so just
|
* palette. Bold background doesn't exist portably, so just
|
||||||
* discard the bold bit if set.
|
* discard the bold bit if set.
|
||||||
*/
|
*/
|
||||||
if (!(tty->term->flags & TERM_88COLOURS) &&
|
if (!(tty->term->flags & TERM_256COLOURS) &&
|
||||||
!(tty->term_flags & TERM_88COLOURS) &&
|
|
||||||
!(tty->term->flags & TERM_256COLOURS) &&
|
|
||||||
!(tty->term_flags & TERM_256COLOURS)) {
|
!(tty->term_flags & TERM_256COLOURS)) {
|
||||||
gc->bg = colour_256to16(gc->bg);
|
gc->bg = colour_256to16(gc->bg);
|
||||||
if (gc->bg & 8)
|
if (gc->bg & 8)
|
||||||
@ -1511,11 +1506,9 @@ tty_colours_fg(struct tty *tty, const struct grid_cell *gc)
|
|||||||
|
|
||||||
/* Is this a 256-colour colour? */
|
/* Is this a 256-colour colour? */
|
||||||
if (gc->flags & GRID_FLAG_FG256) {
|
if (gc->flags & GRID_FLAG_FG256) {
|
||||||
/* Try as 256 colours or translating to 88. */
|
/* Try as 256 colours. */
|
||||||
if (tty_try_256(tty, fg, "38") == 0)
|
if (tty_try_256(tty, fg, "38") == 0)
|
||||||
goto save_fg;
|
goto save_fg;
|
||||||
if (tty_try_88(tty, fg, "38") == 0)
|
|
||||||
goto save_fg;
|
|
||||||
/* Else already handled by tty_check_fg. */
|
/* Else already handled by tty_check_fg. */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1546,11 +1539,9 @@ tty_colours_bg(struct tty *tty, const struct grid_cell *gc)
|
|||||||
|
|
||||||
/* Is this a 256-colour colour? */
|
/* Is this a 256-colour colour? */
|
||||||
if (gc->flags & GRID_FLAG_BG256) {
|
if (gc->flags & GRID_FLAG_BG256) {
|
||||||
/* Try as 256 colours or translating to 88. */
|
/* Try as 256 colours. */
|
||||||
if (tty_try_256(tty, bg, "48") == 0)
|
if (tty_try_256(tty, bg, "48") == 0)
|
||||||
goto save_bg;
|
goto save_bg;
|
||||||
if (tty_try_88(tty, bg, "48") == 0)
|
|
||||||
goto save_bg;
|
|
||||||
/* Else already handled by tty_check_bg. */
|
/* Else already handled by tty_check_bg. */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1591,21 +1582,6 @@ tty_try_256(struct tty *tty, u_char colour, const char *type)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
tty_try_88(struct tty *tty, u_char colour, const char *type)
|
|
||||||
{
|
|
||||||
char s[32];
|
|
||||||
|
|
||||||
if (!(tty->term->flags & TERM_88COLOURS) &&
|
|
||||||
!(tty->term_flags & TERM_88COLOURS))
|
|
||||||
return (-1);
|
|
||||||
colour = colour_256to88(colour);
|
|
||||||
|
|
||||||
xsnprintf(s, sizeof s, "\033[%s;5;%hhum", type, colour);
|
|
||||||
tty_puts(tty, s);
|
|
||||||
return (0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
tty_bell(struct tty *tty)
|
tty_bell(struct tty *tty)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user