mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 05:21:10 +00:00
Merge branch 'obsd-master'
This commit is contained in:
@ -137,9 +137,7 @@ screen_redraw_pane_border(struct screen_redraw_ctx *ctx, struct window_pane *wp,
|
||||
}
|
||||
|
||||
/* Are scrollbars enabled? */
|
||||
if (pane_scrollbars == PANE_SCROLLBARS_ALWAYS ||
|
||||
(pane_scrollbars == PANE_SCROLLBARS_MODAL &&
|
||||
window_pane_mode(wp) != WINDOW_PANE_NO_MODE))
|
||||
if (window_pane_show_scrollbar(wp, pane_scrollbars))
|
||||
sb_w = PANE_SCROLLBARS_WIDTH;
|
||||
|
||||
/*
|
||||
@ -364,9 +362,7 @@ screen_redraw_check_cell(struct screen_redraw_ctx *ctx, u_int px, u_int py,
|
||||
*wpp = wp;
|
||||
|
||||
/* Check if CELL_SCROLLBAR */
|
||||
if (pane_scrollbars == PANE_SCROLLBARS_ALWAYS ||
|
||||
(pane_scrollbars == PANE_SCROLLBARS_MODAL &&
|
||||
window_pane_mode(wp) != WINDOW_PANE_NO_MODE)) {
|
||||
if (window_pane_show_scrollbar(wp, pane_scrollbars)) {
|
||||
|
||||
if (pane_status == PANE_STATUS_TOP)
|
||||
line = wp->yoff - 1;
|
||||
@ -669,11 +665,9 @@ screen_redraw_pane(struct client *c, struct window_pane *wp,
|
||||
int redraw_scrollbar_only)
|
||||
{
|
||||
struct screen_redraw_ctx ctx;
|
||||
int pane_scrollbars, mode;
|
||||
|
||||
if (!window_pane_visible(wp))
|
||||
return;
|
||||
mode = window_pane_mode(wp);
|
||||
|
||||
screen_redraw_set_context(c, &ctx);
|
||||
tty_sync_start(&c->tty);
|
||||
@ -682,15 +676,7 @@ screen_redraw_pane(struct client *c, struct window_pane *wp,
|
||||
if (!redraw_scrollbar_only)
|
||||
screen_redraw_draw_pane(&ctx, wp);
|
||||
|
||||
/*
|
||||
* Redraw scrollbar if needed. Always redraw scrollbar in a mode because
|
||||
* if redrawing a pane, it's because pane has scrolled.
|
||||
*/
|
||||
pane_scrollbars = ctx.pane_scrollbars;
|
||||
if (pane_scrollbars == PANE_SCROLLBARS_MODAL &&
|
||||
mode == WINDOW_PANE_NO_MODE)
|
||||
pane_scrollbars = PANE_SCROLLBARS_OFF;
|
||||
if (pane_scrollbars != PANE_SCROLLBARS_OFF)
|
||||
if (window_pane_show_scrollbar(wp, ctx.pane_scrollbars))
|
||||
screen_redraw_draw_pane_scrollbar(&ctx, wp);
|
||||
|
||||
tty_reset(&c->tty);
|
||||
@ -947,17 +933,8 @@ screen_redraw_draw_pane_scrollbars(struct screen_redraw_ctx *ctx)
|
||||
log_debug("%s: %s @%u", __func__, c->name, w->id);
|
||||
|
||||
TAILQ_FOREACH(wp, &w->panes, entry) {
|
||||
switch (ctx->pane_scrollbars) {
|
||||
case PANE_SCROLLBARS_OFF:
|
||||
return;
|
||||
case PANE_SCROLLBARS_MODAL:
|
||||
if (window_pane_mode(wp) == WINDOW_PANE_NO_MODE)
|
||||
return;
|
||||
break;
|
||||
case PANE_SCROLLBARS_ALWAYS:
|
||||
break;
|
||||
}
|
||||
if (window_pane_visible(wp))
|
||||
if (window_pane_show_scrollbar(wp, ctx->pane_scrollbars) &&
|
||||
window_pane_visible(wp))
|
||||
screen_redraw_draw_pane_scrollbar(ctx, wp);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user