Repository navigation
en Terminal
Yazi's pinned terminal crates own input parsing, terminal capabilities, the TTY writer, and restoration. Ratatui draws using that writer; Crossterm supplies its output backend, not a second input reader. Paste, focus, mouse, resize, enhanced key reports, and associated Unicode text enter one application event stream.
Shift-Enter requires a terminal that reports it separately. Ctrl-J is the newline fallback. Function keys or Alt combinations can also be intercepted by your terminal or desktop; choose another binding in Lua. Ctrl-L redraws the screen after graphical corruption.
Yazi chooses the graphics protocol. ratatui-image renders multiple inline
images and clips them while scrolling. Ghostty/Kitty can use Kitty graphics;
iTerm2/WezTerm can use inline images; Sixel is used where detected. Other terminals
fall back to Unicode half-blocks without an external image-overlay process.
Actual selection depends on reported capabilities and any multiplexer in between.
Decoding applies EXIF orientation and retains upstream ICC-to-sRGB conversion. Image decoding/encoding runs away from the UI thread. Only visible encoded images are retained, and resizing or overlays clear affected image areas. Animated stickers use a static thumbnail. For downloads and retry behavior, see Attachments.
By default Termgram uses tmux's reported capabilities. To opt into Yazi's second-stage terminal probe, set this in the shell environment before launch:
TERMGRAM_TMUX_PASSTHROUGH=1 tgThis calls upstream tmux setup, setting the pane's allow-passthrough=all and
the server's input-buffer-size=104857600. Those settings remain after Termgram
exits. This option is read before the Telegram credentials .env is loaded.
The app restores terminal modes on normal exit, initialization failure and the panic hook. One owner coordinates text and graphics cleanup. Upstream revisions, licenses, and small adaptations are recorded in vendor provenance.
Cmd-V (when forwarded), Ctrl-V, Alt-V, Ctrl-Alt-V and :paste use arboard on a background thread locally. Over SSH they request the terminal clipboard when OSC 5522 is supported. Terminal MIME paste reuses Yazi’s parser and formatter, with request IDs and bounded transfers. The terminal owner enables and restores the negotiated mode. Disable it with attachments.terminal_clipboard = false. Ordinary text paste remains supported. Backend details, limits and WSL/SSH behavior: Attachments.
English
- Appearance
- Attachments and file previews
- Chat discovery and details
- Commands
- Lua configuration
- Development and architecture
- Telegram folders
- Get started
- Termgram guide
- Keybindings
- Notifications and mute settings
- Pinned chats and messages
- Polls and quizzes
- Message reactions
- Search messages
- Sticker panel
- Cache and synchronization
- Terminal integration
- Daily workflows
- Updates and releases
简体中文