version 1.161, 2022/11/11 08:37:55 |
version 1.162, 2022/11/11 08:44:11 |
|
|
size_t *size) |
size_t *size) |
{ |
{ |
struct client *c = tty->client; |
struct client *c = tty->client; |
|
int *features = &c->term_features; |
u_int i, n = 0; |
u_int i, n = 0; |
char tmp[128], *endptr, p[32] = { 0 }, *cp, *next; |
char tmp[128], *endptr, p[32] = { 0 }, *cp, *next; |
|
|
|
|
case 62: /* VT220 */ |
case 62: /* VT220 */ |
case 63: /* VT320 */ |
case 63: /* VT320 */ |
case 64: /* VT420 */ |
case 64: /* VT420 */ |
for (i = 1; i < n; i++) { |
for (i = 1; i < n; i++) { |
log_debug("%s: DA feature: %d", c->name, p[i]); |
log_debug("%s: DA feature: %d", c->name, p[i]); |
if (p[i] == 4) |
if (p[i] == 4) |
tty->term->flags |= TERM_SIXEL; |
tty_add_features(features, "sixel", ","); |
} |
} |
break; |
break; |
} |
} |
log_debug("%s: received primary DA %.*s", c->name, (int)*size, buf); |
log_debug("%s: received primary DA %.*s", c->name, (int)*size, buf); |
|
|
size_t *size) |
size_t *size) |
{ |
{ |
struct client *c = tty->client; |
struct client *c = tty->client; |
|
int *features = &c->term_features; |
u_int i, n = 0; |
u_int i, n = 0; |
char tmp[128], *endptr, p[32] = { 0 }, *cp, *next; |
char tmp[128], *endptr, p[32] = { 0 }, *cp, *next; |
|
|
|
|
/* Add terminal features. */ |
/* Add terminal features. */ |
switch (p[0]) { |
switch (p[0]) { |
case 41: /* VT420 */ |
case 41: /* VT420 */ |
tty_add_features(&c->term_features, "margins,rectfill", ","); |
tty_add_features(features, "margins,rectfill", ","); |
break; |
break; |
case 'M': /* mintty */ |
case 'M': /* mintty */ |
tty_default_features(&c->term_features, "mintty", 0); |
tty_default_features(features, "mintty", 0); |
break; |
break; |
case 'T': /* tmux */ |
case 'T': /* tmux */ |
tty_default_features(&c->term_features, "tmux", 0); |
tty_default_features(features, "tmux", 0); |
break; |
break; |
case 'U': /* rxvt-unicode */ |
case 'U': /* rxvt-unicode */ |
tty_default_features(&c->term_features, "rxvt-unicode", 0); |
tty_default_features(features, "rxvt-unicode", 0); |
break; |
break; |
} |
} |
log_debug("%s: received secondary DA %.*s", c->name, (int)*size, buf); |
log_debug("%s: received secondary DA %.*s", c->name, (int)*size, buf); |
|
|
size_t len, size_t *size) |
size_t len, size_t *size) |
{ |
{ |
struct client *c = tty->client; |
struct client *c = tty->client; |
|
int *features = &c->term_features; |
u_int i; |
u_int i; |
char tmp[128]; |
char tmp[128]; |
|
|
|
|
|
|
/* Add terminal features. */ |
/* Add terminal features. */ |
if (strncmp(tmp, "iTerm2 ", 7) == 0) |
if (strncmp(tmp, "iTerm2 ", 7) == 0) |
tty_default_features(&c->term_features, "iTerm2", 0); |
tty_default_features(features, "iTerm2", 0); |
else if (strncmp(tmp, "tmux ", 5) == 0) |
else if (strncmp(tmp, "tmux ", 5) == 0) |
tty_default_features(&c->term_features, "tmux", 0); |
tty_default_features(features, "tmux", 0); |
else if (strncmp(tmp, "XTerm(", 6) == 0) |
else if (strncmp(tmp, "XTerm(", 6) == 0) |
tty_default_features(&c->term_features, "XTerm", 0); |
tty_default_features(features, "XTerm", 0); |
else if (strncmp(tmp, "mintty ", 7) == 0) |
else if (strncmp(tmp, "mintty ", 7) == 0) |
tty_default_features(&c->term_features, "mintty", 0); |
tty_default_features(features, "mintty", 0); |
log_debug("%s: received extended DA %.*s", c->name, (int)*size, buf); |
log_debug("%s: received extended DA %.*s", c->name, (int)*size, buf); |
|
|
free(c->term_type); |
free(c->term_type); |