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
This is based on an older proposal  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.
The original patch email follows:
>From 1ce4789b11007b46619faed7bf14f54686ca3538 Mon Sep 17 00:00:00 2001
From: Radu Butoi
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
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
@@ -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.
- (setq notmuch-tree-message-window
- (split-window-vertically (/ (window-height) 4)))
+ (setq notmuch-tree-message-window (split-window-sensibly))
;; Since we are only displaying one message do not indent.
(let ((notmuch-show-indent-messages-width 0)
notmuch mailing list