(declare-function notmuch-search "notmuch" (query &optional oldest-first target-thread target-line continuation))
(declare-function notmuch-folder-count "notmuch" (search))
+(defvar notmuch-hello-search-bar-marker nil
+ "The position of the search bar within the notmuch-hello buffer.")
+
(defcustom notmuch-hello-recent-searches-max 10
"The number of recent searches to store and display."
:type 'integer
found-target-pos))
(defun notmuch-hello-goto-search ()
- "Put point inside the `search' widget, which we know is first."
+ "Put point inside the `search' widget."
(interactive)
- (goto-char (point-min))
- (widget-forward 3))
+ (goto-char notmuch-hello-search-bar-marker))
(defimage notmuch-hello-logo ((:type png :file "notmuch-logo.png")))
(customize-variable 'notmuch-hello-saved-searches))
"edit")
(widget-insert "\n\n")
+ (setq final-target-pos (point-marker))
(let ((start (point)))
(setq found-target-pos (notmuch-hello-insert-tags saved-alist widest target))
- (if (not final-target-pos)
+ (if found-target-pos
(setq final-target-pos found-target-pos))
(indent-rigidly start (point) notmuch-hello-indent)))
(let ((start (point)))
(widget-insert "\nSearch: ")
+ (setq notmuch-hello-search-bar-marker (point-marker))
(widget-create 'editable-field
;; Leave some space at the start and end of the
;; search boxes.
(widget-setup)
- (if final-target-pos
- (goto-char final-target-pos)
- (progn
- (goto-char (point-min))
- (widget-forward 1)))))
+ (goto-char final-target-pos)
+ (if (not (widget-at))
+ (widget-forward 1))))
;;