diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-14 13:46:33 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-14 13:46:33 +0200 |
| commit | 9fdac493c9a6e35f36dc45ff0e13583ddf88605e (patch) | |
| tree | ff561fba18bd543306b3166c8eb3591cb1d220e3 /README.md | |
| parent | d714483b6027425923340d1bcfa0263b8e7ac0bc (diff) | |
| download | qtmaildir-9fdac493c9a6e35f36dc45ff0e13583ddf88605e.tar.gz qtmaildir-9fdac493c9a6e35f36dc45ff0e13583ddf88605e.zip | |
feat: a Not spam action
Backlog item 201. A message in the Spam view had no way back out: spam is
one-way and Restore is hidden outside the trash. not_spam moves each message
to the folder its moved-from: origin names, falling back to the account's
inbox (reported) for provider-caught mail with no origin.
The action is labelled "Not junk" on the free Alt+J: every letter of "Not
spam" is taken in the Message menu, and Alt+P (Re&ply) and Alt+S (Mark &spam,
frozen) are unavailable.
restoreResolvedMessages() and the undelete_thread branch are parameterised
with the cleared tag and undo description rather than copied, so Delete and
Not spam cannot drift.
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -595,9 +595,13 @@ From: account re-seeds it only until you pick one yourself. Archive, mark-important and toggle-unread write fixed tags. Delete and spam move the file instead: each adds a fixed tag (`deleted` or `spam`) and records -the folder the file left in a `moved-from:<folder>` origin. For anything else, -**Ctrl+T** opens a dialog over the selected threads: type tags to add or -remove, separated by commas, or clear a checkbox to drop a tag already present. +the folder the file left in a `moved-from:<folder>` origin. Restore (in the +trash) and Not junk (in the spam folder) are their inverses: each moves the +message back to the folder its origin names, and mail caught by a provider with +no origin at all goes to the account's inbox, which the status line reports. For +anything else, **Ctrl+T** opens a dialog over the selected threads: type tags to +add or remove, separated by commas, or clear a checkbox to drop a tag already +present. Both fields complete against every tag in your database, which is a guard against typing `shoppping` beside `shopping`, not a restriction: a tag that does @@ -778,9 +782,9 @@ Defaults, all rebindable through `[keys]`: | `Ctrl+Q` | `quit` | Quit | Every action in this table carries a default binding, and every one appears in -a menu. Six actions carry none, because a chord for them would be arbitrary: -Check for stranded spam, Empty trash, Delete permanently, Empty spam, Edit -draft and Save message. They are reachable from the menus, and the shortcut +a menu. Seven actions carry none, because a chord for them would be arbitrary: +Check for stranded spam, Empty trash, Delete permanently, Empty spam, Not junk, +Edit draft and Save message. They are reachable from the menus, and the shortcut reference prints them as unbound. **Help > Keyboard shortcuts** lists the current bindings, generated from the actions themselves, so it shows your overrides rather than these defaults. |
