mirror of https://github.com/djcb/mu.git
parent
5e5a74ed22
commit
551bc46b47
|
@ -923,6 +923,16 @@ is supplied, or Transient Mark mode is enabled and the mark is active."
|
|||
(define-key mu4e-compose-mode-map
|
||||
(vector 'remap 'end-of-buffer) 'mu4e-compose-goto-bottom)
|
||||
|
||||
(defvar mu4e--compose-menu-items
|
||||
'("--"
|
||||
["Compose new" mu4e-compose-new
|
||||
:help "Compose new message"]
|
||||
["Reply" mu4e-compose-reply
|
||||
:help "Reply to message"]
|
||||
["Forward" mu4e-compose-forward
|
||||
:help "Forward message"])
|
||||
"Easy menu items for search.")
|
||||
|
||||
;;; _
|
||||
(provide 'mu4e-compose)
|
||||
;;; mu4e-compose.el ends here
|
||||
|
|
|
@ -224,6 +224,14 @@ as it is."
|
|||
:lighter ""
|
||||
(mu4e--modeline-register #'mu4e--context-modeline-item))
|
||||
|
||||
|
||||
(defvar mu4e--context-menu-items
|
||||
'("--"
|
||||
["Switch-context" mu4e-context-switch
|
||||
:help "Switch the mu4e context"])
|
||||
"Easy menu items for mu4e-context.")
|
||||
|
||||
|
||||
;;;
|
||||
(provide 'mu4e-context)
|
||||
;;; mu4e-context.el ends here
|
||||
|
|
|
@ -896,12 +896,9 @@ after the end of the search results."
|
|||
(mu4e~headers-defun-mark-for unread)
|
||||
(mu4e~headers-defun-mark-for action)
|
||||
|
||||
;;; Headers-mode and mode-map
|
||||
(declare-function mu4e-view-pipe "mu4e-view")
|
||||
|
||||
(defvar mu4e-headers-mode-map nil
|
||||
"Keymap for *mu4e-headers* buffers.")
|
||||
(unless mu4e-headers-mode-map
|
||||
(setq mu4e-headers-mode-map
|
||||
(defvar mu4e-headers-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
|
||||
(define-key map "j" #'mu4e~headers-jump-to-maildir)
|
||||
|
@ -909,6 +906,7 @@ after the end of the search results."
|
|||
(define-key map "q" #'mu4e~headers-quit-buffer)
|
||||
(define-key map "g" #'mu4e-search-rerun) ;; for compatibility
|
||||
|
||||
|
||||
(define-key map "%" #'mu4e-headers-mark-pattern)
|
||||
(define-key map "t" #'mu4e-headers-mark-subthread)
|
||||
(define-key map "T" #'mu4e-headers-mark-thread)
|
||||
|
@ -917,126 +915,98 @@ after the end of the search results."
|
|||
(define-key map ";" #'mu4e-context-switch)
|
||||
|
||||
;; navigation between messages
|
||||
(define-key map "p" 'mu4e-headers-prev)
|
||||
(define-key map "n" 'mu4e-headers-next)
|
||||
(define-key map (kbd "<M-up>") 'mu4e-headers-prev)
|
||||
(define-key map (kbd "<M-down>") 'mu4e-headers-next)
|
||||
(define-key map "p" #'mu4e-headers-prev)
|
||||
(define-key map "n" #'mu4e-headers-next)
|
||||
(define-key map (kbd "<M-up>") #'mu4e-headers-prev)
|
||||
(define-key map (kbd "<M-down>") #'mu4e-headers-next)
|
||||
|
||||
(define-key map (kbd "[") 'mu4e-headers-prev-unread)
|
||||
(define-key map (kbd "]") 'mu4e-headers-next-unread)
|
||||
(define-key map (kbd "[") #'mu4e-headers-prev-unread)
|
||||
(define-key map (kbd "]") #'mu4e-headers-next-unread)
|
||||
|
||||
;; change the number of headers
|
||||
(define-key map (kbd "C-+") 'mu4e-headers-split-view-grow)
|
||||
(define-key map (kbd "C--") 'mu4e-headers-split-view-shrink)
|
||||
(define-key map (kbd "C-+") #'mu4e-headers-split-view-grow)
|
||||
(define-key map (kbd "C--") #'mu4e-headers-split-view-shrink)
|
||||
(define-key map (kbd "<C-kp-add>") 'mu4e-headers-split-view-grow)
|
||||
(define-key map (kbd "<C-kp-subtract>")
|
||||
'mu4e-headers-split-view-shrink)
|
||||
#'mu4e-headers-split-view-shrink)
|
||||
|
||||
;; switching to view mode (if it's visible)
|
||||
(define-key map "y" 'mu4e-select-other-view)
|
||||
(define-key map "y" #'mu4e-select-other-view)
|
||||
|
||||
;; marking/unmarking ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(define-key map (kbd "<backspace>") 'mu4e-headers-mark-for-trash)
|
||||
(define-key map (kbd "d") 'mu4e-headers-mark-for-trash)
|
||||
(define-key map (kbd "<delete>") 'mu4e-headers-mark-for-delete)
|
||||
(define-key map (kbd "<deletechar>") 'mu4e-headers-mark-for-delete)
|
||||
(define-key map (kbd "D") 'mu4e-headers-mark-for-delete)
|
||||
(define-key map (kbd "m") 'mu4e-headers-mark-for-move)
|
||||
(define-key map (kbd "r") 'mu4e-headers-mark-for-refile)
|
||||
(define-key map (kbd "<backspace>") #'mu4e-headers-mark-for-trash)
|
||||
(define-key map (kbd "d") #'mu4e-headers-mark-for-trash)
|
||||
(define-key map (kbd "<delete>") #'mu4e-headers-mark-for-delete)
|
||||
(define-key map (kbd "<deletechar>") #'mu4e-headers-mark-for-delete)
|
||||
(define-key map (kbd "D") #'mu4e-headers-mark-for-delete)
|
||||
(define-key map (kbd "m") #'mu4e-headers-mark-for-move)
|
||||
(define-key map (kbd "r") #'mu4e-headers-mark-for-refile)
|
||||
|
||||
(define-key map (kbd "?") 'mu4e-headers-mark-for-unread)
|
||||
(define-key map (kbd "!") 'mu4e-headers-mark-for-read)
|
||||
(define-key map (kbd "A") 'mu4e-headers-mark-for-action)
|
||||
(define-key map (kbd "?") #'mu4e-headers-mark-for-unread)
|
||||
(define-key map (kbd "!") #'mu4e-headers-mark-for-read)
|
||||
(define-key map (kbd "A") #'mu4e-headers-mark-for-action)
|
||||
|
||||
(define-key map (kbd "u") 'mu4e-headers-mark-for-unmark)
|
||||
(define-key map (kbd "+") 'mu4e-headers-mark-for-flag)
|
||||
(define-key map (kbd "-") 'mu4e-headers-mark-for-unflag)
|
||||
(define-key map (kbd "=") 'mu4e-headers-mark-for-untrash)
|
||||
(define-key map (kbd "&") 'mu4e-headers-mark-custom)
|
||||
(define-key map (kbd "u") #'mu4e-headers-mark-for-unmark)
|
||||
(define-key map (kbd "+") #'mu4e-headers-mark-for-flag)
|
||||
(define-key map (kbd "-") #'mu4e-headers-mark-for-unflag)
|
||||
(define-key map (kbd "=") #'mu4e-headers-mark-for-untrash)
|
||||
(define-key map (kbd "&") #'mu4e-headers-mark-custom)
|
||||
|
||||
(define-key map (kbd "*")
|
||||
'mu4e-headers-mark-for-something)
|
||||
#'mu4e-headers-mark-for-something)
|
||||
(define-key map (kbd "<kp-multiply>")
|
||||
'mu4e-headers-mark-for-something)
|
||||
#'mu4e-headers-mark-for-something)
|
||||
(define-key map (kbd "<insertchar>")
|
||||
'mu4e-headers-mark-for-something)
|
||||
#'mu4e-headers-mark-for-something)
|
||||
(define-key map (kbd "<insert>")
|
||||
'mu4e-headers-mark-for-something)
|
||||
#'mu4e-headers-mark-for-something)
|
||||
|
||||
(define-key map (kbd "#") 'mu4e-mark-resolve-deferred-marks)
|
||||
(define-key map (kbd "#") #'mu4e-mark-resolve-deferred-marks)
|
||||
|
||||
(define-key map "U" 'mu4e-mark-unmark-all)
|
||||
(define-key map "x" 'mu4e-mark-execute-all)
|
||||
(define-key map "U" #'mu4e-mark-unmark-all)
|
||||
(define-key map "x" #'mu4e-mark-execute-all)
|
||||
|
||||
(define-key map "a" 'mu4e-headers-action)
|
||||
(define-key map "a" #'mu4e-headers-action)
|
||||
|
||||
;; message composition
|
||||
(define-key map "R" 'mu4e-compose-reply)
|
||||
(define-key map "F" 'mu4e-compose-forward)
|
||||
(define-key map "C" 'mu4e-compose-new)
|
||||
(define-key map "E" 'mu4e-compose-edit)
|
||||
(define-key map "R" #'mu4e-compose-reply)
|
||||
(define-key map "F" #'mu4e-compose-forward)
|
||||
(define-key map "C" #'mu4e-compose-new)
|
||||
(define-key map "E" #'mu4e-compose-edit)
|
||||
|
||||
(define-key map (kbd "RET") 'mu4e-headers-view-message)
|
||||
(define-key map [mouse-2] 'mu4e-headers-view-message)
|
||||
(define-key map (kbd "RET") #'mu4e-headers-view-message)
|
||||
(define-key map [mouse-2] #'mu4e-headers-view-message)
|
||||
|
||||
(define-key map "$" 'mu4e-show-log)
|
||||
(define-key map "H" 'mu4e-display-manual)
|
||||
(define-key map "$" #'mu4e-show-log)
|
||||
(define-key map "H" #'mu4e-display-manual)
|
||||
|
||||
(define-key map "|" 'mu4e-view-pipe)
|
||||
(define-key map "|" #'mu4e-view-pipe)
|
||||
map)
|
||||
"Keymap for mu4e's headers mode.")
|
||||
|
||||
;; menu
|
||||
;;(define-key map [menu-bar] (make-sparse-keymap))
|
||||
(let ((menumap (make-sparse-keymap)))
|
||||
(define-key map [menu-bar headers] (cons "Mu4e" menumap))
|
||||
(easy-menu-define mu4e-headers-mode-menu
|
||||
mu4e-headers-mode-map "Menu for mu4e's headers-mode."
|
||||
(append
|
||||
'("Headers" ;;:visible mu4e-headers-mode
|
||||
"--"
|
||||
["Previous" mu4e-headers-prev
|
||||
:help "Move to previous header"]
|
||||
["Next" mu4e-headers-prev
|
||||
:help "Move to next header"]
|
||||
"--"
|
||||
["Mark for move" mu4e-headers-mark-for-move
|
||||
:help "Mark message for move"
|
||||
])
|
||||
mu4e--compose-menu-items
|
||||
mu4e--search-menu-items
|
||||
mu4e--context-menu-items
|
||||
'(
|
||||
"--"
|
||||
["Quit" mu4e~headers-quit-buffer
|
||||
:help "Quit the headers"]
|
||||
)))
|
||||
|
||||
(define-key menumap [mu4e~headers-quit-buffer]
|
||||
'("Quit view" . mu4e~headers-quit-buffer))
|
||||
(define-key menumap [display-help] '("Help" . mu4e-display-manual))
|
||||
|
||||
(define-key menumap [sepa0] '("--"))
|
||||
|
||||
(define-key menumap "|" '("Pipe through shell" . mu4e-view-pipe))
|
||||
(define-key menumap [sepa1] '("--"))
|
||||
|
||||
(define-key menumap [execute-marks] '("Execute marks"
|
||||
. mu4e-mark-execute-all))
|
||||
(define-key menumap [unmark-all] '("Unmark all" . mu4e-mark-unmark-all))
|
||||
(define-key menumap [unmark]
|
||||
'("Unmark" . mu4e-headers-mark-for-unmark))
|
||||
|
||||
(define-key menumap [mark-pattern] '("Mark pattern" .
|
||||
mu4e-headers-mark-pattern))
|
||||
(define-key menumap [mark-as-read] '("Mark as read" .
|
||||
mu4e-headers-mark-for-read))
|
||||
(define-key menumap [mark-as-unread]
|
||||
'("Mark as unread" . mu4e-headers-mark-for-unread))
|
||||
|
||||
(define-key menumap [mark-delete]
|
||||
'("Mark for deletion" . mu4e-headers-mark-for-delete))
|
||||
(define-key menumap [mark-untrash]
|
||||
'("Mark for untrash" . mu4e-headers-mark-for-untrash))
|
||||
(define-key menumap [mark-trash]
|
||||
'("Mark for trash" . mu4e-headers-mark-for-trash))
|
||||
(define-key menumap [mark-move]
|
||||
'("Mark for move" . mu4e-headers-mark-for-move))
|
||||
(define-key menumap [sepa2] '("--"))
|
||||
|
||||
(define-key menumap [resend] '("Resend" . mu4e-compose-resend))
|
||||
(define-key menumap [forward] '("Forward" . mu4e-compose-forward))
|
||||
(define-key menumap [reply] '("Reply" . mu4e-compose-reply))
|
||||
(define-key menumap [compose-new] '("Compose new" . mu4e-compose-new))
|
||||
|
||||
(define-key menumap [sepa3] '("--"))
|
||||
(define-key menumap [jump] '("Jump to maildir" .
|
||||
mu4e~headers-jump-to-maildir))
|
||||
(define-key menumap [search] '("Search" . mu4e-headers-search))
|
||||
(define-key menumap [sepa4] '("--"))
|
||||
|
||||
(define-key menumap [view] '("View" . mu4e-headers-view-message))
|
||||
(define-key menumap [next] '("Next" . mu4e-headers-next))
|
||||
(define-key menumap [previous] '("Previous" . mu4e-headers-prev)))
|
||||
map)))
|
||||
(fset 'mu4e-headers-mode-map mu4e-headers-mode-map)
|
||||
;;; Headers-mode and mode-map
|
||||
|
||||
(defun mu4e~header-line-format ()
|
||||
"Get the format for the header line."
|
||||
|
@ -1047,7 +1017,7 @@ after the end of the search results."
|
|||
(+ mu4e--mark-fringe-len (floor (fringe-columns 'left t))) ?\s)
|
||||
(mapcar
|
||||
(lambda (item)
|
||||
(let* ( ;; with threading enabled, we're necessarily sorting by date.
|
||||
(let* (;; with threading enabled, we're necessarily sorting by date.
|
||||
(sort-field (if mu4e-search-threads :date mu4e-search-sort-field))
|
||||
(field (car item)) (width (cdr item))
|
||||
(info (cdr (assoc field
|
||||
|
|
|
@ -515,18 +515,21 @@ the mode-line.")
|
|||
(define-key map "b" #'mu4e-search-bookmark)
|
||||
(define-key map "B" #'mu4e-search-bookmark-edit)
|
||||
|
||||
(let ((menumap (make-sparse-keymap)))
|
||||
(define-key map [menu-bar search] (cons "Mu4e" menumap))
|
||||
(define-key menumap [query-next]
|
||||
'("Next query" . mu4e-search-next))
|
||||
(define-key menumap [query-prev] '("Previous query" .
|
||||
mu4e-search-prev))
|
||||
(define-key menumap [narrow-search] '("Narrow search" .
|
||||
mu4e-search-narrow))
|
||||
(define-key menumap [bookmark] '("Search bookmark" .
|
||||
mu4e-search-bookmark))
|
||||
(define-key menumap [refresh] '("Refresh" . mu4e-search-rerun))
|
||||
map)))
|
||||
map))
|
||||
|
||||
(defvar mu4e--search-menu-items
|
||||
'("--"
|
||||
["Search" mu4e-search
|
||||
:help "Search using expression"]
|
||||
["Search bookmark" mu4e-search-bookmark
|
||||
:help "Search some bookmark"]
|
||||
["Previous query" mu4e-search-prev
|
||||
:help "Run previous query"]
|
||||
["Next query" mu4e-search-next
|
||||
:help "Run next query"]
|
||||
["Narrow search" mu4e-search-narrow
|
||||
:help "Narrow the search query"])
|
||||
"Easy menu items for search.")
|
||||
|
||||
(provide 'mu4e-search)
|
||||
;;; mu4e-search.el ends here
|
||||
|
|
|
@ -951,57 +951,6 @@ This is useful for advising some Gnus-functionality that does not work in mu4e."
|
|||
(define-key map "$" #'mu4e-show-log)
|
||||
(define-key map "H" #'mu4e-display-manual)
|
||||
|
||||
;; menu
|
||||
;;(define-key map [menu-bar] (make-sparse-keymap))
|
||||
(let ((menumap (make-sparse-keymap)))
|
||||
(define-key map [menu-bar headers] (cons "Mu4e" menumap))
|
||||
|
||||
(define-key menumap [quit-buffer]
|
||||
'("Quit view" . mu4e-view-quit))
|
||||
(define-key menumap [display-help] '("Help" . mu4e-view-quit))
|
||||
|
||||
(define-key menumap [sepa0] '("--"))
|
||||
(define-key menumap [wrap-lines]
|
||||
'("Toggle wrap lines" . visual-line-mode))
|
||||
(define-key menumap [raw-view]
|
||||
'("View raw message" . mu4e-view-raw-message))
|
||||
(define-key menumap [pipe]
|
||||
'("Pipe through shell" . mu4e-view-pipe))
|
||||
|
||||
(define-key menumap [sepa1] '("--"))
|
||||
(define-key menumap [mark-delete]
|
||||
'("Mark for deletion" . mu4e-view-mark-for-delete))
|
||||
(define-key menumap [mark-untrash]
|
||||
'("Mark for untrash" . mu4e-view-mark-for-untrash))
|
||||
(define-key menumap [mark-trash]
|
||||
'("Mark for trash" . mu4e-view-mark-for-trash))
|
||||
(define-key menumap [mark-move]
|
||||
'("Mark for move" . mu4e-view-mark-for-move))
|
||||
|
||||
(define-key menumap [sepa2] '("--"))
|
||||
(define-key menumap [resend] '("Resend" . mu4e-compose-resend))
|
||||
(define-key menumap [forward] '("Forward" . mu4e-compose-forward))
|
||||
(define-key menumap [reply] '("Reply" . mu4e-compose-reply))
|
||||
(define-key menumap [compose-new] '("Compose new" . mu4e-compose-new))
|
||||
(define-key menumap [sepa3] '("--"))
|
||||
|
||||
(define-key menumap [query-next]
|
||||
'("Next query" . mu4e-headers-query-next))
|
||||
(define-key menumap [query-prev]
|
||||
'("Previous query" . mu4e-headers-query-prev))
|
||||
(define-key menumap [narrow-search]
|
||||
'("Narrow search" . mu4e-headers-search-narrow))
|
||||
(define-key menumap [bookmark]
|
||||
'("Search bookmark" . mu4e-headers-search-bookmark))
|
||||
(define-key menumap [jump]
|
||||
'("Jump to maildir" . mu4e~headers-jump-to-maildir))
|
||||
(define-key menumap [search]
|
||||
'("Search" . mu4e-headers-search))
|
||||
|
||||
(define-key menumap [sepa4] '("--"))
|
||||
(define-key menumap [next] '("Next" . mu4e-view-headers-next))
|
||||
(define-key menumap [previous] '("Previous" . mu4e-view-headers-prev)))
|
||||
|
||||
;; Make 0..9 shortcuts for digit-argument. Actually, none of the bound
|
||||
;; functions seem to use a prefix arg but those bindings existed because we
|
||||
;; used to use `suppress-keymap'. And possibly users added their own
|
||||
|
@ -1010,10 +959,32 @@ This is useful for advising some Gnus-functionality that does not work in mu4e."
|
|||
(define-key map (kbd (format "%d" i)) #'digit-argument))
|
||||
|
||||
(set-keymap-parent map special-mode-map)
|
||||
(set-keymap-parent map button-buffer-map)
|
||||
map)
|
||||
"Keymap for mu4e-view mode.")
|
||||
|
||||
(set-keymap-parent mu4e-view-mode-map button-buffer-map)
|
||||
(easy-menu-define mu4e-view-mode-menu
|
||||
mu4e-view-mode-map "Menu for mu4e's view-mode."
|
||||
(append
|
||||
'("View"
|
||||
"--"
|
||||
["Toggle wrap lines" visual-line-mode]
|
||||
["View raw" mu4e-view-raw-message]
|
||||
["Pipe through shell" mu4e-view-pipe]
|
||||
"--"
|
||||
["Mark for deletion" mu4e-view-mark-for-delete]
|
||||
["Mark for untrash" mu4e-view-mark-for-untrash]
|
||||
["Mark for trash" mu4e-view-mark-for-trash]
|
||||
["Mark for move" mu4e-view-mark-for-move]
|
||||
)
|
||||
mu4e--compose-menu-items
|
||||
mu4e--search-menu-items
|
||||
mu4e--context-menu-items
|
||||
'(
|
||||
"--"
|
||||
["Quit" mu4e-view-quit
|
||||
:help "Quit the view"]
|
||||
)))
|
||||
|
||||
(defcustom mu4e-raw-view-mode-hook nil
|
||||
"Hook run when entering \\[mu4e-raw-view] mode."
|
||||
|
|
|
@ -953,7 +953,7 @@ headers-view.
|
|||
@section Keybindings
|
||||
|
||||
Using the below key bindings, you can do various things with these
|
||||
messages; these actions are also listed in the @t{Mu4e} menu in the
|
||||
messages; these actions are also listed in the @t{Headers} menu in the
|
||||
Emacs menu bar.
|
||||
|
||||
@verbatim
|
||||
|
@ -1282,8 +1282,8 @@ to prevent this behavior, set @code{mu4e-view-scroll-to-next} to
|
|||
@node MSGV Keybindings
|
||||
@section Keybindings
|
||||
|
||||
You can find most things you can do with this message in the @emph{Mu4e}
|
||||
menu, or by using the keyboard; the default bindings are:
|
||||
You can find most things you can do with this message in the @emph{View} menu,
|
||||
or by using the keyboard; the default bindings are:
|
||||
|
||||
@verbatim
|
||||
key description
|
||||
|
|
Loading…
Reference in New Issue