mirror of
https://github.com/tmux/tmux.git
synced 2024-11-16 09:28:51 +00:00
Revert use of DECSLRM on iTerm2, it doesn't help as much as we throught,
and there are some question marks about it's support.
This commit is contained in:
parent
8c8ce08d79
commit
f731ae4a2d
4
tmux.h
4
tmux.h
@ -1071,7 +1071,6 @@ struct tty {
|
|||||||
TTY_VT220,
|
TTY_VT220,
|
||||||
TTY_VT320,
|
TTY_VT320,
|
||||||
TTY_VT420,
|
TTY_VT420,
|
||||||
TTY_ITERM2,
|
|
||||||
TTY_UNKNOWN
|
TTY_UNKNOWN
|
||||||
} term_type;
|
} term_type;
|
||||||
|
|
||||||
@ -1086,8 +1085,7 @@ struct tty {
|
|||||||
struct tty_key *key_tree;
|
struct tty_key *key_tree;
|
||||||
};
|
};
|
||||||
#define TTY_TYPES \
|
#define TTY_TYPES \
|
||||||
{ "VT100", "VT101", "VT102", "VT220", "VT320", "VT420", "iTerm2", \
|
{ "VT100", "VT101", "VT102", "VT220", "VT320", "VT420", "Unknown" }
|
||||||
"Unknown" }
|
|
||||||
|
|
||||||
/* TTY command context. */
|
/* TTY command context. */
|
||||||
struct tty_ctx {
|
struct tty_ctx {
|
||||||
|
44
tty-keys.c
44
tty-keys.c
@ -46,8 +46,6 @@ static void tty_keys_callback(int, short, void *);
|
|||||||
static int tty_keys_mouse(struct tty *, const char *, size_t, size_t *);
|
static int tty_keys_mouse(struct tty *, const char *, size_t, size_t *);
|
||||||
static int tty_keys_device_attributes(struct tty *, const char *, size_t,
|
static int tty_keys_device_attributes(struct tty *, const char *, size_t,
|
||||||
size_t *);
|
size_t *);
|
||||||
static int tty_keys_iterm2_version(struct tty *, const char *, size_t,
|
|
||||||
size_t *);
|
|
||||||
|
|
||||||
/* Default raw keys. */
|
/* Default raw keys. */
|
||||||
struct tty_default_key_raw {
|
struct tty_default_key_raw {
|
||||||
@ -555,17 +553,6 @@ tty_keys_next(struct tty *tty)
|
|||||||
goto partial_key;
|
goto partial_key;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Or a response from iTerm2? */
|
|
||||||
switch (tty_keys_iterm2_version(tty, buf, len, &size)) {
|
|
||||||
case 0: /* yes */
|
|
||||||
key = KEYC_UNKNOWN;
|
|
||||||
goto complete_key;
|
|
||||||
case -1: /* no, or not valid */
|
|
||||||
break;
|
|
||||||
case 1: /* partial */
|
|
||||||
goto partial_key;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Is this a mouse key press? */
|
/* Is this a mouse key press? */
|
||||||
switch (tty_keys_mouse(tty, buf, len, &size)) {
|
switch (tty_keys_mouse(tty, buf, len, &size)) {
|
||||||
case 0: /* yes */
|
case 0: /* yes */
|
||||||
@ -925,34 +912,3 @@ tty_keys_device_attributes(struct tty *tty, const char *buf, size_t len,
|
|||||||
types[type]);
|
types[type]);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Handle a version response from iTerm2. Returns 0 for success, -1 for
|
|
||||||
* failure, 1 for partial.
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
tty_keys_iterm2_version(struct tty *tty, const char *buf, size_t len,
|
|
||||||
size_t *size)
|
|
||||||
{
|
|
||||||
struct client *c = tty->client;
|
|
||||||
u_int i;
|
|
||||||
|
|
||||||
*size = 0;
|
|
||||||
|
|
||||||
if (memcmp("\033[ITERM2 ", buf, (len > 9) ? 9 : len) != 0)
|
|
||||||
return (-1);
|
|
||||||
if (len < 10)
|
|
||||||
return (1);
|
|
||||||
for (i = 9; i < len; i++) {
|
|
||||||
if (buf[i] == 'n')
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (i == len)
|
|
||||||
return (1);
|
|
||||||
*size = i + 1;
|
|
||||||
|
|
||||||
tty_set_type(tty, TTY_ITERM2);
|
|
||||||
|
|
||||||
log_debug("%s: this is iTerm2", c->name);
|
|
||||||
return (0);
|
|
||||||
}
|
|
||||||
|
4
tty.c
4
tty.c
@ -74,7 +74,7 @@ static void tty_default_attributes(struct tty *, const struct window_pane *,
|
|||||||
#define tty_use_acs(tty) \
|
#define tty_use_acs(tty) \
|
||||||
(tty_term_has((tty)->term, TTYC_ACSC) && !((tty)->flags & TTY_UTF8))
|
(tty_term_has((tty)->term, TTYC_ACSC) && !((tty)->flags & TTY_UTF8))
|
||||||
#define tty_use_margin(tty) \
|
#define tty_use_margin(tty) \
|
||||||
((tty)->term_type == TTY_VT420 || (tty)->term_type == TTY_ITERM2)
|
((tty)->term_type == TTY_VT420)
|
||||||
|
|
||||||
#define tty_pane_full_width(tty, ctx) \
|
#define tty_pane_full_width(tty, ctx) \
|
||||||
((ctx)->xoff == 0 && screen_size_x((ctx)->wp->screen) >= (tty)->sx)
|
((ctx)->xoff == 0 && screen_size_x((ctx)->wp->screen) >= (tty)->sx)
|
||||||
@ -251,7 +251,7 @@ tty_start_tty(struct tty *tty)
|
|||||||
tty->flags |= TTY_FOCUS;
|
tty->flags |= TTY_FOCUS;
|
||||||
tty_puts(tty, "\033[?1004h");
|
tty_puts(tty, "\033[?1004h");
|
||||||
}
|
}
|
||||||
tty_puts(tty, "\033[c\033[1337n");
|
tty_puts(tty, "\033[c");
|
||||||
}
|
}
|
||||||
|
|
||||||
tty->flags |= TTY_STARTED;
|
tty->flags |= TTY_STARTED;
|
||||||
|
Loading…
Reference in New Issue
Block a user