Skip to content

Search

Press / (or Cmd+/) to open the search popup. It shows live results as you type, ranked by recency, against the SQLite + FTS5 index in your local store.

Query syntax

Durian uses notmuch-style queries — terms are ANDed by default; OR and NOT are explicit.

TermMatches
inboxFree text in subject/body
tag:inboxTagged with inbox
from:alice@example.comSender contains substring
to:me@you.comRecipient contains substring
subject:invoiceSubject contains substring
header:list-id:Header present (any value)
header:x-spam-score:5Header value contains substring
has:attachmentHas any attachment
has:attachment:pdfHas a PDF attachment
path:Work/ProjectsIMAP folder path
group:vipAnyone in the vip group
group:investor/fromMail FROM the group
group:investor/toMail TO the group
date:todayToday
date:1w..Last week
date:2024-01-01..2024-06-30Date range

Combine freely:

group:vip AND tag:unread
from:boss@company.com AND has:attachment:pdf
subject:contract AND date:6m.. AND NOT tag:sent

Popup keymap

KeyAction
EnterOpen the highlighted thread
Ctrl+J / Ctrl+NNext result
Ctrl+K / Ctrl+PPrevious result
EscapeClose popup

Saving searches

Any query can become a sidebar folder by adding it to profiles.pkl:

new { name = "Unread VIPs"; icon = "star"; query = "group:vip AND tag:unread" }

See Sidebar & Profiles.

Counts

The result count next to a folder reflects the same query — sidebar badges are just GET /search/count calls under the hood.