mirror of
https://github.com/tmux/tmux.git
synced 2026-05-31 06:36:18 +00:00
Fix the alignmenttest.
This commit is contained in:
21
tty.c
21
tty.c
@@ -2051,7 +2051,9 @@ tty_cmd_clearscreen(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
void
|
void
|
||||||
tty_cmd_alignmenttest(struct tty *tty, const struct tty_ctx *ctx)
|
tty_cmd_alignmenttest(struct tty *tty, const struct tty_ctx *ctx)
|
||||||
{
|
{
|
||||||
u_int i, j;
|
struct visible_ranges *r;
|
||||||
|
struct visible_range *ri;
|
||||||
|
u_int i, j, k, px, py, cx;
|
||||||
|
|
||||||
if (ctx->flags & (TTY_CTX_WINDOW_BIGGER|TTY_CTX_PANE_OBSCURED)) {
|
if (ctx->flags & (TTY_CTX_WINDOW_BIGGER|TTY_CTX_PANE_OBSCURED)) {
|
||||||
ctx->redraw_cb(ctx);
|
ctx->redraw_cb(ctx);
|
||||||
@@ -2064,10 +2066,21 @@ tty_cmd_alignmenttest(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
tty_region_pane(tty, ctx, 0, ctx->sy - 1);
|
tty_region_pane(tty, ctx, 0, ctx->sy - 1);
|
||||||
tty_margin_off(tty);
|
tty_margin_off(tty);
|
||||||
|
|
||||||
|
/* Get tty position from pane position for overlay check. */
|
||||||
|
px = ctx->xoff - ctx->wox;
|
||||||
|
|
||||||
for (j = 0; j < ctx->sy; j++) {
|
for (j = 0; j < ctx->sy; j++) {
|
||||||
tty_cursor_pane(tty, ctx, 0, j);
|
py = ctx->yoff + j - ctx->woy;
|
||||||
for (i = 0; i < ctx->sx; i++)
|
r = tty_check_overlay_range(tty, px, py, ctx->sx);
|
||||||
tty_putc(tty, 'E');
|
for (i = 0; i < r->used; i++) {
|
||||||
|
ri = &r->ranges[i];
|
||||||
|
if (ri->nx == 0)
|
||||||
|
continue;
|
||||||
|
cx = ri->px - ctx->xoff + ctx->wox;
|
||||||
|
tty_cursor_pane(tty, ctx, cx, j);
|
||||||
|
for (k = 0; k < ri->nx; k++)
|
||||||
|
tty_putc(tty, 'E');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user