Start

Package map

Choose the headless core, rendering layers, native controls, and addons that match your application boundary.

Package map

XtermSharp keeps the common package headless. Graphics, UI frameworks, system clipboard access, and optional terminal behavior arrive through separate packages.

Core and rendering

Package Purpose UI dependency
XtermSharp.Core VT parser, buffers, immutable snapshots, input encoding, links, selection, decorations, and addon contracts None
XtermSharp.Rendering Themes, geometry, damage tracking, selection resolution, and backend-neutral display lists None
XtermSharp.Rendering.Skia SkiaSharp/HarfBuzz shaping, font fallback, retained rows, and telemetry overlay SkiaSharp

Start with XtermSharp.Core for services, tests, transcript processing, or a custom renderer. Applications normally reference a platform package directly; its transitive references provide the shared rendering layers.

Platform controls

Package Application target Presentation
XtermSharp.Avalonia Avalonia 12 Current Avalonia Skia lease, with software fallback
XtermSharp.Maui Android, iOS, Mac Catalyst, Windows SKGLView, with SKCanvasView fallback
XtermSharp.WinForms net10.0-windows Optional OpenTK surface, with DPI-aware software fallback
XtermSharp.Wpf net10.0-windows OpenTK/WPF surface, with WriteableBitmap fallback
XtermSharp.WinUI WinUI 3 ANGLE-backed SKSwapChainPanel, with WriteableBitmap fallback

Every TerminalView consumes an externally assigned Terminal. None of the controls owns or disposes the terminal or its transport. See platform controls for setup and runtime render-mode behavior.

Addons

Package Behavior Extra platform dependency
XtermSharp.Addons.WebLinks Validated URL detection, wrapped ranges, activation, hover, and leave callbacks None
XtermSharp.Addons.Search Forward/reverse text or regex search, selection, result tracking, and decorations None
XtermSharp.Addons.Progress Strict OSC 9;4 parsing and normalized progress state None
XtermSharp.Addons.Clipboard Policy-controlled OSC 52 read/write handling Provider supplied by application or platform adapter

Addons depend on the core, not on rendering. A headless service can query links or search state, while a native control consumes the same link and decoration contracts automatically.

Install a package

All packages currently use the same prerelease version:

dotnet add package XtermSharp.Avalonia --version 0.1.0-alpha.1
dotnet add package XtermSharp.Addons.Search --version 0.1.0-alpha.1

Avoid referencing every package as a bundle. Select one platform control and only the addons your session policy permits.

What is intentionally separate

XtermSharp does not ship a process launcher, PTY, SSH transport, browser renderer, WebGL backend, or automatic OSC 8 URI opener. Those capabilities require application-specific lifetime, security, and platform decisions and remain outside the common terminal engine.

Documentation

Search XtermSharp

Start typing to search the documentation.