module

Tui

Main application class

Constants

BORDERS = {BorderStyle::Light => BorderChars.new(h: '─', v: '│', tl: '┌', tr: '┐', bl: '└', br: '┘', t_down: '┬', t_up: '┴', t_right: '├', t_left: '┤', cross: '┼'), BorderStyle::Heavy => BorderChars.new(h: '━', v: '┃', tl: '┏', tr: '┓', bl: '┗', br: '┛', t_down: '┳', t_up: '┻', t_right: '┣', t_left: '┫', cross: '╋'), BorderStyle::Double => BorderChars.new(h: '═', v: '║', tl: '╔', tr: '╗', bl: '╚', br: '╝', t_down: '╦', t_up: '╩', t_right: '╠', t_left: '╣', cross: '╬'), BorderStyle::Round => BorderChars.new(h: '─', v: '│', tl: '╭', tr: '╮', bl: '╰', br: '╯', t_down: '┬', t_up: '┴', t_right: '├', t_left: '┤', cross: '┼'), BorderStyle::Ascii => BorderChars.new(h: '-', v: '|', tl: '+', tr: '+', bl: '+', br: '+', t_down: '+', t_up: '+', t_right: '+', t_left: '+', cross: '+')}

Border character sets for each style

VERSION = "0.1.0"

Class methods

border_chars(style : BorderStyle) : BorderChars

Get border characters for a style

Source
clear_scrollbar_overlays

Clear scrollbar overlays (called at start of each frame)

Source
css_error

Last CSS error (for error overlay)

Source
css_error=(css_error : NamedTuple(path: String, error: String) | Nil)

Last CSS error (for error overlay)

Source
current_app
Source
current_app=(current_app : App | Nil)
Source
dev_mode=(dev_mode : Bool)

Dev mode - enables hot reload and debug features Set via TUI_DEV=1 environment variable or programmatically

Source
dev_mode?

Dev mode - enables hot reload and debug features Set via TUI_DEV=1 environment variable or programmatically

Source
overlays

Module-level overlay storage (shared across all App subclasses)

Source
register_scrollbar

Register a scrollbar to be drawn at end of frame

Source
scrollbar_overlays

Scrollbar overlay registry - drawn after all widgets, before regular overlays This ensures scrollbars are never overwritten by content Cleared each frame before render, widgets register during their render

Source
theme
Source
theme=(theme : Theme)
Source

Nested types