@ -1,6 +1,6 @@
|
|||||||
;;; mu4e-query-items.el --- Manage query results -*- lexical-binding: t -*-
|
;;; mu4e-query-items.el --- Manage query results -*- lexical-binding: t -*-
|
||||||
|
|
||||||
;; Copyright (C) 2023 Dirk-Jan C. Binnema
|
;; Copyright (C) 2023-2024 Dirk-Jan C. Binnema
|
||||||
|
|
||||||
;; Author: Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
;; Author: Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
||||||
;; Maintainer: Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
;; Maintainer: Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
||||||
@ -94,8 +94,8 @@ If ITEMS does not yet have a favorite item, pick the first."
|
|||||||
(defvar mu4e--bookmark-items-cached nil "Cached bookmarks query items.")
|
(defvar mu4e--bookmark-items-cached nil "Cached bookmarks query items.")
|
||||||
(defvar mu4e--maildir-items-cached nil "Cached maildirs query items.")
|
(defvar mu4e--maildir-items-cached nil "Cached maildirs query items.")
|
||||||
|
|
||||||
(declare-function mu4e-bookmarks "mu4e-bookmarks")
|
(declare-function mu4e-bookmarks "mu4e-bookmarks")
|
||||||
(declare-function mu4e-maildir-shortcuts "mu4e-folders")
|
(declare-function mu4e-maildir-shortcuts "mu4e-folders")
|
||||||
|
|
||||||
(defun mu4e--query-item-display-counts (item)
|
(defun mu4e--query-item-display-counts (item)
|
||||||
"Get the count display string for some query-data ITEM."
|
"Get the count display string for some query-data ITEM."
|
||||||
@ -222,18 +222,32 @@ bookmark or maildir."
|
|||||||
data))
|
data))
|
||||||
|
|
||||||
(defun mu4e-query-items (&optional type)
|
(defun mu4e-query-items (&optional type)
|
||||||
"Grab query items of TYPE.
|
"Grab cached information about query items of some TYPE.
|
||||||
|
|
||||||
TYPE is symbol; either bookmarks or maildirs, or nil for both.
|
TYPE is a symbol; either `bookmarks' or `maildirs', or nil for
|
||||||
|
both, and returns a list of plists. The information is based on
|
||||||
|
the last (cached) information known by mu4e.
|
||||||
|
|
||||||
This combines:
|
This combines:
|
||||||
- the latest queries data (i.e., `(mu4e-server-query-items)')
|
- the latest queries data (i.e., `(mu4e-server-query-items)')
|
||||||
- baseline queries data (i.e. `mu4e-baseline')
|
- baseline queries data (i.e. `mu4e-baseline') with the combined
|
||||||
with the combined queries for `(mu4e-bookmarks)' and
|
queries for `mu4e-bookmarks' and `mu4e-maildir-shortcuts' in
|
||||||
`(mu4e-maildir-shortcuts)' in bookmarks-compatible plists.
|
bookmarks-compatible plists.
|
||||||
|
|
||||||
This packages the aggregated information in a format that is convenient
|
Currently, the plist contains the following fields:
|
||||||
for use in various places."
|
- `:name' - the name of the bookmark or query
|
||||||
|
- `:query' - the associated (unprocessed) query
|
||||||
|
- `:count' - number of matches for the query
|
||||||
|
- `:unread' - number of unread messages for the query
|
||||||
|
- `:delta-count' - change in count since baseline
|
||||||
|
- `:delta-unread' - change in unread count since baseline
|
||||||
|
- `:favorite' - non-nil if this is the favorite query
|
||||||
|
|
||||||
|
There are some other fields for internal mu4e use, better not use
|
||||||
|
those externally.
|
||||||
|
|
||||||
|
For the various nuances with the unread count and baseline,
|
||||||
|
please refer to info node `(mu4e) Bookmarks and Maildirs'."
|
||||||
(cond
|
(cond
|
||||||
((equal type 'bookmarks)
|
((equal type 'bookmarks)
|
||||||
(or mu4e--bookmark-items-cached
|
(or mu4e--bookmark-items-cached
|
||||||
|
|||||||
Reference in New Issue
Block a user