From 3f5d0540057b1eda9229eb1bc80fed55aca816e6 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 5 Oct 2026 08:41:23 +0000 Subject: [PATCH] Do not lose a pending pane resize when entering the alternate screen, from mml00 dot work at gmail dot com. --- screen-write.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/screen-write.c b/screen-write.c index 905f9a4c7..b37dd6283 100644 --- a/screen-write.c +++ b/screen-write.c @@ -1,4 +1,4 @@ -/* $OpenBSD: screen-write.c,v 1.298 2026/10/02 15:20:41 nicm Exp $ */ +/* $OpenBSD: screen-write.c,v 1.299 2026/10/05 08:41:23 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -3154,6 +3154,7 @@ screen_write_alternateon(struct screen_write_ctx *ctx, struct grid_cell *gc, { struct tty_ctx ttyctx; struct window_pane *wp = ctx->wp; + int pending; if (wp != NULL && !options_get_number(wp->options, "alternate-screen")) return; @@ -3163,11 +3164,12 @@ screen_write_alternateon(struct screen_write_ctx *ctx, struct grid_cell *gc, return; if (wp != NULL) { + pending = !TAILQ_EMPTY(&wp->resize_queue); window_pane_clear_resizes(wp, NULL); if (event_initialized(&wp->resize_timer)) evtimer_del(&wp->resize_timer); layout_fix_panes(wp->window, NULL); - if (!TAILQ_EMPTY(&wp->resize_queue)) { + if (pending || !TAILQ_EMPTY(&wp->resize_queue)) { window_pane_send_resize(wp, wp->sx, wp->sy); window_pane_clear_resizes(wp, NULL); }