X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch-lib.el;h=9d4e00f6958e5814f113d2f7b68bb3b9b6b540bb;hb=fe8eeaf4a576b4cad2ec4faee8d5e373118771f8;hp=b64aeab94a4997053d09e5dc41969344af123d24;hpb=98cf886120066c20d0f6a69c6dcfc50741badca5;p=notmuch diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index b64aeab9..9d4e00f6 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -28,11 +28,6 @@ "Notmuch mail reader for Emacs." :group 'mail) -(defcustom notmuch-folders '(("inbox" . "tag:inbox") ("unread" . "tag:unread")) - "List of searches for the notmuch folder view" - :type '(alist :key-type (string) :value-type (string)) - :group 'notmuch) - (defcustom notmuch-search-oldest-first t "Show the oldest mail first when searching." :type 'boolean @@ -40,6 +35,27 @@ ;; +(defcustom notmuch-saved-searches nil + "A list of saved searches to display." + :type '(alist :key-type string :value-type string) + :group 'notmuch) + +(defvar notmuch-folders nil + "Deprecated name for what is now known as `notmuch-saved-searches'.") + +(defun notmuch-saved-searches () + "Common function for querying the notmuch-saved-searches variable. + +We do this as a function to support the old name of the +variable (`notmuch-folders') as well as for the default value if +the user hasn't set this variable with the old or new value." + (if notmuch-saved-searches + notmuch-saved-searches + (if notmuch-folders + notmuch-folders + '(("inbox" . "tag:inbox") + ("unread" . "tag:unread"))))) + (defun notmuch-version () "Return a string with the notmuch version number." (let ((long-string @@ -52,6 +68,37 @@ (match-string 2 long-string) "unknown"))) +(defun notmuch-config-get (item) + "Return a value from the notmuch configuration." + ;; Trim off the trailing newline + (substring (shell-command-to-string + (concat notmuch-command " config get " item)) + 0 -1)) + +(defun notmuch-database-path () + "Return the database.path value from the notmuch configuration." + (notmuch-config-get "database.path")) + +(defun notmuch-user-name () + "Return the user.name value from the notmuch configuration." + (notmuch-config-get "user.name")) + +(defun notmuch-user-primary-email () + "Return the user.primary_email value from the notmuch configuration." + (notmuch-config-get "user.primary_email")) + +(defun notmuch-kill-this-buffer () + "Kill the current buffer." + (interactive) + (kill-buffer (current-buffer))) + +;; + +(defun notmuch-common-do-stash (text) + "Common function to stash text in kill ring, and display in minibuffer." + (kill-new text) + (message "Stashed: %s" text)) + ;; ;; XXX: This should be a generic function in emacs somewhere, not @@ -70,3 +117,4 @@ within the current window." (assq prop buffer-invisibility-spec))))) (provide 'notmuch-lib) +