2.2 KiB
2.2 KiB
send-rs src/tui/mod.rs — main draw loop and pane split
Metadata
| Field | Value |
|---|---|
| Institute | Molodetz Institute — Research & Retrieval Division |
| Subject | tui-framework-design |
| Document type | Source Dossier |
| Tier | 1 |
| Source title | send-rs src/tui/mod.rs — main draw function (WhatsApp+Telegram ratatui client) |
| Source URL | https://raw.githubusercontent.com/pedromarquetti/send-rs/master/src/tui/mod.rs |
| Source publisher / author | pedromarquetti (send-rs / Sender project) |
| Source type | repository |
| Source date (published) | Unknown — not stated |
| Date researched | 2026-10-11 |
| Researched by | tai (agent), model: Muse Spark, on behalf of retoor |
| Research method | direct page fetch |
| Confidence | Medium |
| Status | Active |
Summary
The top-level draw function of a ratatui messaging client: a vertical split giving the main area all but one row (Fill(1) + Length(1) status row) with the main area itself split 30/70 between chat list and conversation. The focused pane gets a provider-accent border; unfocused panes do not.
Key findings
draw_mainsplits vertically intoFill(1)main content plus aLength(1)status row, then splits the main area horizontally 30% / 70%.- Only the focused pane carries a provider-accent border; inactive panes render without the accent, making focus visible at a glance.
Pros / strengths
- Clean separation of layout (this file) from focus state, status content, and message rendering (sibling modules), so each piece can be studied alone.
- Focus-indicating border accent is a cheap, effective focus signal worth copying.
Cons / limitations / caveats
- This file alone shows only the split skeleton; focus, status text, and message rows live in sibling modules and must be read with it.
- No narrow-terminal breakpoint; the 30/70 split is unconditional.
Relevance to tai
- Confirms the 30/70 + 1-line-status skeleton as the shared convention across inspected ratatui messaging clients, and contributes the focused-pane-accent pattern to the messaging-layout conclusion.
Changelog
| Date | Change |
|---|---|
| 2026-10-11 | Initial dossier created from 2026-10-11 research-pass evidence (body opened via web_fetch by researching agent). |