Merge branch 'obsd-master' into master

pull/3129/head
Thomas Adam 2022-03-17 16:01:11 +00:00
commit 964deae422
3 changed files with 22 additions and 2 deletions

View File

@ -1080,6 +1080,14 @@ const struct options_table_entry options_table[] = {
"remain-on-exit is enabled."
},
{ .name = "scroll-on-clear",
.type = OPTIONS_TABLE_FLAG,
.scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
.default_num = 1,
.text = "Whether the contents of the screen should be scrolled into"
"history when clearing the whole screen."
},
{ .name = "synchronize-panes",
.type = OPTIONS_TABLE_FLAG,
.scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,

View File

@ -1427,7 +1427,11 @@ screen_write_clearendofscreen(struct screen_write_ctx *ctx, u_int bg)
ttyctx.bg = bg;
/* Scroll into history if it is enabled and clearing entire screen. */
if (s->cx == 0 && s->cy == 0 && (gd->flags & GRID_HISTORY))
if (s->cx == 0 &&
s->cy == 0 &&
(gd->flags & GRID_HISTORY) &&
ctx->wp != NULL &&
options_get_number(ctx->wp->options, "scroll-on-clear"))
grid_view_clear_history(gd, bg);
else {
if (s->cx <= sx - 1)
@ -1475,7 +1479,9 @@ screen_write_clearscreen(struct screen_write_ctx *ctx, u_int bg)
ttyctx.bg = bg;
/* Scroll into history if it is enabled. */
if (s->grid->flags & GRID_HISTORY)
if ((s->grid->flags & GRID_HISTORY) &&
ctx->wp != NULL &&
options_get_number(ctx->wp->options, "scroll-on-clear"))
grid_view_clear_history(s->grid, bg);
else
grid_view_clear(s->grid, 0, 0, sx, sy, bg);

6
tmux.1
View File

@ -4479,6 +4479,12 @@ Set the text shown at the bottom of exited panes when
.Ic remain-on-exit
is enabled.
.Pp
.It Xo Ic scroll-on-clear
.Op Ic on | off
.Xc
When the entire screen is cleared and this option is on, scroll the contents of
the screen into history before clearing it.
.Pp
.It Xo Ic synchronize-panes
.Op Ic on | off
.Xc