52 lines
2.4 KiB
Markdown
52 lines
2.4 KiB
Markdown
# 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). |
|