2019-09-16 19:54:59 +02:00
|
|
|
|
;;; mu4e-vars.el -- part of mu4e, the mu mail user agent -*- lexical-binding: t -*-
|
2020-02-11 12:23:40 +01:00
|
|
|
|
|
2022-01-23 09:29:45 +01:00
|
|
|
|
;; Copyright (C) 2011-2022 Dirk-Jan C. Binnema
|
2012-04-09 15:34:52 +02:00
|
|
|
|
|
|
|
|
|
;; Author: Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
|
|
|
|
;; Maintainer: Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
2012-04-11 00:15:42 +02:00
|
|
|
|
|
2012-04-09 15:34:52 +02:00
|
|
|
|
;; This file is not part of GNU Emacs.
|
2020-02-11 12:23:40 +01:00
|
|
|
|
|
2021-05-29 23:36:13 +02:00
|
|
|
|
;; mu4e is free software: you can redistribute it and/or modify
|
2012-04-09 15:34:52 +02:00
|
|
|
|
;; it under the terms of the GNU General Public License as published by
|
|
|
|
|
;; the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
;; (at your option) any later version.
|
|
|
|
|
|
2021-05-29 23:36:13 +02:00
|
|
|
|
;; mu4e is distributed in the hope that it will be useful,
|
2012-04-09 15:34:52 +02:00
|
|
|
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
;; GNU General Public License for more details.
|
|
|
|
|
|
|
|
|
|
;; You should have received a copy of the GNU General Public License
|
2021-05-29 23:36:13 +02:00
|
|
|
|
;; along with mu4e. If not, see <http://www.gnu.org/licenses/>.
|
2012-04-09 15:34:52 +02:00
|
|
|
|
|
|
|
|
|
;;; Commentary:
|
|
|
|
|
|
|
|
|
|
;;; Code:
|
|
|
|
|
|
2012-07-22 23:55:41 +02:00
|
|
|
|
(require 'message)
|
2021-08-29 16:30:10 +02:00
|
|
|
|
(require 'mu4e-helpers)
|
|
|
|
|
|
|
|
|
|
;;; Configuration
|
2012-04-09 15:34:52 +02:00
|
|
|
|
(defgroup mu4e nil
|
2021-08-29 16:30:10 +02:00
|
|
|
|
"Mu4e - an email-client for Emacs."
|
2012-11-14 12:25:35 +01:00
|
|
|
|
:group 'mail)
|
2012-04-09 15:34:52 +02:00
|
|
|
|
|
2020-03-14 13:27:51 +01:00
|
|
|
|
(defcustom mu4e-headers-include-related t
|
2022-05-27 20:00:37 +02:00
|
|
|
|
"Wether to include \"related\" messages in queries.
|
2022-01-23 09:29:45 +01:00
|
|
|
|
With this option set to non-nil, not just return the matches for
|
2020-03-14 13:27:51 +01:00
|
|
|
|
a searches, but also messages that are related (through their
|
|
|
|
|
references) to these messages. This can be useful e.g. to include
|
|
|
|
|
sent messages into message threads."
|
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'mu4e-headers)
|
|
|
|
|
|
|
|
|
|
(defcustom mu4e-headers-skip-duplicates t
|
2022-01-23 09:29:45 +01:00
|
|
|
|
"Whether to skip duplicate messages.
|
|
|
|
|
With this option set to non-nil, show only one of duplicate
|
2020-03-14 13:27:51 +01:00
|
|
|
|
messages. This is useful when you have multiple copies of the same
|
|
|
|
|
message, which is a common occurrence for example when using Gmail
|
|
|
|
|
and offlineimap."
|
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'mu4e-headers)
|
|
|
|
|
|
2012-10-24 22:48:56 +02:00
|
|
|
|
(defcustom mu4e-date-format-long "%c"
|
2018-11-12 21:03:28 +01:00
|
|
|
|
"Date format to use in the message view.
|
|
|
|
|
Follows the format of `format-time-string'."
|
2012-10-24 22:48:56 +02:00
|
|
|
|
:type 'string
|
|
|
|
|
:group 'mu4e)
|
2013-10-13 20:44:47 +02:00
|
|
|
|
|
2021-08-29 16:30:10 +02:00
|
|
|
|
|
2020-02-11 15:10:35 +01:00
|
|
|
|
;;; Faces
|
|
|
|
|
|
2012-04-09 15:34:52 +02:00
|
|
|
|
(defgroup mu4e-faces nil
|
|
|
|
|
"Type faces (fonts) used in mu4e."
|
|
|
|
|
:group 'mu4e
|
|
|
|
|
:group 'faces)
|
|
|
|
|
|
|
|
|
|
(defface mu4e-unread-face
|
2021-03-16 07:56:01 +01:00
|
|
|
|
'((t :inherit font-lock-keyword-face :weight bold))
|
2012-04-09 15:34:52 +02:00
|
|
|
|
"Face for an unread message header."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
|
|
|
|
(defface mu4e-trashed-face
|
|
|
|
|
'((t :inherit font-lock-comment-face :strike-through t))
|
|
|
|
|
"Face for an message header in the trash folder."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
|
|
|
|
(defface mu4e-draft-face
|
|
|
|
|
'((t :inherit font-lock-string-face))
|
2022-01-23 09:29:45 +01:00
|
|
|
|
"Face for a draft message header.
|
2012-11-10 14:01:17 +01:00
|
|
|
|
I.e. a message with the draft flag set."
|
2012-04-09 15:34:52 +02:00
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2012-05-11 10:18:00 +02:00
|
|
|
|
(defface mu4e-flagged-face
|
2021-03-16 07:56:01 +01:00
|
|
|
|
'((t :inherit font-lock-constant-face :weight bold))
|
2012-05-11 10:18:00 +02:00
|
|
|
|
"Face for a flagged message header."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2012-07-10 20:10:00 +02:00
|
|
|
|
(defface mu4e-replied-face
|
2022-05-12 07:53:17 +02:00
|
|
|
|
'((t :inherit font-lock-builtin-face :weight normal :slant normal))
|
2013-05-05 11:24:15 +02:00
|
|
|
|
"Face for a replied message header."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
|
|
|
|
(defface mu4e-forwarded-face
|
2022-05-12 07:53:17 +02:00
|
|
|
|
'((t :inherit font-lock-builtin-face :weight normal :slant normal))
|
2013-05-05 11:24:15 +02:00
|
|
|
|
"Face for a passed (forwarded) message header."
|
2012-07-10 20:10:00 +02:00
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2012-04-09 15:34:52 +02:00
|
|
|
|
(defface mu4e-header-face
|
|
|
|
|
'((t :inherit default))
|
|
|
|
|
"Face for a header without any special flags."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2022-05-12 07:53:17 +02:00
|
|
|
|
(defface mu4e-related-face
|
|
|
|
|
'((t :inherit default :slant italic))
|
2022-06-26 09:42:27 +02:00
|
|
|
|
"Face for a \='related' header." :group 'mu4e-faces)
|
2022-05-12 07:53:17 +02:00
|
|
|
|
|
2012-04-09 15:34:52 +02:00
|
|
|
|
(defface mu4e-header-title-face
|
|
|
|
|
'((t :inherit font-lock-type-face))
|
|
|
|
|
"Face for a header title in the headers view."
|
|
|
|
|
:group 'mu4e-faces)
|
2012-05-04 23:34:59 +02:00
|
|
|
|
|
2012-04-09 15:34:52 +02:00
|
|
|
|
(defface mu4e-header-highlight-face
|
2020-03-20 22:17:02 +01:00
|
|
|
|
`((t :inherit hl-line :weight bold :underline t
|
|
|
|
|
,@(and (>= emacs-major-version 27) '(:extend t))))
|
2012-04-09 15:34:52 +02:00
|
|
|
|
"Face for the header at point."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2012-04-28 08:09:16 +02:00
|
|
|
|
(defface mu4e-header-marks-face
|
|
|
|
|
'((t :inherit font-lock-preprocessor-face))
|
|
|
|
|
"Face for the mark in the headers list."
|
|
|
|
|
:group 'mu4e-faces)
|
2014-10-19 02:20:21 +02:00
|
|
|
|
|
2013-10-19 11:05:05 +02:00
|
|
|
|
(defface mu4e-header-key-face
|
2021-03-16 07:56:01 +01:00
|
|
|
|
'((t :inherit message-header-name :weight bold))
|
2013-10-19 11:05:05 +02:00
|
|
|
|
"Face for a header key (such as \"Foo\" in \"Subject:\ Foo\")."
|
2012-04-26 21:43:24 +02:00
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2013-10-19 11:05:05 +02:00
|
|
|
|
(defface mu4e-header-value-face
|
2016-07-09 22:42:58 +02:00
|
|
|
|
'((t :inherit font-lock-type-face))
|
2013-10-19 11:05:05 +02:00
|
|
|
|
"Face for a header value (such as \"Re: Hello!\")."
|
2012-04-09 15:34:52 +02:00
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2013-10-19 11:05:05 +02:00
|
|
|
|
(defface mu4e-special-header-value-face
|
2016-07-09 22:42:58 +02:00
|
|
|
|
'((t :inherit font-lock-builtin-face))
|
2013-10-19 11:05:05 +02:00
|
|
|
|
"Face for special header values."
|
2012-07-16 14:56:26 +02:00
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2013-10-19 11:05:05 +02:00
|
|
|
|
(defface mu4e-link-face
|
2012-07-22 23:55:41 +02:00
|
|
|
|
'((t :inherit link))
|
2012-04-09 15:34:52 +02:00
|
|
|
|
"Face for showing URLs and attachments in the message view."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2013-10-19 11:05:05 +02:00
|
|
|
|
(defface mu4e-contact-face
|
2012-07-16 11:19:19 +02:00
|
|
|
|
'((t :inherit font-lock-variable-name-face))
|
|
|
|
|
"Face for showing URLs and attachments in the message view."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2012-04-09 15:34:52 +02:00
|
|
|
|
(defface mu4e-highlight-face
|
2015-09-22 08:37:29 +02:00
|
|
|
|
'((t :inherit highlight))
|
2012-04-09 15:34:52 +02:00
|
|
|
|
"Face for highlighting things."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
|
|
|
|
(defface mu4e-title-face
|
2021-03-16 07:56:01 +01:00
|
|
|
|
'((t :inherit font-lock-type-face :weight bold))
|
2012-04-09 15:34:52 +02:00
|
|
|
|
"Face for a header title in the headers view."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2014-10-12 10:39:07 +02:00
|
|
|
|
(defface mu4e-modeline-face
|
2021-03-16 07:56:01 +01:00
|
|
|
|
'((t :inherit font-lock-string-face :weight bold))
|
2015-10-13 07:03:56 +02:00
|
|
|
|
"Face for the query in the mode-line."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2012-04-16 22:09:42 +02:00
|
|
|
|
(defface mu4e-footer-face
|
|
|
|
|
'((t :inherit font-lock-comment-face))
|
|
|
|
|
"Face for message footers (signatures)."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2013-10-19 11:05:05 +02:00
|
|
|
|
(defface mu4e-url-number-face
|
2021-03-16 07:56:01 +01:00
|
|
|
|
'((t :inherit font-lock-constant-face :weight bold))
|
2012-04-09 15:34:52 +02:00
|
|
|
|
"Face for the number tags for URLs."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
|
|
|
|
(defface mu4e-system-face
|
|
|
|
|
'((t :inherit font-lock-comment-face :slant italic))
|
2012-11-10 14:01:17 +01:00
|
|
|
|
"Face for system message (such as the footers for message headers)."
|
2012-04-09 15:34:52 +02:00
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2012-07-19 10:42:38 +02:00
|
|
|
|
(defface mu4e-ok-face
|
2021-03-16 07:56:01 +01:00
|
|
|
|
'((t :inherit font-lock-comment-face :weight bold :slant normal))
|
2012-07-19 10:42:38 +02:00
|
|
|
|
"Face for things that are okay."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
|
|
|
|
(defface mu4e-warning-face
|
2021-03-16 07:56:01 +01:00
|
|
|
|
'((t :inherit font-lock-warning-face :weight bold :slant normal))
|
2012-07-19 10:42:38 +02:00
|
|
|
|
"Face for warnings / error."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2013-10-19 11:05:05 +02:00
|
|
|
|
(defface mu4e-compose-separator-face
|
|
|
|
|
'((t :inherit message-separator :slant italic))
|
2022-01-23 09:29:45 +01:00
|
|
|
|
"Face for the headers/message separator in mu4e-compose-mode."
|
2013-10-19 11:05:05 +02:00
|
|
|
|
:group 'mu4e-faces)
|
2014-03-24 09:17:25 +01:00
|
|
|
|
|
|
|
|
|
(defface mu4e-region-code
|
|
|
|
|
'((t (:background "DarkSlateGray")))
|
|
|
|
|
"Face for highlighting marked region in mu4e-view buffer."
|
|
|
|
|
:group 'mu4e-faces)
|
|
|
|
|
|
2020-02-11 15:10:35 +01:00
|
|
|
|
;;; Header information
|
|
|
|
|
|
2012-07-10 10:51:54 +02:00
|
|
|
|
(defconst mu4e-header-info
|
2022-05-08 13:46:39 +02:00
|
|
|
|
'((:bcc
|
2020-02-11 12:05:51 +01:00
|
|
|
|
. (:name "Bcc"
|
|
|
|
|
:shortname "Bcc"
|
|
|
|
|
:help "Blind Carbon-Copy recipients for the message"
|
|
|
|
|
:sortable t))
|
|
|
|
|
(:cc
|
|
|
|
|
. (:name "Cc"
|
|
|
|
|
:shortname "Cc"
|
|
|
|
|
:help "Carbon-Copy recipients for the message"
|
|
|
|
|
:sortable t))
|
2022-05-05 00:32:46 +02:00
|
|
|
|
(:changed
|
|
|
|
|
. (:name "Changed"
|
|
|
|
|
:shortname "Chg"
|
|
|
|
|
:help "Date/time when the message was changed most recently"
|
|
|
|
|
:sortable t))
|
2020-02-11 12:05:51 +01:00
|
|
|
|
(:date
|
|
|
|
|
. (:name "Date"
|
|
|
|
|
:shortname "Date"
|
2022-05-05 00:32:46 +02:00
|
|
|
|
:help "Date/time when the message was sent"
|
2020-02-11 12:05:51 +01:00
|
|
|
|
:sortable t))
|
|
|
|
|
(:human-date
|
|
|
|
|
. (:name "Date"
|
|
|
|
|
:shortname "Date"
|
2022-05-05 00:32:46 +02:00
|
|
|
|
:help "Date/time when the message was sent"
|
2020-02-11 12:05:51 +01:00
|
|
|
|
:sortable :date))
|
|
|
|
|
(:flags
|
|
|
|
|
. (:name "Flags"
|
|
|
|
|
:shortname "Flgs"
|
|
|
|
|
:help "Flags for the message"
|
|
|
|
|
:sortable nil))
|
|
|
|
|
(:from
|
|
|
|
|
. (:name "From"
|
|
|
|
|
:shortname "From"
|
|
|
|
|
:help "The sender of the message"
|
|
|
|
|
:sortable t))
|
|
|
|
|
(:from-or-to
|
|
|
|
|
. (:name "From/To"
|
|
|
|
|
:shortname "From/To"
|
|
|
|
|
:help "Sender of the message if it's not me; otherwise the recipient"
|
|
|
|
|
:sortable nil))
|
|
|
|
|
(:maildir
|
|
|
|
|
. (:name "Maildir"
|
|
|
|
|
:shortname "Maildir"
|
|
|
|
|
:help "Maildir for this message"
|
|
|
|
|
:sortable t))
|
|
|
|
|
(:list
|
|
|
|
|
. (:name "List-Id"
|
|
|
|
|
:shortname "List"
|
|
|
|
|
:help "Mailing list id for this message"
|
|
|
|
|
:sortable t))
|
|
|
|
|
(:mailing-list
|
|
|
|
|
. (:name "List"
|
|
|
|
|
:shortname "List"
|
|
|
|
|
:help "Mailing list friendly name for this message"
|
|
|
|
|
:sortable :list))
|
|
|
|
|
(:message-id
|
|
|
|
|
. (:name "Message-Id"
|
|
|
|
|
:shortname "MsgID"
|
|
|
|
|
:help "Message-Id for this message"
|
|
|
|
|
:sortable nil))
|
|
|
|
|
(:path
|
|
|
|
|
. (:name "Path"
|
|
|
|
|
:shortname "Path"
|
|
|
|
|
:help "Full filesystem path to the message"
|
|
|
|
|
:sortable t))
|
|
|
|
|
(:size
|
|
|
|
|
. (:name "Size"
|
|
|
|
|
:shortname "Size"
|
|
|
|
|
:help "Size of the message"
|
|
|
|
|
:sortable t))
|
|
|
|
|
(:subject
|
|
|
|
|
. (:name "Subject"
|
|
|
|
|
:shortname "Subject"
|
|
|
|
|
:help "Subject of the message"
|
|
|
|
|
:sortable t))
|
|
|
|
|
(:tags
|
|
|
|
|
. (:name "Tags"
|
|
|
|
|
:shortname "Tags"
|
|
|
|
|
:help "Tags for the message"
|
|
|
|
|
:sortable nil))
|
|
|
|
|
(:thread-subject
|
|
|
|
|
. (:name "Subject"
|
|
|
|
|
:shortname "Subject"
|
|
|
|
|
:help "Subject of the thread"
|
|
|
|
|
:sortable :subject))
|
|
|
|
|
(:to
|
|
|
|
|
. (:name "To"
|
|
|
|
|
:shortname "To"
|
|
|
|
|
:help "Recipient of the message"
|
|
|
|
|
:sortable t)))
|
2012-11-09 16:42:25 +01:00
|
|
|
|
"An alist of all possible header fields and information about them.
|
2012-11-11 18:27:55 +01:00
|
|
|
|
This is used in the user-interface (the column headers in the header list, and
|
|
|
|
|
the fields the message view).
|
2012-11-09 16:42:25 +01:00
|
|
|
|
|
|
|
|
|
Most fields should be self-explanatory. A special one is
|
2020-04-13 10:34:31 +02:00
|
|
|
|
`:from-or-to', which is equal to `:from' unless `:from' matches
|
|
|
|
|
one of the addresses in `(mu4e-personal-addresses)', in which
|
|
|
|
|
case it will be equal to `:to'.
|
2012-11-11 18:27:55 +01:00
|
|
|
|
|
|
|
|
|
Furthermore, the property `:sortable' determines whether we can
|
2022-05-05 00:32:46 +02:00
|
|
|
|
sort by this field. This can be either a boolean (nil or t), or a
|
2012-11-11 18:27:55 +01:00
|
|
|
|
symbol for /another/ field. For example, the `:human-date' field
|
|
|
|
|
uses `:date' for that.
|
2012-07-18 16:53:04 +02:00
|
|
|
|
|
2016-11-05 11:42:28 +01:00
|
|
|
|
Note, `:sortable' is not supported for custom header fields.")
|
2013-10-05 19:09:26 +02:00
|
|
|
|
|
|
|
|
|
(defvar mu4e-header-info-custom
|
2021-05-02 22:23:11 +02:00
|
|
|
|
'(
|
|
|
|
|
;; some examples & debug helpers.
|
|
|
|
|
|
2022-01-23 09:29:45 +01:00
|
|
|
|
(:thread-path
|
|
|
|
|
. ;; Shows the internal thread-path
|
|
|
|
|
( :name "Thread-path"
|
|
|
|
|
:shortname "Thp"
|
|
|
|
|
:help "The thread-path"
|
|
|
|
|
:function (lambda (msg)
|
|
|
|
|
(let ((thread (mu4e-message-field msg :thread)))
|
|
|
|
|
(or (and thread (plist-get thread :path)) "")))))
|
|
|
|
|
|
|
|
|
|
(:thread-date
|
|
|
|
|
. ;; Shows the internal thread-date
|
|
|
|
|
( :name "Thread-date"
|
|
|
|
|
:shortname "Thd"
|
|
|
|
|
:help "The thread-date"
|
|
|
|
|
:function (lambda (msg)
|
|
|
|
|
(let* ((thread (mu4e-message-field msg :thread))
|
|
|
|
|
(tdate (and thread (plist-get thread :date-tstamp))))
|
|
|
|
|
(format-time-string "%F %T " (or tdate 0))))))
|
|
|
|
|
(:recipnum
|
|
|
|
|
.
|
|
|
|
|
( :name "Number of recipients"
|
|
|
|
|
:shortname "Recip#"
|
|
|
|
|
:help "Number of recipients for this message"
|
|
|
|
|
:function
|
|
|
|
|
(lambda (msg)
|
|
|
|
|
(format "%d"
|
|
|
|
|
(+ (length (mu4e-message-field msg :to))
|
|
|
|
|
(length (mu4e-message-field msg :cc))))))))
|
2021-05-02 22:23:11 +02:00
|
|
|
|
|
2020-02-11 12:00:46 +01:00
|
|
|
|
"A list of custom (user-defined) headers.
|
2020-02-19 19:38:42 +01:00
|
|
|
|
The format is similar to `mu4e-header-info', but adds a :function
|
|
|
|
|
property, which should point to a function that takes a message
|
|
|
|
|
plist as argument, and returns a string. See the default value of
|
|
|
|
|
`mu4e-header-info-custom for an example.
|
|
|
|
|
|
2021-03-16 18:49:27 +01:00
|
|
|
|
Note that when using the gnus-based view, you only have access to
|
|
|
|
|
a limited set of message fields: only the ones used in the
|
|
|
|
|
header-view, not including, for instance, the message body.")
|
2013-10-05 19:09:26 +02:00
|
|
|
|
|
2021-03-10 19:36:47 +01:00
|
|
|
|
;;; Internals
|
|
|
|
|
|
|
|
|
|
(defvar mu4e~headers-view-win nil
|
|
|
|
|
"The view window connected to this headers view.")
|
|
|
|
|
|
|
|
|
|
;; It's useful to have the current view message available to
|
|
|
|
|
;; `mu4e-view-mode-hooks' functions, and we set up this variable
|
|
|
|
|
;; before calling `mu4e-view-mode'. However, changing the major mode
|
|
|
|
|
;; clobbers any local variables. Work around that by declaring the
|
|
|
|
|
;; variable permanent-local.
|
|
|
|
|
(defvar mu4e~view-message nil "The message being viewed in view mode.")
|
|
|
|
|
(put 'mu4e~view-message 'permanent-local t)
|
2020-02-11 13:26:45 +01:00
|
|
|
|
;;; _
|
2012-04-09 15:34:52 +02:00
|
|
|
|
(provide 'mu4e-vars)
|
2018-11-12 21:03:28 +01:00
|
|
|
|
;;; mu4e-vars.el ends here
|