mirror of
https://github.com/tmux/tmux.git
synced 2025-09-01 20:57:00 +00:00
DECRC and DECSC apparently need to preserve origin mode as well, based
on a fix from Marc Reisner.
This commit is contained in:
@ -476,10 +476,10 @@ window_tree_draw_label(struct screen_write_ctx *ctx, u_int px, u_int py,
|
||||
oy = (sy + 1) / 2;
|
||||
|
||||
if (ox > 1 && ox + len < sx - 1 && sy >= 3) {
|
||||
screen_write_cursormove(ctx, px + ox - 1, py + oy - 1);
|
||||
screen_write_cursormove(ctx, px + ox - 1, py + oy - 1, 0);
|
||||
screen_write_box(ctx, len + 2, 3);
|
||||
}
|
||||
screen_write_cursormove(ctx, px + ox, py + oy);
|
||||
screen_write_cursormove(ctx, px + ox, py + oy, 0);
|
||||
screen_write_puts(ctx, gc, "%s", label);
|
||||
}
|
||||
|
||||
@ -554,17 +554,17 @@ window_tree_draw_session(struct window_tree_modedata *data, struct session *s,
|
||||
|
||||
if (left) {
|
||||
data->left = cx + 2;
|
||||
screen_write_cursormove(ctx, cx + 2, cy);
|
||||
screen_write_cursormove(ctx, cx + 2, cy, 0);
|
||||
screen_write_vline(ctx, sy, 0, 0);
|
||||
screen_write_cursormove(ctx, cx, cy + sy / 2);
|
||||
screen_write_cursormove(ctx, cx, cy + sy / 2, 0);
|
||||
screen_write_puts(ctx, &grid_default_cell, "<");
|
||||
} else
|
||||
data->left = -1;
|
||||
if (right) {
|
||||
data->right = cx + sx - 3;
|
||||
screen_write_cursormove(ctx, cx + sx - 3, cy);
|
||||
screen_write_cursormove(ctx, cx + sx - 3, cy, 0);
|
||||
screen_write_vline(ctx, sy, 0, 0);
|
||||
screen_write_cursormove(ctx, cx + sx - 1, cy + sy / 2);
|
||||
screen_write_cursormove(ctx, cx + sx - 1, cy + sy / 2, 0);
|
||||
screen_write_puts(ctx, &grid_default_cell, ">");
|
||||
} else
|
||||
data->right = -1;
|
||||
@ -597,7 +597,7 @@ window_tree_draw_session(struct window_tree_modedata *data, struct session *s,
|
||||
else
|
||||
width = each - 1;
|
||||
|
||||
screen_write_cursormove(ctx, cx + offset, cy);
|
||||
screen_write_cursormove(ctx, cx + offset, cy, 0);
|
||||
screen_write_preview(ctx, &w->active->base, width, sy);
|
||||
|
||||
xasprintf(&label, " %u:%s ", wl->idx, w->name);
|
||||
@ -608,7 +608,7 @@ window_tree_draw_session(struct window_tree_modedata *data, struct session *s,
|
||||
free(label);
|
||||
|
||||
if (loop != end - 1) {
|
||||
screen_write_cursormove(ctx, cx + offset + width, cy);
|
||||
screen_write_cursormove(ctx, cx + offset + width, cy, 0);
|
||||
screen_write_vline(ctx, sy, 0, 0);
|
||||
}
|
||||
loop++;
|
||||
@ -687,17 +687,17 @@ window_tree_draw_window(struct window_tree_modedata *data, struct session *s,
|
||||
|
||||
if (left) {
|
||||
data->left = cx + 2;
|
||||
screen_write_cursormove(ctx, cx + 2, cy);
|
||||
screen_write_cursormove(ctx, cx + 2, cy, 0);
|
||||
screen_write_vline(ctx, sy, 0, 0);
|
||||
screen_write_cursormove(ctx, cx, cy + sy / 2);
|
||||
screen_write_cursormove(ctx, cx, cy + sy / 2, 0);
|
||||
screen_write_puts(ctx, &grid_default_cell, "<");
|
||||
} else
|
||||
data->left = -1;
|
||||
if (right) {
|
||||
data->right = cx + sx - 3;
|
||||
screen_write_cursormove(ctx, cx + sx - 3, cy);
|
||||
screen_write_cursormove(ctx, cx + sx - 3, cy, 0);
|
||||
screen_write_vline(ctx, sy, 0, 0);
|
||||
screen_write_cursormove(ctx, cx + sx - 1, cy + sy / 2);
|
||||
screen_write_cursormove(ctx, cx + sx - 1, cy + sy / 2, 0);
|
||||
screen_write_puts(ctx, &grid_default_cell, ">");
|
||||
} else
|
||||
data->right = -1;
|
||||
@ -729,7 +729,7 @@ window_tree_draw_window(struct window_tree_modedata *data, struct session *s,
|
||||
else
|
||||
width = each - 1;
|
||||
|
||||
screen_write_cursormove(ctx, cx + offset, cy);
|
||||
screen_write_cursormove(ctx, cx + offset, cy, 0);
|
||||
screen_write_preview(ctx, &wp->base, width, sy);
|
||||
|
||||
if (window_pane_index(wp, &pane_idx) != 0)
|
||||
@ -740,7 +740,7 @@ window_tree_draw_window(struct window_tree_modedata *data, struct session *s,
|
||||
free(label);
|
||||
|
||||
if (loop != end - 1) {
|
||||
screen_write_cursormove(ctx, cx + offset + width, cy);
|
||||
screen_write_cursormove(ctx, cx + offset + width, cy, 0);
|
||||
screen_write_vline(ctx, sy, 0, 0);
|
||||
}
|
||||
loop++;
|
||||
|
Reference in New Issue
Block a user