X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch-lib.el;h=abcbfa1f99b8b0f3b0e9e9bb2f409a314d39dd94;hb=fd16b37dc1b59dac765d459459ce00907506d559;hp=cb9be30177013e7fc24783fc77091357043c801b;hpb=e26d767897e8ab59f05808a12ac5c9c1e3c7030f;p=notmuch diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index cb9be301..abcbfa1f 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -24,6 +24,71 @@ (defvar notmuch-command "notmuch" "Command to run the notmuch binary.") +(defgroup notmuch nil + "Notmuch mail reader for Emacs." + :group 'mail) + +(defcustom notmuch-search-oldest-first t + "Show the oldest mail first when searching." + :type 'boolean + :group 'notmuch) + +;; + +(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 + ;; Trim off the trailing newline. + (substring (shell-command-to-string + (concat notmuch-command " --version")) + 0 -1))) + (if (string-match "^notmuch\\( version\\)? \\(.*\\)$" + long-string) + (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")) + +;; + ;; XXX: This should be a generic function in emacs somewhere, not ;; here. (defun point-invisible-p ()