Package org.apache.juneau.terminal.region
package org.apache.juneau.terminal.region
Raw command output in the browser: a byte-offset endpoint over a
TerminalSource
and an xterm.js panel that renders it the way a terminal would.
TerminalMixin serves /juneau-terminal/{id}/bytes and
/raw, plus this module's juneau-terminal.js and .css. Sources:
FileTerminalSource tails a log with a .size sidecar;
MemoryTerminalSource is a ring buffer for in-process producers.
TerminalProcess runs a tool under a pseudo-terminal through
juneau_terminal.py --pty and exposes both its bytes and its terminal-view step events.
On a console page, <@card type="terminal"> (see TerminalDef)
mounts the panel; the terminal toolkit pack loads xterm.js from the org.webjars.npm:xterm__xterm WebJar.
-
ClassDescriptionA
TerminalSourcethat tails one growing log file of raw terminal bytes.Builder forFileTerminalSource.ATerminalSourceover a fixed-capacity ring buffer, for producers that run in the same process.The app's single answer to "who may watch" and "who may type".A transport-neutral view of who is asking.One read from aTerminalSource.The options of aterminalcard: where its bytes and (optionally) its step events come from.Static helpers that implement the terminal endpoints and serve the terminal runtime.Mixin interface that serves the terminal bytes and raw endpoints, plus this module's own JS and CSS.Receives a notice that a terminal's bytes have grown.Runs one tool under a pseudo-terminal throughjuneau_terminal.py --ptyand exposes its output as aFileTerminalSourceand its steps as aFileTerminalViewSource.Receives a script's prompt lines from aTerminalProcessstarted with a prompt channel.Where a caller's keystrokes go: the input end of one running terminal job.A growing stream of raw terminal bytes, read by absolute byte offset.