diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-20 12:16:36 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-20 12:16:36 +0200 |
| commit | 0a67757fa488b204da908803d99784c41c87dc29 (patch) | |
| tree | d1d18b674869b2ce49464d1c718feedef021598f /src/messageview.h | |
| parent | e81e4f09a6a40162d0041253a35777e547d4dd81 (diff) | |
| download | qtmaildir-0a67757fa488b204da908803d99784c41c87dc29.tar.gz qtmaildir-0a67757fa488b204da908803d99784c41c87dc29.zip | |
docs: specify compose and send, item 123
Brainstormed with the user. Design only, no code, which is what the
item's #plan-only tag asked for.
The decision that shaped everything: there is no MTA on the machine, so
"an external script on the same model as mailsync.sh" had no model to
copy. Send becomes a per-account send_command taking the message on
stdin, exactly as [sync] command already works, which keeps the
no-network-protocol rule intact without naming an MTA.
An account with no send_command is receive-only by construction, which
is how one of the five accounts is meant to work. Reply, reply-all and
forward are disabled on its mail behind a ribbon that says why.
The body is markdown parsed by cmark-gfm rather than a hand-written
parser for a limited set: the two share no code, so the small one is
deleted wholesale the moment the set widens.
Four new units, three of them widget-free and testable without a
painter. MessageSender is deliberately a separate unit rather than a
method on the composer, so a future outbox wraps the funnel instead of
reworking it.
Item 123's section is replaced by a pointer to the spec, per this
document's own rule for a fully specified item. The brainstorm opened
items 128 to 132, including a review of the every-action-has-a-shortcut
rule, which the user raised: six more actions takes it past the point
where a chord for everything is useful.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDq53rMd3AQp7QmcZzpuBM
Diffstat (limited to 'src/messageview.h')
0 files changed, 0 insertions, 0 deletions
