DevelopmentAll versions
On this page

KetraTerm Headless

ketraterm-headless is the dependency entry point for a terminal host that supplies its own transport and presentation. It brings in the terminal pipeline and TerminalSession through dependency metadata; it contains no runtime code.

The libraries require Java 25. See library compatibility for compiler and runtime requirements.

Installation

Import the BOM and select the headless entry point:

dependencies {
    implementation(platform("io.github.ketraterm:ketraterm-bom:{version}"))
    implementation("io.github.ketraterm:ketraterm-headless")
}

See the root setup guide for repositories and version selection.

For Maven, import the BOM in dependencyManagement, then declare this dependency with POM type:

<dependency>
  <groupId>io.github.ketraterm</groupId>
  <artifactId>ketraterm-headless</artifactId>
  <type>pom</type>
</dependency>

Included modules

The entry point brings in session and its parser, core, input, transport, and rendering dependencies.

For a running terminal, implement a TerminalConnector and follow the session example. The connector delivers ordered raw bytes; the session owns terminal parsing, mutation, and outbound ordering. A renderer copies borrowed frame data during session read callbacks.

Add PTY support for local processes and shell integration for KetraTerm's OSC metadata producer when needed. For a Swing view, choose the Swing entry point. Individual modules remain available for hosts that assemble a smaller pipeline.