# telecli src/tui.rs — chat layout and modal keys ## Metadata | Field | Value | |---|---| | Institute | Molodetz Institute — Research & Retrieval Division | | Subject | tui-framework-design | | Document type | Source Dossier | | Tier | 1 | | Source title | telecli src/tui.rs — ratatui/crossterm Telegram client TUI | | Source URL | https://raw.githubusercontent.com/s3r1msultan/telecli/main/src/tui.rs | | Source publisher / author | s3r1msultan (telecli 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 A single-file ratatui Telegram client UI: a fixed 30/70 horizontal split with a chat list plus 3-row help bar on the left and messages plus a 3-row input on the right, a 1-line status overlay at the bottom, and modal Normal/Input key handling. There is no resize handling. ## Key findings - Layout is a fixed horizontal `Percentage(30)` / `Percentage(70)` split; left pane holds a chat `List` plus a 3-row help bar, right pane holds messages (`Min(0)`) plus a `Length(3)` input. - Status is drawn as a 1-line bottom overlay rect showing `status | Mode`. - Modal keys: `j`/`k`/Up/Down navigate chats, `i`/Enter enters input mode, Esc cancels, Enter sends, `s`/`w` or PgUp/PgDn scroll by 10 lines, `r` refreshes, `?` shows hints, `q` then `y`/`n` quits. - Messages render as rows of the form `-> text [HH:MM]`; outgoing messages are green. ## Pros / strengths - Minimal complete precedent for a Telegram-like layout in a single file: split ratios, pane contents, and status overlay are all directly copyable numbers. - Modal Normal/Input separation keeps chat navigation keys from colliding with typing. ## Cons / limitations / caveats - No resize or narrow-terminal handling at all; the 30/70 split is unconditional. - Single-file scope means no theming, no focus-cycle across panes, no streaming or markdown handling to learn from. ## Relevance to tai - Supplies the base layout numbers for tai's chat scene (30/70 split, 3-row input, 1-line status overlay) and the modal Normal/Input key pattern adopted in 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). |