mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 04:18:08 +01:00
notmuch.el: Make magic space bar advance to next unread messages.
The magic of the space bar is all about unread messages, so there's no reason for it to advance to messages that have already been read. Similarly, we now remove any magic from (n)ext so that it simply advances to the next message without marking anything read, (which makes it symmetrical with (p)revious).
This commit is contained in:
parent
88810b999a
commit
46f41d80b0
1 changed files with 21 additions and 8 deletions
29
notmuch.el
29
notmuch.el
|
@ -32,7 +32,7 @@
|
||||||
(define-key map "b" 'notmuch-show-toggle-body-read-visible)
|
(define-key map "b" 'notmuch-show-toggle-body-read-visible)
|
||||||
(define-key map "c" 'notmuch-show-toggle-citations-visible)
|
(define-key map "c" 'notmuch-show-toggle-citations-visible)
|
||||||
(define-key map "h" 'notmuch-show-toggle-headers-visible)
|
(define-key map "h" 'notmuch-show-toggle-headers-visible)
|
||||||
(define-key map "n" 'notmuch-show-mark-read-then-next-message)
|
(define-key map "n" 'notmuch-show-next-message)
|
||||||
(define-key map "p" 'notmuch-show-previous-message)
|
(define-key map "p" 'notmuch-show-previous-message)
|
||||||
(define-key map "q" 'kill-this-buffer)
|
(define-key map "q" 'kill-this-buffer)
|
||||||
(define-key map "s" 'notmuch-show-toggle-signatures-visible)
|
(define-key map "s" 'notmuch-show-toggle-signatures-visible)
|
||||||
|
@ -162,8 +162,8 @@ the buffer."
|
||||||
(defun notmuch-show-find-next-message ()
|
(defun notmuch-show-find-next-message ()
|
||||||
"Returns the position of the next message in the buffer.
|
"Returns the position of the next message in the buffer.
|
||||||
|
|
||||||
Or the beginning of the current message if already within the last
|
Or the end of the buffer if already within the last message in
|
||||||
message in the buffer."
|
the buffer."
|
||||||
; save-excursion doesn't save our window position
|
; save-excursion doesn't save our window position
|
||||||
; save-window-excursion doesn't save point
|
; save-window-excursion doesn't save point
|
||||||
; Looks like we have to use both.
|
; Looks like we have to use both.
|
||||||
|
@ -181,6 +181,19 @@ current point."
|
||||||
(not (member "unread" (notmuch-show-get-tags))))
|
(not (member "unread" (notmuch-show-get-tags))))
|
||||||
(notmuch-show-next-message)))
|
(notmuch-show-next-message)))
|
||||||
|
|
||||||
|
(defun notmuch-show-find-next-unread-message ()
|
||||||
|
"Returns the position of the next message in the buffer.
|
||||||
|
|
||||||
|
Returns the current point if there are no more unread messages
|
||||||
|
past the current point."
|
||||||
|
; save-excursion doesn't save our window position
|
||||||
|
; save-window-excursion doesn't save point
|
||||||
|
; Looks like we have to use both.
|
||||||
|
(save-excursion
|
||||||
|
(save-window-excursion
|
||||||
|
(notmuch-show-next-unread-message)
|
||||||
|
(point))))
|
||||||
|
|
||||||
(defun notmuch-show-previous-message ()
|
(defun notmuch-show-previous-message ()
|
||||||
"Backup to the beginning of the previous message in the buffer.
|
"Backup to the beginning of the previous message in the buffer.
|
||||||
|
|
||||||
|
@ -198,11 +211,11 @@ simply move to the beginning of the current message."
|
||||||
))
|
))
|
||||||
(recenter 0)))
|
(recenter 0)))
|
||||||
|
|
||||||
(defun notmuch-show-mark-read-then-next-message ()
|
(defun notmuch-show-mark-read-then-next-unread-message ()
|
||||||
"Remove unread tag from current message, then advance to next message."
|
"Remove unread tag from current message, then advance to next unread message."
|
||||||
(interactive)
|
(interactive)
|
||||||
(notmuch-show-remove-tag "unread")
|
(notmuch-show-remove-tag "unread")
|
||||||
(notmuch-show-next-message))
|
(notmuch-show-next-unread-message))
|
||||||
|
|
||||||
(defun notmuch-show-advance-marking-read-and-archiving ()
|
(defun notmuch-show-advance-marking-read-and-archiving ()
|
||||||
"Advance through buffer, marking read and archiving.
|
"Advance through buffer, marking read and archiving.
|
||||||
|
@ -223,7 +236,7 @@ thread, (remove the \"inbox\" tag from each message). Also kill
|
||||||
this buffer, and display the next thread from the search from
|
this buffer, and display the next thread from the search from
|
||||||
which this thread was originally shown."
|
which this thread was originally shown."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((next (notmuch-show-find-next-message))
|
(let ((next (notmuch-show-find-next-unread-message))
|
||||||
(unread (member "unread" (notmuch-show-get-tags))))
|
(unread (member "unread" (notmuch-show-get-tags))))
|
||||||
(if (and (not unread)
|
(if (and (not unread)
|
||||||
(equal next (point)))
|
(equal next (point)))
|
||||||
|
@ -231,7 +244,7 @@ which this thread was originally shown."
|
||||||
(if (and (> next (window-end))
|
(if (and (> next (window-end))
|
||||||
(< next (point-max)))
|
(< next (point-max)))
|
||||||
(scroll-up nil)
|
(scroll-up nil)
|
||||||
(notmuch-show-mark-read-then-next-message)))))
|
(notmuch-show-mark-read-then-next-unread-message)))))
|
||||||
|
|
||||||
(defun notmuch-show-markup-citations-region (beg end)
|
(defun notmuch-show-markup-citations-region (beg end)
|
||||||
(goto-char beg)
|
(goto-char beg)
|
||||||
|
|
Loading…
Reference in a new issue