[PATCH] emacs: split-window-sensibly in tree mode with open message

Radu Butoi rbutoi at gmail.com
Sat May 2 17:11:09 PDT 2020


Hello,

This uses the standard Emacs function `split-window-sensibly` to split a
window horizontally or vertically depending on space when opening a
message in tree view. By default, split-width-threshold is 160 columns
(and -height- is nil), so screens wider than 160 will be split
horizontally.

This is based on an older proposal [1] which manually did the
calculation of width. The main issues there were (1) lack of
configurability and (2) lack of testing. I don't have an answer for
testing, but this allows users to configure two thresholds using
built-in variables, an improvement.

Also, should I update the NEWS file? I see its latest changes are in
November and there's been user-visible changes since.

Thanks,
Radu

[1]: http://notmuch.198994.n3.nabble.com/emacs-Split-wide-window-vertically-for-tree-mode-message-pane-td4039070.html

The original patch email follows:

>From 1ce4789b11007b46619faed7bf14f54686ca3538 Mon Sep 17 00:00:00 2001
From: Radu Butoi <rbutoi at gmail.com>
Subject: [PATCH] emacs: split-window-sensibly in tree mode with open message

When showing messages in tree-mode, this will split the window
horizontally or vertically depending on the
split-{width,height}-threshold.
---
 emacs/notmuch-tree.el | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/emacs/notmuch-tree.el b/emacs/notmuch-tree.el
index 254664c4..353700a1 100644
--- a/emacs/notmuch-tree.el
+++ b/emacs/notmuch-tree.el
@@ -524,8 +524,7 @@ NOT change the database."
       ;; We close and reopen the window to kill off un-needed buffers
       ;; this might cause flickering but seems ok.
       (notmuch-tree-close-message-window)
-      (setq notmuch-tree-message-window
-           (split-window-vertically (/ (window-height) 4)))
+      (setq notmuch-tree-message-window (split-window-sensibly))
       (with-selected-window notmuch-tree-message-window
        ;; Since we are only displaying one message do not indent.
        (let ((notmuch-show-indent-messages-width 0)
--
2.26.2


More information about the notmuch mailing list