The previous PR failed to handle everywhere `mu4e-modes` list is being used so
this will bring it back, but still use the added lists for `purpose` setup.
When purpose mode is enabled, Spacemacs fails to assign correct mu4e buffers to
correct windows when we're in headers view and select an e-mail from the list.
Since `*mu4e-headers*` and `*mu4e-view*` buffers have the same purpose
name (`mail`), and `*mu4e-loading*` buffer is either `fundamental` (or with a
recent version of upstream mu4e `mu4e-loading-mode`) which has the purpose
`general`.
So what happens is, when we select an e-mail from the list, e-mail opens up at
the headers' window, and loading opens up in the lower window which should have
displayed the actual email content.
With this commit, there will be two purpose names which will prevent this issue
from happening.
Replace push with add-to-list in layer init functions and related code.
Modify spacemacs|add-toggle to check for and update an existing toggle in
spacemacs-toggles and only create a new toggle if none already existed.
Replace a conditional push onto erc-packages with use of :toggle.
When initializing which-key, set which-key-replacement-alist to its default
or customized setting before adding all the Spacemacs replacements. We
want to keep the stock replacements but avoid adding duplicates of the
Spacemacs replacements.
Replace the emacs-lisp-mode-hook lambda with a named function to avoid
adding duplicate hooks (which can add duplicate definitions of the
evil-surround pair).
This PR does a few things:
- supports async mode for sending mails
- registers imagemagick as handler for images if it exists
- sets default downloads directory if it exists
- sets a few (more) sane defaults
- supports format=flowed in messages
This commit adds a custom layout for mu4e related buffers. Four different major
modes are used in mu4e buffers based on their purpose, so a function is used to
add buffers in these modes to the new layout. This setup is largely based on
that of the ERC layers custom layout.
- Clarify installation instructions
- Bring README in line with conventions
- Create layer variable for installation path
- Move mu4e-account-alist to config.el
- Move extensions.el to packages.el
- Define mu4e as built-in and not local
- Add commands to ensure mu4e is deferred