2.1 KiB
2.1 KiB
za-tui widgets/input_bar.py — multiline input behavior
Metadata
| Field | Value |
|---|---|
| Institute | Molodetz Institute — Research & Retrieval Division |
| Subject | tui-framework-design |
| Document type | Source Dossier |
| Tier | 1 |
| Source title | za-tui widgets/input_bar.py — input bar widget (Textual Zalo client) |
| Source URL | https://raw.githubusercontent.com/buihongduc132/za-tui/main/src/za_tui/widgets/input_bar.py |
| Source publisher / author | buihongduc132 (za-tui 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 multiline TextArea-based input bar: Enter sends, Shift+Enter inserts a newline, with a 2000-character cap, a 100-entry send history on up/down, a 3-second typing-notification throttle, and a reply-quote slot. The fullest input-behavior precedent of the three messaging clients.
Key findings
- Enter sends the message; Shift+Enter inserts a newline.
- Messages are capped at 2000 characters; up/down recall from a 100-entry history.
- Typing notifications are throttled to one per 3 seconds; the bar holds a reply-quote slot for quoted replies.
Pros / strengths
- Complete input contract in one place: send/newline split, cap, history, typing signal, reply quoting — all directly adoptable numbers.
- The 2000-char cap and 100-entry history are concrete defaults tai would otherwise have to invent.
Cons / limitations / caveats
- Typing throttle and reply-quote slot assume a chat-server backend; tai's agent-turn context may need different semantics for both.
Relevance to tai
- Supplies the input contract (Enter send, Shift+Enter newline, 2000-char cap, send history) 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). |