Expand description
One terminal per seat: the PTY, the screen model, the OSC 133 scanner and the shell integration scripts.
A leaf. It knows nothing about a seat key, a socket or a session: one value per terminal, spawned with a shell, a cwd and an environment, and a small interface - write, resize, close, read the screen, read the state, and subscribe to the output. The workspace keys it by the slot; the server carries its bytes; the client draws them.
alacritty_terminal owns the PTY, the parser, Term with reflow and
scrollback, and the event types. The event loop is forge’s own, because
the client’s stream is the raw bytes and the event loop consumes them.
Re-exports§
pub use keys::Key;pub use osc::Mark;pub use osc::Marks;pub use osc::Osc133;pub use screen::Cursor;pub use screen::ReadResult;pub use screen::Screen;pub use state::Exit;pub use state::InputExpected;pub use state::InputKind;pub use state::Source;pub use state::State;pub use terminal::Error;pub use terminal::OutputChunk;pub use terminal::Terminal;pub use terminal::TerminalConfig;
Modules§
- keys
- The named keys an agent may press, and the bytes each one sends.
- osc
- The OSC 133 scanner: exact command marks from the shell’s own integration.
- parser 🔒
- The parser’s view of the screen, with the one count the grid cannot give.
- repaint
- The attach repaint: the visible screen as a VT stream a client can draw.
- screen
- The screen as text: what the agent reads, and what a reattaching client is repainted from.
- shell
- The shell integration scripts, and how a shell is started with them.
- state
- What the terminal is doing, as the agent reads it.
- terminal
- One terminal: the PTY, the screen model, the read loop and the small interface a seat drives.