X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch-hello.el;h=9db8c9931a8fee0a25e105d00d5345def45ec47f;hb=HEAD;hp=c1c6f4b42186698f75fee9549ca1ab62daf58bd3;hpb=8bee3c417c44afdf04fda7a3495d598a99f6d9bc;p=obsolete%2Fnotmuch-old diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el index c1c6f4b4..9db8c993 100644 --- a/emacs/notmuch-hello.el +++ b/emacs/notmuch-hello.el @@ -286,6 +286,15 @@ afterwards.") (message "Saved '%s' as '%s'." search name) (notmuch-hello-update))) +(defun notmuch-hello-delete-search-from-history (widget) + (interactive) + (let ((search (widget-value + (symbol-value + (widget-get widget :notmuch-saved-search-widget))))) + (setq notmuch-search-history (delete search + notmuch-search-history)) + (notmuch-hello-update))) + (defun notmuch-hello-longest-label (searches-alist) (or (loop for elem in searches-alist maximize (length (car elem))) @@ -393,8 +402,13 @@ options will be handled as specified for (plist-get options :filter))) "\n"))) - (call-process-region (point-min) (point-max) notmuch-command - t t nil "count" "--batch") + (unless (= (call-process-region (point-min) (point-max) notmuch-command + t t nil "count" "--batch") 0) + (notmuch-logged-error "notmuch count --batch failed" + "Please check that the notmuch CLI is new enough to support `count +--batch'. In general we recommend running matching versions of +the CLI and emacs interface.")) + (goto-char (point-min)) (notmuch-remove-if-not @@ -599,8 +613,9 @@ Complete list of currently available key bindings: (widget-insert "Recent searches: ") (widget-create 'push-button :notify (lambda (&rest ignore) - (setq notmuch-search-history nil) - (notmuch-hello-update)) + (when (y-or-n-p "Are you sure you want to clear the searches? ") + (setq notmuch-search-history nil) + (notmuch-hello-update))) "clear") (widget-insert "\n\n") (let ((start (point))) @@ -623,7 +638,12 @@ Complete list of currently available key bindings: ;; `[save]' button. 6 ;; for the `[save]' ;; button. - 1 6)) + 1 6 + ;; 1 for the space + ;; before the `[del]' + ;; button. 5 for the + ;; `[del]' button. + 1 5)) :action (lambda (widget &rest ignore) (notmuch-hello-search (widget-value widget))) search)) @@ -632,7 +652,14 @@ Complete list of currently available key bindings: :notify (lambda (widget &rest ignore) (notmuch-hello-add-saved-search widget)) :notmuch-saved-search-widget widget-symbol - "save")) + "save") + (widget-insert " ") + (widget-create 'push-button + :notify (lambda (widget &rest ignore) + (when (y-or-n-p "Are you sure you want to delete this search? ") + (notmuch-hello-delete-search-from-history widget))) + :notmuch-saved-search-widget widget-symbol + "del")) (widget-insert "\n")) (indent-rigidly start (point) notmuch-hello-indent)) nil))