-
-
Notifications
You must be signed in to change notification settings - Fork 113
mu4e
Elliott Krome edited this page Jun 21, 2018
·
8 revisions
A hydra for mu4e's mu4e-headers-mode
.
Generally aims to stick to the built-in keybindings (this hydra is more about increasing discoverability than anything else).
The places where the hydra differs from the built-in bindings are noted via comments (mostly these are additions rather than rebindings).
An example org-capture function is included, as noted below.
(defhydra hydra-mu4e-headers (:color blue :hint nil)
"
^General^ | ^Search^ | _!_: read | _#_: deferred | ^Switches^
-^^----------+-^^-----------------| _?_: unread | _%_: pattern |-^^------------------
_n_: next | _s_: search | _r_: refile | _&_: custom | _O_: sorting
_p_: prev | _S_: edit prev qry | _u_: unmk | _+_: flag | _P_: threading
_]_: n unred | _/_: narrow search | _U_: unmk * | _-_: unflag | _Q_: full-search
_[_: p unred | _b_: search bkmk | _d_: trash | _T_: thr | _V_: skip dups
_y_: sw view | _B_: edit bkmk | _D_: delete | _t_: subthr | _W_: include-related
_R_: reply | _{_: previous qry | _m_: move |-^^-------------+-^^------------------
_C_: compose | _}_: next query | _a_: action | _|_: thru shl | _`_: update, reindex
_F_: forward | _C-+_: show more | _A_: mk4actn | _H_: help | _;_: context-switch
_o_: org-cap | _C--_: show less | _*_: *thing | _q_: quit hdrs | _j_: jump2maildir "
;; general
("n" mu4e-headers-next)
("p" mu4e-headers-previous)
("[" mu4e-select-next-unread)
("]" mu4e-select-previous-unread)
("y" mu4e-select-other-view)
("R" mu4e-compose-reply)
("C" mu4e-compose-new)
("F" mu4e-compose-forward)
("o" my/org-capture-mu4e) ; differs from built-in
;; search
("s" mu4e-headers-search)
("S" mu4e-headers-search-edit)
("/" mu4e-headers-search-narrow)
("b" mu4e-headers-search-bookmark)
("B" mu4e-headers-search-bookmark-edit)
("{" mu4e-headers-query-prev) ; differs from built-in
("}" mu4e-headers-query-next) ; differs from built-in
("C-+" mu4e-headers-split-view-grow)
("C--" mu4e-headers-split-view-shrink)
;; mark stuff
("!" mu4e-headers-mark-for-read)
("?" mu4e-headers-mark-for-unread)
("r" mu4e-headers-mark-for-refile)
("u" mu4e-headers-mark-for-unmark)
("U" mu4e-mark-unmark-all)
("d" mu4e-headers-mark-for-trash)
("D" mu4e-headers-mark-for-delete)
("m" mu4e-headers-mark-for-move)
("a" mu4e-headers-action) ; not really a mark per-se
("A" mu4e-headers-mark-for-action) ; differs from built-in
("*" mu4e-headers-mark-for-something)
("#" mu4e-mark-resolve-deferred-marks)
("%" mu4e-headers-mark-pattern)
("&" mu4e-headers-mark-custom)
("+" mu4e-headers-mark-for-flag)
("-" mu4e-headers-mark-for-unflag)
("t" mu4e-headers-mark-subthread)
("T" mu4e-headers-mark-thread)
;; miscellany
("q" mu4e~headers-quit-buffer)
("H" mu4e-display-manual)
("|" mu4e-view-pipe) ; does not seem built-in any longer
;; switches
("O" mu4e-headers-change-sorting)
("P" mu4e-headers-toggle-threading)
("Q" mu4e-headers-toggle-full-search)
("V" mu4e-headers-toggle-skip-duplicates)
("W" mu4e-headers-toggle-include-related)
;; more miscellany
("`" mu4e-update-mail-and-index) ; differs from built-in
(";" mu4e-context-switch)
("j" mu4e~headers-jump-to-maildir)
("." nil))
Ensure that the bindings will be available outside of the hydra:
(bind-keys
:map mu4e-headers-mode-map
("{" . mu4e-headers-query-prev) ; differs from built-in
("}" . mu4e-headers-query-next) ; differs from built-in
("o" . my/org-capture-mu4e) ; differs from built-in
("A" . mu4e-headers-mark-for-action) ; differs from built-in
("`" . mu4e-update-mail-and-index) ; differs from built-in
("|" . mu4e-view-pipe) ; does not seem to be built in any longer
("." . hydra-mu4e-headers/body))
The my/org-capture-mu4e
function is defined here:
(defun my/org-capture-mu4e ()
(interactive)
"Capture a TODO item via email."
(org-capture nil "o"))
and it needs a proper org-capture-template
bound to o
to work. Here is an example:
(add-to-list
'org-capture-templates
'("o"
"TODO respond to email"
entry
(file YOUR_TODO_FILE.org)
"* TODO %^{Description}\n%A\n%?\n"))
- Binding-Styles
- Basics
- Verbosity
- Conditional-Hydra
- defcustom
- Hydra-Colors
- internals
- Nesting-Hydras
- Prefix-map