UI

NAME

Terminal::UI -- A framework for building terminal interfaces

DESCRIPTION

Terminal::UI is a framework for building user interfaces in the terminal.

This class provides routines for manipulating:

  • a screen: the top level object representing the screen

  • frames: borders around content

  • panes: scrolling regions with content

  • style: a global style

  • input: input routines

These are documented in Terminal::UI::Screen, Frame, Pane, Style, and Input respectively.

ATTRIBUTES

  • $!focused-frame (Terminal::UI::Frame)

    The currently focused frame.

  • $!input (Terminal::UI::Input)

    The object for getting input.

    Handles: get-key

  • $!interacting (Bool)

    The UI is in an interact loop

  • $!lock-focus (Bool)

    Lock the focus

  • $!screen (Terminal::UI::Screen)

    The screen object, which tracks frames and panes.

    Handles: pane, panes, frames, frame, find-frame

  • %!lock-interaction (Associative)

    Lock interaction to only a set of actions

  • %!pane-bindings (Associative)

    Key bindings for the focused pane

  • %!ui-actions (Associative)

    Actions associated with bindings.

  • %!ui-bindings (Associative[Str])

    UI bindings (not specific to a pane)

  • %!ui-sync-actions (Associative)

    Synchronous actions associated with bindings.

METHODS

Terminal::UI v0.1.13

A framework for building terminal interfaces

Authors

  • Brian Duggan

License

MIT

Dependencies

Terminal::ANSI:ver<0.0.24>Log::AsyncTerminal::ANSIParserUnicode::UTF8-Parser

Test Dependencies

Provides

  • Terminal::UI
  • Terminal::UI::Alerts
  • Terminal::UI::Frame
  • Terminal::UI::Input
  • Terminal::UI::Pane
  • Terminal::UI::Screen
  • Terminal::UI::Style
  • Terminal::UI::Utils

Documentation

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.