From a57b0f1282129231d3e0934062991feb11381976 Mon Sep 17 00:00:00 2001 From: nicm Date: Tue, 21 Jul 2026 13:27:41 +0000 Subject: [PATCH] Clip floating panes exactly at window edge, don't let the border creep into the first outside column. --- screen-redraw.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/screen-redraw.c b/screen-redraw.c index a82d0566e..ea4af99bf 100644 --- a/screen-redraw.c +++ b/screen-redraw.c @@ -1,4 +1,4 @@ -/* $OpenBSD: screen-redraw.c,v 1.154 2026/07/21 11:53:41 nicm Exp $ */ +/* $OpenBSD: screen-redraw.c,v 1.155 2026/07/21 13:27:41 nicm Exp $ */ /* * Copyright (c) 2026 Nicholas Marriott @@ -696,20 +696,22 @@ redraw_mark_pane_borders(struct redraw_build_ctx *bctx, struct window_pane *wp, bottom = wp->yoff + wp->sy; mark_left = (left >= 0); - mark_right = (right <= (int)bctx->w->sx); mark_top = (top >= 0); - mark_bottom = (bottom <= (int)bctx->w->sy); if (floating) { + mark_right = (right < (int)bctx->w->sx); + mark_bottom = (bottom < (int)bctx->w->sy); if (left < 0) left = 0; - if (right > (int)bctx->w->sx) + if (right >= (int)bctx->w->sx) right = (int)bctx->w->sx - 1; if (top < 0) top = 0; - if (bottom > (int)bctx->w->sy) + if (bottom >= (int)bctx->w->sy) bottom = (int)bctx->w->sy - 1; } else { + mark_right = (right <= (int)bctx->w->sx); + mark_bottom = (bottom <= (int)bctx->w->sy); if (pane_status == PANE_STATUS_TOP) mark_bottom = 0; else if (pane_status == PANE_STATUS_BOTTOM)