Add support to minimise panes, both tiled and floating. New PREFIX _ key binding to minimise a pane. New functions minimise-pane and unminimise-pane. Add double-click on pane in status to minimise pane. Single click on pane in status unminimises pane.

This commit is contained in:
Michael Grant
2025-12-18 18:19:17 +00:00
parent 263529e886
commit 6a4a4a432b
10 changed files with 152 additions and 11 deletions

View File

@@ -439,10 +439,13 @@ screen_redraw_check_cell(struct screen_redraw_ctx *ctx, u_int px, u_int py,
(int)py <= wp->yoff + (int)wp->sy))
break;
}
if (wp == NULL)
if (wp == NULL) {
start = wp = server_client_get_pane(c);
else
if (wp == NULL)
return (CELL_OUTSIDE);
} else {
start = wp;
}
if (px == sx || py == sy) /* window border */
return (screen_redraw_type_of_cell(ctx, wp, px, py));
@@ -538,6 +541,8 @@ screen_redraw_check_is(struct screen_redraw_ctx *ctx, u_int px, u_int py,
{
enum screen_redraw_border_type border;
if (wp == NULL)
return (0); /* No active pane. */
border = screen_redraw_pane_border(ctx, wp, px, py);
if (border != SCREEN_REDRAW_INSIDE && border != SCREEN_REDRAW_OUTSIDE)
return (1);