mirror of
https://github.com/tmux/tmux.git
synced 2025-12-17 00:02:23 -05:00
Bugfix status line at top and floating panes.
This commit is contained in:
parent
2ac78bccb5
commit
2591df66cc
@ -671,12 +671,12 @@ screen_redraw_draw_pane_status(struct screen_redraw_ctx *ctx)
|
|||||||
width = size - x;
|
width = size - x;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctx->statustop)
|
|
||||||
yoff += ctx->statuslines;
|
|
||||||
|
|
||||||
vr = screen_redraw_get_visible_ranges(wp, x, yoff - ctx->oy,
|
vr = screen_redraw_get_visible_ranges(wp, x, yoff - ctx->oy,
|
||||||
width);
|
width);
|
||||||
|
|
||||||
|
if (ctx->statustop)
|
||||||
|
yoff += ctx->statuslines;
|
||||||
|
|
||||||
for (r=0; r < vr->used; r++) {
|
for (r=0; r < vr->used; r++) {
|
||||||
if (vr->nx[r] == 0)
|
if (vr->nx[r] == 0)
|
||||||
continue;
|
continue;
|
||||||
@ -1173,7 +1173,7 @@ screen_redraw_draw_pane(struct screen_redraw_ctx *ctx, struct window_pane *wp)
|
|||||||
if (wp->yoff + (int)j < ctx->oy ||
|
if (wp->yoff + (int)j < ctx->oy ||
|
||||||
wp->yoff + j >= ctx->oy + ctx->sy)
|
wp->yoff + j >= ctx->oy + ctx->sy)
|
||||||
continue;
|
continue;
|
||||||
y = top + wp->yoff + j - ctx->oy;
|
y = wp->yoff + j - ctx->oy;
|
||||||
|
|
||||||
/* Note: i is apparenty not used now that the vr array
|
/* Note: i is apparenty not used now that the vr array
|
||||||
* returns where in s to read from.
|
* returns where in s to read from.
|
||||||
@ -1217,7 +1217,7 @@ screen_redraw_draw_pane(struct screen_redraw_ctx *ctx, struct window_pane *wp)
|
|||||||
* contents of pane shifted. note: i apparently unnec.
|
* contents of pane shifted. note: i apparently unnec.
|
||||||
*/
|
*/
|
||||||
tty_draw_line(tty, s, /* i + */ vr->px[r] - wp->xoff, j,
|
tty_draw_line(tty, s, /* i + */ vr->px[r] - wp->xoff, j,
|
||||||
vr->nx[r], vr->px[r], y, &defaults, palette);
|
vr->nx[r], vr->px[r], top + y, &defaults, palette);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1281,9 +1281,6 @@ screen_redraw_draw_pane_scrollbar(struct screen_redraw_ctx *ctx,
|
|||||||
else
|
else
|
||||||
sb_x = xoff + wp->sx - ox;
|
sb_x = xoff + wp->sx - ox;
|
||||||
|
|
||||||
if (ctx->statustop)
|
|
||||||
sb_y += ctx->statuslines;
|
|
||||||
|
|
||||||
if (slider_h < 1)
|
if (slider_h < 1)
|
||||||
slider_h = 1;
|
slider_h = 1;
|
||||||
if (slider_y >= sb_h)
|
if (slider_y >= sb_h)
|
||||||
@ -1313,8 +1310,11 @@ screen_redraw_draw_scrollbar(struct screen_redraw_ctx *ctx,
|
|||||||
int yoff = wp->yoff;
|
int yoff = wp->yoff;
|
||||||
struct visible_ranges *vr;
|
struct visible_ranges *vr;
|
||||||
|
|
||||||
if (ctx->statustop)
|
if (ctx->statustop) {
|
||||||
|
sb_y += ctx->statuslines;
|
||||||
sy += ctx->statuslines;
|
sy += ctx->statuslines;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Set up style for slider. */
|
/* Set up style for slider. */
|
||||||
gc = sb_style->gc;
|
gc = sb_style->gc;
|
||||||
|
|||||||
@ -1302,7 +1302,7 @@ have_event:
|
|||||||
c->tty.mouse_drag_flag = MOUSE_BUTTONS(b) + 1;
|
c->tty.mouse_drag_flag = MOUSE_BUTTONS(b) + 1;
|
||||||
/* Only change pane if not already dragging a pane border. */
|
/* Only change pane if not already dragging a pane border. */
|
||||||
if (c->tty.mouse_wp == NULL) {
|
if (c->tty.mouse_wp == NULL) {
|
||||||
wp = window_get_active_at(w, x, y);
|
wp = window_get_active_at(w, px, py);
|
||||||
c->tty.mouse_wp = wp;
|
c->tty.mouse_wp = wp;
|
||||||
}
|
}
|
||||||
if (c->tty.mouse_scrolling_flag == 0 &&
|
if (c->tty.mouse_scrolling_flag == 0 &&
|
||||||
|
|||||||
3
tty.c
3
tty.c
@ -2096,6 +2096,9 @@ tty_cmd_scrollup(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
else
|
else
|
||||||
rlower = ctx->wsy - 1;
|
rlower = ctx->wsy - 1;
|
||||||
|
|
||||||
|
if (tty->client->session->statusat == 0)
|
||||||
|
rlower += tty->client->session->statuslines;
|
||||||
|
|
||||||
if (ctx->num == 1 || !tty_term_has(tty->term, TTYC_INDN)) {
|
if (ctx->num == 1 || !tty_term_has(tty->term, TTYC_INDN)) {
|
||||||
if (!tty_use_margin(tty))
|
if (!tty_use_margin(tty))
|
||||||
tty_cursor(tty, 0, rlower);
|
tty_cursor(tty, 0, rlower);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user