notmuch.el: Add bindings for scrolling to notmuch-search mode.
authorCarl Worth <cworth@cworth.org>
Wed, 4 Nov 2009 00:55:20 +0000 (16:55 -0800)
committerCarl Worth <cworth@cworth.org>
Wed, 4 Nov 2009 00:55:20 +0000 (16:55 -0800)
We turn on the scroll-preserve-screen-position option which seems
like what's desired here, (though that's not what I normally use
when editing files---but I think scrolling through a list of email
threads is different).

notmuch.el

index c334e2ffb9831d808d50d56815b10d9f380984af..18aca1c7cc9fa20f1bd049a83a9b46cf9a4f37c3 100644 (file)
@@ -322,6 +322,7 @@ Does nothing if already on the first message in the buffer."
 (defvar notmuch-search-mode-map
   (let ((map (make-sparse-keymap)))
     (define-key map "a" 'notmuch-search-archive-thread)
+    (define-key map "b" 'scroll-down)
     (define-key map "f" 'notmuch-search-filter)
     (define-key map "n" 'next-line)
     (define-key map "p" 'previous-line)
@@ -335,6 +336,8 @@ Does nothing if already on the first message in the buffer."
     (define-key map ">" 'notmuch-search-goto-last-thread)
     (define-key map "=" 'notmuch-search-refresh-view)
     (define-key map "\M->" 'notmuch-search-goto-last-thread)
+    (define-key map " " 'scroll-up)
+    (define-key map (kbd "<DEL>") 'scroll-down)
     map)
   "Keymap for \"notmuch search\" buffers.")
 (fset 'notmuch-search-mode-map notmuch-search-mode-map)
@@ -351,6 +354,7 @@ Does nothing if already on the first message in the buffer."
   (interactive)
   (kill-all-local-variables)
   (make-local-variable 'notmuch-search-query-string)
+  (set (make-local-variable 'scroll-preserve-screen-position) t)
   (add-to-invisibility-spec 'notmuch-search)
   (use-local-map notmuch-search-mode-map)
   (setq major-mode 'notmuch-search-mode