raku-terminal-ui/lib/Terminal/UI/Pane.md -rw-r--r-- 9.5 KiB
a6756aeeBrian Duggan fix resize bug (no color) 22 days ago


Terminal::UI::Pane -- An area that contains scrollable text


A pane is a text area that can scroll. It also has as registry of actions, which may be referenced by name.


  • $!auto-scroll (Bool)

    Scroll automatically when putting a new line?

  • $!current-line (Int)

    Index into @.lines (negative if we scrolled down): currently selected line

  • $!first-visible (Int)

    Index into @.lines (negative if we scrolled down): first line in the pane

  • $!focusable (Bool)

    Is it focusable?

  • $!focused (Bool)

    Whether this pane is currently focused

  • $!frame (Mu)

    The frame associated with this pane

    Handles: screen

  • $!height (Terminal::UI::Pane::UInt)

    Number of rows in the pane

  • $!left (Terminal::UI::Pane::UInt)

    Absolute left edge of the pane (default: left of the frame + 1)

  • $!name (Mu)

    Optional descriptive name

  • $!selectable (Bool)

    Can lines be selected?

  • $!style (Mu)

    Style singleton

    Handles: colors

  • $!top (Terminal::UI::Pane::UInt)

    Absolute top of the pane (default: top of the frame + 1)

  • $!width (Terminal::UI::Pane::UInt)

    Number of columns

  • %!actions (Associative[Callable:D])

    A set of callable actions

  • %!sync-actions (Associative)

    A set of callable actions which will be called synchronously

  • @!lines (Positional)

    Lines of content: exactly what is sent to the screen (including formatting characters)

  • @!meta (Positional)

    Metadata for each line

  • @!raw (Positional)

    Lines of raw content: unformatted, contains arrays sent to the put method