mirror of
https://github.com/tmux/tmux.git
synced 2024-12-13 18:38:48 +00:00
Merge branch 'obsd-master'
This commit is contained in:
commit
178289fb4c
24
tty.c
24
tty.c
@ -445,6 +445,7 @@ tty_puts(struct tty *tty, const char *s)
|
|||||||
|
|
||||||
if (tty_log_fd != -1)
|
if (tty_log_fd != -1)
|
||||||
write(tty_log_fd, s, strlen(s));
|
write(tty_log_fd, s, strlen(s));
|
||||||
|
log_debug("%s: %s", tty->path, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -454,12 +455,17 @@ tty_putc(struct tty *tty, u_char ch)
|
|||||||
|
|
||||||
if (tty->cell.attr & GRID_ATTR_CHARSET) {
|
if (tty->cell.attr & GRID_ATTR_CHARSET) {
|
||||||
acs = tty_acs_get(tty, ch);
|
acs = tty_acs_get(tty, ch);
|
||||||
if (acs != NULL)
|
if (acs != NULL) {
|
||||||
bufferevent_write(tty->event, acs, strlen(acs));
|
bufferevent_write(tty->event, acs, strlen(acs));
|
||||||
else
|
log_debug("%s: %s", tty->path, acs);
|
||||||
|
} else {
|
||||||
bufferevent_write(tty->event, &ch, 1);
|
bufferevent_write(tty->event, &ch, 1);
|
||||||
} else
|
log_debug("%s: %c", tty->path, ch);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
bufferevent_write(tty->event, &ch, 1);
|
bufferevent_write(tty->event, &ch, 1);
|
||||||
|
log_debug("%s: %c", tty->path, ch);
|
||||||
|
}
|
||||||
|
|
||||||
if (ch >= 0x20 && ch != 0x7f) {
|
if (ch >= 0x20 && ch != 0x7f) {
|
||||||
if (tty->cx >= tty->sx) {
|
if (tty->cx >= tty->sx) {
|
||||||
@ -486,8 +492,11 @@ void
|
|||||||
tty_putn(struct tty *tty, const void *buf, size_t len, u_int width)
|
tty_putn(struct tty *tty, const void *buf, size_t len, u_int width)
|
||||||
{
|
{
|
||||||
bufferevent_write(tty->event, buf, len);
|
bufferevent_write(tty->event, buf, len);
|
||||||
|
|
||||||
if (tty_log_fd != -1)
|
if (tty_log_fd != -1)
|
||||||
write(tty_log_fd, buf, len);
|
write(tty_log_fd, buf, len);
|
||||||
|
log_debug("%s: %.*s", tty->path, (int)len, (char *)buf);
|
||||||
|
|
||||||
tty->cx += width;
|
tty->cx += width;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1319,7 +1328,7 @@ tty_region(struct tty *tty, u_int rupper, u_int rlower)
|
|||||||
tty_cursor(tty, 0, tty->cy);
|
tty_cursor(tty, 0, tty->cy);
|
||||||
|
|
||||||
tty_putcode2(tty, TTYC_CSR, tty->rupper, tty->rlower);
|
tty_putcode2(tty, TTYC_CSR, tty->rupper, tty->rlower);
|
||||||
tty_cursor(tty, 0, 0);
|
tty->cx = tty->cy = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Turn off margin. */
|
/* Turn off margin. */
|
||||||
@ -1347,12 +1356,15 @@ tty_margin(struct tty *tty, u_int rleft, u_int rright)
|
|||||||
if (tty->rleft == rleft && tty->rright == rright)
|
if (tty->rleft == rleft && tty->rright == rright)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
tty->rupper = 0;
|
||||||
|
tty->rlower = tty->sy - 1;
|
||||||
|
|
||||||
tty->rleft = rleft;
|
tty->rleft = rleft;
|
||||||
tty->rright = rright;
|
tty->rright = rright;
|
||||||
|
|
||||||
snprintf(s, sizeof s, "\033[%u;%us", rleft + 1, rright + 1);
|
snprintf(s, sizeof s, "\033[r\033[%u;%us", rleft + 1, rright + 1);
|
||||||
tty_puts(tty, s);
|
tty_puts(tty, s);
|
||||||
tty_cursor(tty, 0, 0);
|
tty->cx = tty->cy = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Move cursor inside pane. */
|
/* Move cursor inside pane. */
|
||||||
|
Loading…
Reference in New Issue
Block a user