[mu4e] Refactor window-purpose config

Refactor window-purpose config to use
extension-configuration rather than
user-configuration to allow reconfiguration
in user-config.
This commit is contained in:
Maximilian Wolff 2020-06-27 23:51:03 +02:00
parent 8ac0edc297
commit 2d326cf4f3
No known key found for this signature in database
GPG Key ID: 2DD07025BFDBD89A
3 changed files with 40 additions and 39 deletions

View File

@ -1,6 +1,6 @@
;;; config.el --- mu4e Layer configuration File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; funcs.el --- mu4e Layer functions File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- mu4e Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -9,16 +9,15 @@
;;
;;; License: GPLv3
(setq mu4e-packages
'(
(mu4e :location site)
mu4e-alert
mu4e-maildirs-extension
(helm-mu :requires helm)
org
persp-mode
window-purpose
))
(defconst mu4e-packages
'(
(mu4e :location site)
mu4e-alert
mu4e-maildirs-extension
(helm-mu :requires helm)
org
persp-mode
window-purpose))
(defun mu4e/post-init-persp-mode ()
(spacemacs|define-custom-layout mu4e-spacemacs-layout-name
@ -30,10 +29,10 @@
(persp-get-by-name
mu4e-spacemacs-layout-name)))
(spacemacs/add-to-hooks 'spacemacs-layouts/add-mu4e-buffer-to-persp
'(mu4e-main-mode-hook
mu4e-headers-mode-hook
mu4e-view-mode-hook
mu4e-compose-mode-hook))
'(mu4e-main-mode-hook
mu4e-headers-mode-hook
mu4e-view-mode-hook
mu4e-compose-mode-hook))
(call-interactively 'mu4e)
(call-interactively 'mu4e-update-index)
@ -66,25 +65,25 @@
(kbd "C-k") 'previous-line)
(evilified-state-evilify-map
mu4e-headers-mode-map
:mode mu4e-headers-mode
:bindings
(kbd "C-j") 'mu4e-headers-next
(kbd "C-k") 'mu4e-headers-prev
(kbd "J") (lambda ()
(interactive)
(mu4e-headers-mark-thread nil '(read))))
mu4e-headers-mode-map
:mode mu4e-headers-mode
:bindings
(kbd "C-j") 'mu4e-headers-next
(kbd "C-k") 'mu4e-headers-prev
(kbd "J") (lambda ()
(interactive)
(mu4e-headers-mark-thread nil '(read))))
(evilified-state-evilify-map
mu4e-view-mode-map
:mode mu4e-view-mode
:bindings
(kbd "C-j") 'mu4e-view-headers-next
(kbd "C-k") 'mu4e-view-headers-prev
(kbd "J") (lambda ()
(interactive)
(mu4e-view-mark-thread '(read)))
(kbd "gu") 'mu4e-view-go-to-url)
mu4e-view-mode-map
:mode mu4e-view-mode
:bindings
(kbd "C-j") 'mu4e-view-headers-next
(kbd "C-k") 'mu4e-view-headers-prev
(kbd "J") (lambda ()
(interactive)
(mu4e-view-mark-thread '(read)))
(kbd "gu") 'mu4e-view-go-to-url)
(spacemacs/set-leader-keys-for-major-mode 'mu4e-compose-mode
dotspacemacs-major-mode-leader-key 'message-send-and-exit
@ -156,10 +155,12 @@ mu4e-use-maildirs-extension-load to be evaluated after mu4e has been loaded."
(require 'mu4e nil 'noerror)
(require 'mu4e-org nil 'noerror)))
(defun mu4e/pre-init-window-purpose ()
(spacemacs|use-package-add-hook window-purpose
:pre-config
(defun mu4e/post-init-window-purpose ()
(let ((modes))
(dolist (mode mu4e-list-modes)
(add-to-list 'purpose-user-mode-purposes (cons mode 'mail)))
(add-to-list 'modes (cons mode 'mail)))
(dolist (mode mu4e-view-modes)
(add-to-list 'purpose-user-mode-purposes (cons mode 'mail-view)))))
(add-to-list 'modes (cons mode 'mail-view)))
(purpose-set-extension-configuration
:mu4e-layer
(purpose-conf :mode-purposes modes))))