mirror of
https://github.com/tmux/tmux.git
synced 2024-12-14 10:58:48 +00:00
Merge branch 'obsd-master'
This commit is contained in:
commit
97fd291079
53
tty.c
53
tty.c
@ -64,8 +64,6 @@ static int tty_large_region(struct tty *, const struct tty_ctx *);
|
|||||||
static int tty_fake_bce(const struct tty *, const struct window_pane *,
|
static int tty_fake_bce(const struct tty *, const struct window_pane *,
|
||||||
u_int);
|
u_int);
|
||||||
static void tty_redraw_region(struct tty *, const struct tty_ctx *);
|
static void tty_redraw_region(struct tty *, const struct tty_ctx *);
|
||||||
static void tty_clear_area(struct tty *, const struct tty_ctx *ctx, u_int,
|
|
||||||
u_int, u_int, u_int);
|
|
||||||
static void tty_emulate_repeat(struct tty *, enum tty_code_code,
|
static void tty_emulate_repeat(struct tty *, enum tty_code_code,
|
||||||
enum tty_code_code, u_int);
|
enum tty_code_code, u_int);
|
||||||
static void tty_repeat_space(struct tty *, u_int);
|
static void tty_repeat_space(struct tty *, u_int);
|
||||||
@ -687,17 +685,6 @@ tty_redraw_region(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
tty_clear_area(struct tty *tty, const struct tty_ctx *ctx, u_int sx, u_int sy,
|
|
||||||
u_int ex, u_int ey)
|
|
||||||
{
|
|
||||||
char s[64];
|
|
||||||
|
|
||||||
snprintf (s, sizeof s, "\033[32;%u;%u;%u;%u$x", ctx->yoff + sy + 1,
|
|
||||||
ctx->xoff + sx + 1, ctx->yoff + ey + 1, ctx->xoff + ex + 1);
|
|
||||||
tty_puts(tty, s);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
tty_draw_pane(struct tty *tty, const struct window_pane *wp, u_int py, u_int ox,
|
tty_draw_pane(struct tty *tty, const struct window_pane *wp, u_int py, u_int ox,
|
||||||
u_int oy)
|
u_int oy)
|
||||||
@ -921,9 +908,6 @@ tty_cmd_clearline(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
!tty_fake_bce(tty, wp, ctx->bg) &&
|
!tty_fake_bce(tty, wp, ctx->bg) &&
|
||||||
tty_term_has(tty->term, TTYC_EL))
|
tty_term_has(tty->term, TTYC_EL))
|
||||||
tty_putcode(tty, TTYC_EL);
|
tty_putcode(tty, TTYC_EL);
|
||||||
else if (tty->term_type == TTY_VT420 &&
|
|
||||||
!tty_fake_bce(tty, wp, ctx->bg))
|
|
||||||
tty_clear_area(tty, ctx, 0, ctx->ocy, sx - 1, ctx->ocy);
|
|
||||||
else
|
else
|
||||||
tty_repeat_space(tty, sx);
|
tty_repeat_space(tty, sx);
|
||||||
}
|
}
|
||||||
@ -943,9 +927,6 @@ tty_cmd_clearendofline(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
tty_term_has(tty->term, TTYC_EL) &&
|
tty_term_has(tty->term, TTYC_EL) &&
|
||||||
!tty_fake_bce(tty, wp, ctx->bg))
|
!tty_fake_bce(tty, wp, ctx->bg))
|
||||||
tty_putcode(tty, TTYC_EL);
|
tty_putcode(tty, TTYC_EL);
|
||||||
else if (tty->term_type == TTY_VT420 &&
|
|
||||||
!tty_fake_bce(tty, wp, ctx->bg))
|
|
||||||
tty_clear_area(tty, ctx, ctx->ocx, ctx->ocy, sx - 1, ctx->ocy);
|
|
||||||
else
|
else
|
||||||
tty_repeat_space(tty, sx - ctx->ocx);
|
tty_repeat_space(tty, sx - ctx->ocx);
|
||||||
}
|
}
|
||||||
@ -957,18 +938,14 @@ tty_cmd_clearstartofline(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
|
|
||||||
tty_default_attributes(tty, wp, ctx->bg);
|
tty_default_attributes(tty, wp, ctx->bg);
|
||||||
|
|
||||||
|
tty_cursor_pane(tty, ctx, 0, ctx->ocy);
|
||||||
|
|
||||||
if (ctx->xoff == 0 &&
|
if (ctx->xoff == 0 &&
|
||||||
tty_term_has(tty->term, TTYC_EL1) &&
|
tty_term_has(tty->term, TTYC_EL1) &&
|
||||||
!tty_fake_bce(tty, ctx->wp, ctx->bg)) {
|
!tty_fake_bce(tty, ctx->wp, ctx->bg))
|
||||||
tty_cursor_pane(tty, ctx, ctx->ocx, ctx->ocy);
|
|
||||||
tty_putcode(tty, TTYC_EL1);
|
tty_putcode(tty, TTYC_EL1);
|
||||||
} else if (tty->term_type == TTY_VT420 &&
|
else
|
||||||
!tty_fake_bce(tty, wp, ctx->bg))
|
|
||||||
tty_clear_area(tty, ctx, 0, ctx->ocy, ctx->ocx, ctx->ocy);
|
|
||||||
else {
|
|
||||||
tty_cursor_pane(tty, ctx, 0, ctx->ocy);
|
|
||||||
tty_repeat_space(tty, ctx->ocx + 1);
|
tty_repeat_space(tty, ctx->ocx + 1);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -1059,18 +1036,6 @@ tty_cmd_clearendofscreen(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
tty_term_has(tty->term, TTYC_ED)) {
|
tty_term_has(tty->term, TTYC_ED)) {
|
||||||
tty_cursor_pane(tty, ctx, ctx->ocx, ctx->ocy);
|
tty_cursor_pane(tty, ctx, ctx->ocx, ctx->ocy);
|
||||||
tty_putcode(tty, TTYC_ED);
|
tty_putcode(tty, TTYC_ED);
|
||||||
} else if (tty->term_type == TTY_VT420 &&
|
|
||||||
!tty_fake_bce(tty, wp, ctx->bg)) {
|
|
||||||
tty_cursor_pane(tty, ctx, ctx->ocx, ctx->ocy);
|
|
||||||
if (tty_pane_full_width(tty, ctx) &&
|
|
||||||
tty_term_has(tty->term, TTYC_EL))
|
|
||||||
tty_putcode(tty, TTYC_EL);
|
|
||||||
else
|
|
||||||
tty_repeat_space(tty, sx - ctx->ocx);
|
|
||||||
if (ctx->ocy != sy - 1) {
|
|
||||||
tty_clear_area(tty, ctx, 0, ctx->ocy + 1, sx - 1,
|
|
||||||
sy - 1);
|
|
||||||
}
|
|
||||||
} else if (tty_pane_full_width(tty, ctx) &&
|
} else if (tty_pane_full_width(tty, ctx) &&
|
||||||
tty_term_has(tty->term, TTYC_EL) &&
|
tty_term_has(tty->term, TTYC_EL) &&
|
||||||
!tty_fake_bce(tty, wp, ctx->bg)) {
|
!tty_fake_bce(tty, wp, ctx->bg)) {
|
||||||
@ -1109,10 +1074,7 @@ tty_cmd_clearstartofscreen(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
tty_region_pane(tty, ctx, 0, sy - 1);
|
tty_region_pane(tty, ctx, 0, sy - 1);
|
||||||
tty_margin_off(tty);
|
tty_margin_off(tty);
|
||||||
|
|
||||||
if (tty->term_type == TTY_VT420 &&
|
if (tty_pane_full_width(tty, ctx) &&
|
||||||
!tty_fake_bce(tty, wp, ctx->bg))
|
|
||||||
tty_clear_area(tty, ctx, 0, 0, sx - 1, ctx->ocy - 1);
|
|
||||||
else if (tty_pane_full_width(tty, ctx) &&
|
|
||||||
tty_term_has(tty->term, TTYC_EL) &&
|
tty_term_has(tty->term, TTYC_EL) &&
|
||||||
!tty_fake_bce(tty, wp, ctx->bg)) {
|
!tty_fake_bce(tty, wp, ctx->bg)) {
|
||||||
tty_cursor_pane(tty, ctx, 0, 0);
|
tty_cursor_pane(tty, ctx, 0, 0);
|
||||||
@ -1150,10 +1112,7 @@ tty_cmd_clearscreen(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
tty_term_has(tty->term, TTYC_ED)) {
|
tty_term_has(tty->term, TTYC_ED)) {
|
||||||
tty_cursor_pane(tty, ctx, 0, 0);
|
tty_cursor_pane(tty, ctx, 0, 0);
|
||||||
tty_putcode(tty, TTYC_ED);
|
tty_putcode(tty, TTYC_ED);
|
||||||
} else if (tty->term_type == TTY_VT420 &&
|
} else if (tty_pane_full_width(tty, ctx) &&
|
||||||
!tty_fake_bce(tty, wp, ctx->bg))
|
|
||||||
tty_clear_area(tty, ctx, 0, 0, sx - 1, sy - 1);
|
|
||||||
else if (tty_pane_full_width(tty, ctx) &&
|
|
||||||
tty_term_has(tty->term, TTYC_EL) &&
|
tty_term_has(tty->term, TTYC_EL) &&
|
||||||
!tty_fake_bce(tty, wp, ctx->bg)) {
|
!tty_fake_bce(tty, wp, ctx->bg)) {
|
||||||
tty_cursor_pane(tty, ctx, 0, 0);
|
tty_cursor_pane(tty, ctx, 0, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user