From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 8675B3858D33 for ; Fri, 10 Nov 2023 16:52:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8675B3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8675B3858D33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=195.135.220.29 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699635182; cv=none; b=t5daOMc2dv9Pb1gx+OH2CyDpKSstRDE1DzrAXtlqCz1KVvR2zvo5stnaHO56xkDbDCR0L0oEboxS/J13pphOmKmnXx8Tri+KXTzb4BicBzxrC0BvCBQZ9PiPkXr9haGjXSTIKeqnscdMQLp0yZWSPOJUy7gsf2TtW20woAfvHEU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699635182; c=relaxed/simple; bh=/vcEKNutIYa5FY3MuGcI7K6OBWpz1Qu8Gr+ZJ1Qdyks=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-Id: MIME-Version; b=DvSi3O9kFRgeFafNC0qsuJXiY4RyafUtLrdieVcw2fYBaDjupeyBk3R7sd7KXcQvtE+nFZqv547EA1Yi4gkxPwvB3beihW8VzQTtbn/vjz3SjrFd+oLHiB7Bg9ZhLkqV0P8BFjsr53XtyoWEwnrkDemIPdNcgXdsyQir5qowvsI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 2BAB71F8BB for ; Fri, 10 Nov 2023 16:52:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1699635177; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=KFsXMY/6Ld3LGyGv0+74uMNSytu4OB5yUa7+dbmzuXM=; b=Zl3wLCRa+pWwr6hLiw/lQ0iujFYxtno4lRxBLPQ7iUJTn6Qg1z4Rm6qG3E+gXctMA33eVK Z+DCJ/5Bqq3wjTKRLy8Lvijv7UXbIsFVhsognm2pC+b4CIsFrQ6AgHuOefBYZNgfyS/J4H 3amoaChcGPOO3et6B/w1rLj7IajsC8U= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1699635177; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=KFsXMY/6Ld3LGyGv0+74uMNSytu4OB5yUa7+dbmzuXM=; b=K+SWe9l11Ya7Fncx6bkyDh9KLy+proIpyV8RFk+2qkHqWRAXkvicT87ymRbzFKTEuCKsy5 k2rP2CVAE6B8IcBg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0B7B5138FC for ; Fri, 10 Nov 2023 16:52:57 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id eV6iAelfTmXxGwAAMHmgww (envelope-from ) for ; Fri, 10 Nov 2023 16:52:56 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH] [gdb/tui] Handle shared border in fixed-sized layout Date: Fri, 10 Nov 2023 17:54:19 +0100 Message-Id: <20231110165419.16793-1-tdevries@suse.de> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: In tui_layout_split::apply I noticed that for variable-size layouts we take share_box into account by decreasing used_size: ... used_size += info[i].size; if (info[i].share_box) --used_size; ... but not for fixed-size layouts: ... if (info[i].min_size == info[i].max_size) available_size -= info[i].min_size; ... Fix this by increasing available_size for fixed-size layouts with shared box. Tested on x86_64-linux. --- gdb/tui/tui-layout.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c index 159445dc520..0edc225b0d8 100644 --- a/gdb/tui/tui-layout.c +++ b/gdb/tui/tui-layout.c @@ -864,20 +864,26 @@ tui_layout_split::apply (int x_, int y_, int width_, int height_, info[i].max_size = info[i].min_size; } + /* Two adjacent boxed windows will share a border. */ + if (i > 0 + && m_splits[i - 1].layout->last_edge_has_border_p () + && m_splits[i].layout->first_edge_has_border_p ()) + info[i].share_box = true; + if (info[i].min_size == info[i].max_size) - available_size -= info[i].min_size; + { + available_size -= info[i].min_size; + if (info[i].share_box) + { + /* A shared border makes a bit more size available. */ + ++available_size; + } + } else { last_index = i; total_weight += m_splits[i].weight; } - - /* Two adjacent boxed windows will share a border, making a bit - more size available. */ - if (i > 0 - && m_splits[i - 1].layout->last_edge_has_border_p () - && m_splits[i].layout->first_edge_has_border_p ()) - info[i].share_box = true; } /* If last_index is set then we have a window that is not of a fixed @@ -907,7 +913,10 @@ tui_layout_split::apply (int x_, int y_, int width_, int height_, this function. */ used_size += info[i].size; if (info[i].share_box) - --used_size; + { + /* A shared border makes a bit more size available. */ + --used_size; + } } else info[i].size = info[i].min_size; base-commit: e922d1eaa3774a68c96eae01e0fd08f8a30cda8c -- 2.35.3