From unknown Sat Jun 14 19:26:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75662: 30.0.93; FR: customization to move mode-line to the top Resent-From: Daniel Mendler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 19 Jan 2025 00:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 75662 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 75662@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.17372475859388 (code B ref -1); Sun, 19 Jan 2025 00:47:02 +0000 Received: (at submit) by debbugs.gnu.org; 19 Jan 2025 00:46:25 +0000 Received: from localhost ([127.0.0.1]:44239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tZJSK-0002RL-W8 for submit@debbugs.gnu.org; Sat, 18 Jan 2025 19:46:25 -0500 Received: from lists.gnu.org ([2001:470:142::17]:58144) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tZJSI-0002R3-89 for submit@debbugs.gnu.org; Sat, 18 Jan 2025 19:46:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZJS6-0003lO-8i for bug-gnu-emacs@gnu.org; Sat, 18 Jan 2025 19:46:12 -0500 Received: from server.qxqx.de ([2a01:4f8:c012:9177::1] helo=mail.qxqx.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZJS1-0008O4-Kt for bug-gnu-emacs@gnu.org; Sat, 18 Jan 2025 19:46:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=daniel-mendler.de; s=key; h=Content-Type:MIME-Version:Message-ID:Date: Subject:To:From:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=UIvSeGu+NT674X3oZUc0+wVQYMWI6WjiFyl0rUw8QNE=; b=JVkkY2bUPpwJKG4GLT3a+D38yQ cTx2s9F5DQX8OyUkLn7M14vXcUmizkYVsBF2kzddnzrms0t9iKS9vUOu46LD5Sh7sQ4cn2tu0hKc1 4XDMDNVxyL8EZS3M38SnB6BT0IXVY9qQqgaQ5YA1+0Pr5UIeRs69DA4zaqSU0GPAD8cQ=; From: Daniel Mendler Date: Sun, 19 Jan 2025 01:45:59 +0100 Message-ID: <87ldv7hbqw.fsf@daniel-mendler.de> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a01:4f8:c012:9177::1; envelope-from=mail@daniel-mendler.de; helo=mail.qxqx.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) I have seen many experiments where people try to use the header-line as mode-line and vice versa. However most packages assume that the mode-line/header-line is in fact a mode-line/header-line and do not handle such manual modification of the mode-line-format/header-line-format well. This is the main motivation for this feature request. Furthermore conventional tiling window managers draw the window title bars at the top of the windows. Therefore when using Emacs as window manager via EXWM, people may prefer to have the mode-line at the top, since it acts as window title bar. I propose to add a customization option `mode-line-at' which can be set to `top' or `bottom'. When set to `top` the mode-line will be moved to the top. For the other lines such an option could be offered too, `header-line-at`, `tab-bar-at`, `tab-line-at`, etc. How difficult would it be to implement this feature? In Emacs 30, the variable `tool-bar-position' has been added which makes it possible to customize the tool bar position in a similar way. In this case the change might have been simpler given that the toolbar is a graphical element only, while the mode line may affect the display subsystem more deeply? From unknown Sat Jun 14 19:26:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75662: 30.0.93; FR: customization to move mode-line to the top Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 19 Jan 2025 06:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75662 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Daniel Mendler Cc: 75662@debbugs.gnu.org Received: via spool by 75662-submit@debbugs.gnu.org id=B75662.17372666153408 (code B ref 75662); Sun, 19 Jan 2025 06:04:02 +0000 Received: (at 75662) by debbugs.gnu.org; 19 Jan 2025 06:03:35 +0000 Received: from localhost ([127.0.0.1]:44559 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tZOPH-0000su-0M for submit@debbugs.gnu.org; Sun, 19 Jan 2025 01:03:35 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54176) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tZOPE-0000sf-7v for 75662@debbugs.gnu.org; Sun, 19 Jan 2025 01:03:33 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZOP7-0004a3-W5; Sun, 19 Jan 2025 01:03:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=QztDQL3tQCCc1fR4rCqEev9eqQt33czr1hnV6hzFq1U=; b=hWzWwSyOp8xp NPUwkRGTLhmi4rfHyrAdsjZAfRrAAeZ0N499k6CP3FWI+38fU9MkbHej7Xkb8gyF0uEhSw5WPYCjL Frl9ukSOxYx5b33rZej/gDXtA+aXEj+TTyfYo+cb4GcuD5otWcmV1m5lArvm/2aSyp8F4h5dzxJ0V nIPeAstrFdL1ql00eb8kpvk2B+Egbp7K+lW1hsPzWuKxBf9aMkck82fLO+G7jYcujMP9CeP5qevyz HPcsoDH87CVeTF/aVV2X0q92C1F7GeJzJuOq3OASOXBYE+ELoLXlyef3vPNFHyiAQvRz3NPs7m7nB W/SCb+rpwukZnm0Jg4GL4g==; Date: Sun, 19 Jan 2025 08:03:24 +0200 Message-Id: <86plkj8hn7.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87ldv7hbqw.fsf@daniel-mendler.de> (bug-gnu-emacs@gnu.org) References: <87ldv7hbqw.fsf@daniel-mendler.de> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sun, 19 Jan 2025 01:45:59 +0100 > From: Daniel Mendler via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > I have seen many experiments where people try to use the header-line as > mode-line and vice versa. However most packages assume that the > mode-line/header-line is in fact a mode-line/header-line and do not > handle such manual modification of the > mode-line-format/header-line-format well. This is the main motivation > for this feature request. > > Furthermore conventional tiling window managers draw the window title > bars at the top of the windows. Therefore when using Emacs as window > manager via EXWM, people may prefer to have the mode-line at the top, > since it acts as window title bar. The header-line format already supports almost everything a mode-line format does, and frame-title-format supports a subset of them. So people can already have at least some of that by tweaking these formats. > I propose to add a customization option `mode-line-at' which can be set > to `top' or `bottom'. When set to `top` the mode-line will be moved to > the top. For the other lines such an option could be offered too, > `header-line-at`, `tab-bar-at`, `tab-line-at`, etc. > > How difficult would it be to implement this feature? The assumption that the mode line, if it exists, is at the bottom of a window is hard-coded into the display engine in many places. Changing that would require discovering all those places and modifying them in some way as needed. If someone wants to work on that, please do, but it's a significant job. > In Emacs 30, the variable `tool-bar-position' has been added which > makes it possible to customize the tool bar position in a similar > way. In this case the change might have been simpler given that the > toolbar is a graphical element only, while the mode line may affect > the display subsystem more deeply? Tool bar is either implemented by the toolkit (in which case it isn't our problem to support its various positions), or it is a special kind of window. By contrast, the mode line is a special kind of screen line, so each window redisplay must know about its existence and actively redraw it as needed. So yes, the job of adding support for other positions of the mode line is harder.