4.8 Buffer display

By default, mu4e will attempt to manage the display of its own buffers. For headers and message views, the variable mu4e-split-view is mu4e's built-in way to decide how and where they are shown.

4.8.1 Split view

You can control how mu4e displays its buffers, including the The headers view and the The message view, by customizing mu4e-split-view. There are several options available:

Note that using a window-returning function for mu4e-split-view is no longer supported, instead you can use display-buffer-alist, see the section on further display customization.

Some useful key bindings in the split view:

4.8.2 Further customization

However, mu4e’s display rules are provisional; you can override them easily by customizing display-buffer-alist, which governs how Emacs – and thus mu4e – must display your buffers.

Let’s look at some examples.

4.8.3 Fine-tuning the main buffer display

By default mu4e’s main buffer occupies the complete frame, but this can be changed to use the current window:

(add-to-list 'display-buffer-alist
             `(,(regexp-quote mu4e-main-buffer-name)
               display-buffer-same-window))

4.8.4 Fine-tuning headers buffer display

You do not need to configure mu4e-split-view for this to work. In the absence of explicit rules to the contrary, mu4e will fall back on the value you have set in mu4e-split-view.

Here is an example that displays the headers buffer in a side window to the right. It occupies half of the width of the frame.

(add-to-list 'display-buffer-alist
             `(,(regexp-quote mu4e-headers-buffer-name)
               display-buffer-in-side-window
               (side . right)
               (window-width . 0.5)))

You can type C-x w s to toggle the side windows to hide or show them at will.

Note that you may need to customize mu4e-view-rendered-hook as well; by default it contains mu4e-resize-linked-headers-window but you can set it to nil if you want to handle manually (through display-buffer-alist.