From baa3b51b3e576a07b0bb1abfc8473a678e175b79 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 5 Jan 2026 08:30:30 +0000 Subject: [PATCH 1/2] Do not use client if there isn't one, GitHub issue 4789. --- format.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/format.c b/format.c index ec55fc91..6628ef20 100644 --- a/format.c +++ b/format.c @@ -4460,7 +4460,9 @@ format_loop_sessions(struct format_expand_state *es, const char *fmt) for (i = 0; i < n; i++) { s = l[i]; format_log(es, "session loop: $%u", s->id); - if (active != NULL && s->id == ft->c->session->id) + if (active != NULL && + ft->c != NULL && + s->id == ft->c->session->id) use = active; else use = all; From 6a7cd79a63ab45bb99887615fe9f820d21bf6c42 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 5 Jan 2026 08:32:19 +0000 Subject: [PATCH 2/2] Redraw pane borders when entering or leaving alternate screen, from Mike Jonkmans in GitHub issue 4788. --- screen-write.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/screen-write.c b/screen-write.c index aed6582f..4f126868 100644 --- a/screen-write.c +++ b/screen-write.c @@ -2282,8 +2282,10 @@ screen_write_alternateon(struct screen_write_ctx *ctx, struct grid_cell *gc, screen_write_collect_flush(ctx, 0, __func__); screen_alternate_on(ctx->s, gc, cursor); - if (wp != NULL) + if (wp != NULL) { layout_fix_panes(wp->window, NULL); + server_redraw_window_borders(wp->window); + } screen_write_initctx(ctx, &ttyctx, 1); if (ttyctx.redraw_cb != NULL) @@ -2304,8 +2306,10 @@ screen_write_alternateoff(struct screen_write_ctx *ctx, struct grid_cell *gc, screen_write_collect_flush(ctx, 0, __func__); screen_alternate_off(ctx->s, gc, cursor); - if (wp != NULL) + if (wp != NULL) { layout_fix_panes(wp->window, NULL); + server_redraw_window_borders(wp->window); + } screen_write_initctx(ctx, &ttyctx, 1); if (ttyctx.redraw_cb != NULL)