app library TUI

Stable app-shell entrypoint for terminal widget apps.

Prefer this library when you want the supported hosting surface without pulling in the full widget namespace:

  • WidgetApp
  • ArtisanalApp
  • reload helpers and file-watcher support

This entrypoint also exposes runWidgetApp, serveWidgetApp, transport selection, and widget-oriented program defaults.

Classes

ArtisanalApp
A high-level root shell for artisanal widget applications.
ReloadController
Controller for development-time subtree reloads.
ReloadFileWatcher
ReloadHost
Rebuildable host for development-time reloads.
ReloadScope
Exposes a ReloadController to descendant widgets.
ReloadSignal
One reload signal emitted by ReloadController.
WidgetApp
Runs a widget tree using an element hierarchy.

Enums

ImageAutoMode
Controls how ImageRenderMode.auto chooses a rendering backend.
ReloadMode
The kind of reload requested through ReloadController.
ThemeMode
Controls how ArtisanalApp resolves its shell theme.
Transport
Transport selection for serveWidgetApp.

Properties

defaultWidgetProgramOptions → ProgramOptions
Default ProgramOptions for widget apps.
final

Functions

runWidgetApp(Object app, {Object? options, Object? host, Object? imageAutoMode, Object? browserOptions}) Future<void>
serveWidgetApp({required Object appBuilder(), Object transport = Object, int port = 2323, Object? imageAutoMode, Object? options, Object? address, String pagePath = '/', String webSocketPath = '/ws', String browserTitle = 'Artisanal Widget Host', String? pageHtml, bool v6Only = false, bool shared = false, Object? initialSize, bool supportsAnsi = true, Object? colorProfile}) Future<void>

Typedefs

ReloadWidgetBuilder = Widget Function(BuildContext context, int revision)
Builder used by ReloadHost.