~bduggan/raku-terminal-ui

dfb17f03cc35aed5d0ecc0f38ae9e6404a01c687 — Brian Duggan a month ago 22f19d1 master 0.1.2
0.1.2
M META6.json => META6.json +1 -1
@@ 28,5 28,5 @@
  "test-depends": [
    "Test"
  ],
  "version": "0.1.1"
  "version": "0.1.2"
}

M lib/Terminal/UI.md => lib/Terminal/UI.md +30 -30
@@ 69,27 69,27 @@ These are documented in Terminal::UI::Screen, Frame, Pane, Style, and Input resp

### METHODS

* [**add-screen**(Terminal::UI: |args --> Terminal::UI::Screen)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L215)
* [**add-screen**(Terminal::UI: |args --> Terminal::UI::Screen)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L215)

  Add a screen to the ui. Arguments are sent to the Screen contructor

* [**alert**(Terminal::UI: @lines, Int :$pad = 0, Bool :$center = Bool::True, Bool :$center-values = Bool::True, Str :$title, :@values = Code.new, :@meta, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Alerts.rakumod#L14)
* [**alert**(Terminal::UI: @lines, Int :$pad = 0, Bool :$center = Bool::True, Bool :$center-values = Bool::True, Str :$title, :@values = Code.new, :@meta, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Alerts.rakumod#L18)

  Show an alert box, and wait for a key press to dismiss it.

* [**bind**(Terminal::UI: "pane", :$name, *%kv)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L261)
* [**bind**(Terminal::UI: "pane", :$name, *%kv)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L261)

  Bind keys to events on the focused pane.

* [**bind**(Terminal::UI: *%kv)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L277)
* [**bind**(Terminal::UI: *%kv)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L277)

  Bind keys to UI events, independent of the focused pane.

* [**call**(Terminal::UI: Str $action, :$arg, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L361)
* [**call**(Terminal::UI: Str $action, :$arg, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L361)

  Call the action with the given name.

* [**draw**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L88)
* [**draw**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L88)

  Synonym for refresh



@@ 97,27 97,27 @@ These are documented in Terminal::UI::Screen, Frame, Pane, Style, and Input resp

  Handled by $!screen

* [**focus**(Terminal::UI: Str :$frame!, Int :$pane!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L105)
* [**focus**(Terminal::UI: Str :$frame!, Int :$pane!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L105)

  Set a pane and frame to be focused, using the name of the frame.

* [**focus**(Terminal::UI: Str :$pane where { ... }, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L112)
* [**focus**(Terminal::UI: Str :$pane where { ... }, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L112)

  Set the next pane to be focused.

* [**focus**(Terminal::UI: Int :$pane, Int :$frame = 0, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L142)
* [**focus**(Terminal::UI: Int :$pane, Int :$frame = 0, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L142)

  Set a pane and frame to be focused, using the indexes (default 0,0).

* [**focus**(Terminal::UI: Terminal::UI::Frame $frame, Int :$pane = 0, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L150)
* [**focus**(Terminal::UI: Terminal::UI::Frame $frame, Int :$pane = 0, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L150)

  Set a pane and frame to be focused, using the frame.

* [**focus**(Terminal::UI: Terminal::UI::Frame $frame, Terminal::UI::Pane :$pane!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L158)
* [**focus**(Terminal::UI: Terminal::UI::Frame $frame, Terminal::UI::Pane :$pane!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L158)

  Set a pane and frame to be focused, using the frame.

* [**focused**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L78)
* [**focused**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L78)

  The currently focused pane within the currently focused frame.



@@ 133,27 133,27 @@ These are documented in Terminal::UI::Screen, Frame, Pane, Style, and Input resp

  Handled by $!input

* [**help-text**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L388)
* [**help-text**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L388)

  Auto generated help text, based on bindings

* [**interact**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L311)
* [**interact**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L311)

  Respond to keyboard input, until we are done

* [**keys**(Terminal::UI: Str :$done, *%_ --> Supply)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L229)
* [**keys**(Terminal::UI: Str :$done, *%_ --> Supply)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L229)

  a Supply of keyboard input; ends when $done is seen.

* [**log**(Terminal::UI: Str $file, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L223)
* [**log**(Terminal::UI: Str $file, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L223)

  Starting logging to a file.

* [**on**(Terminal::UI: *%actions)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L338)
* [**on**(Terminal::UI: *%actions)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L338)

  Associate names of actions with callables.

* [**on-sync**(Terminal::UI: *%actions)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L349)
* [**on-sync**(Terminal::UI: *%actions)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L349)

  Associate names of actions with synchronous callables.



@@ 165,50 165,50 @@ These are documented in Terminal::UI::Screen, Frame, Pane, Style, and Input resp

  Handled by $!screen

* [**pause-and-do**(Terminal::UI: &code, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L410)
* [**pause-and-do**(Terminal::UI: &code, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L410)

  Pause the ui, run some code, and then restart

* [**quietly**(Terminal::UI: &code, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L381)
* [**quietly**(Terminal::UI: &code, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L381)

  Suppress warnings and run code

* [**refresh**(Terminal::UI: Bool :$hard, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L93)
* [**refresh**(Terminal::UI: Bool :$hard, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L93)

  Refresh the screen, the frames, and their panes.

* [**select-down**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L256)
* [**select-down**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L256)

  Move down one line in the selected pane of the selected frame

* [**select-up**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L251)
* [**select-up**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L251)

  Move up one line in the selected pane of the selected frame

* [**selected-meta**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L241)
* [**selected-meta**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L241)

  The current metadata for the selected pane, within the selected frame

* [**setup**(Terminal::UI: :$pane!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L165)
* [**setup**(Terminal::UI: :$pane!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L165)

  Set up with a single pane

* [**setup**(Terminal::UI: Callable :&heights!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L178)
* [**setup**(Terminal::UI: Callable :&heights!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L178)

  Set up with a callback with one frame that computes heights based on the total available height

* [**setup**(Terminal::UI: Int :$panes!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L194)
* [**setup**(Terminal::UI: Int :$panes!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L194)

  Set up with a number of panes; evenly sized.

* [**setup**(Terminal::UI: :$ratios!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L201)
* [**setup**(Terminal::UI: :$ratios!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L201)

  Set up with panes that have the given ratios.

* [**shutdown**(Terminal::UI: $msg = Nil, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L209)
* [**shutdown**(Terminal::UI: $msg = Nil, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L209)

  Shut down the UI, and optionally emit a message.

* [**style**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI.rakumod#L246)
* [**style**(Terminal::UI: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI.rakumod#L246)

  The global style object

M lib/Terminal/UI.rakumod => lib/Terminal/UI.rakumod +1 -1
@@ 19,7 19,7 @@ sub EXPORT($ui = Nil) {
  %h;
}

unit class Terminal::UI:ver<0.1.1>;
unit class Terminal::UI:ver<0.1.2>;

also does Terminal::UI::Alerts;


M lib/Terminal/UI/Frame.md => lib/Terminal/UI/Frame.md +14 -14
@@ 59,58 59,58 @@ A frame is like a window frame -- it represents the border, and may have several

### METHODS

* [**add-divider**(Terminal::UI::Frame: Int $line where { ... }, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L64)
* [**add-divider**(Terminal::UI::Frame: Int $line where { ... }, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L64)

  Add a divider to the frame at the given row (between 1 and height)

* [**add-pane**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L130)
* [**add-pane**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L130)

  Create a single pane for this frame

* [**add-panes**(Terminal::UI::Frame: :$ratios!, :$height-computer, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L139)
* [**add-panes**(Terminal::UI::Frame: :$ratios!, :$height-computer, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L139)

  Add multiple panes with the given height ratios

* [**add-panes**(Terminal::UI::Frame: :$heights! is copy, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L184)
* [**add-panes**(Terminal::UI::Frame: :$heights! is copy, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L184)

  Add multiple panes with the given heights, and optionally a callback for computing heights

* [**available-rows**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L212)
* [**available-rows**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L212)

  Number of available rows: height - 2 - (number of dividers - 1)

* [**bottom**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L54)
* [**bottom**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L54)

  The row of the bottom (top + height - 1)

* [**check**(Terminal::UI::Frame: @panes, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L70)
* [**check**(Terminal::UI::Frame: @panes, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L70)

  Validate that the heights of the panes + the dividers add up

* [**draw**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L94)
* [**draw**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L94)

  Draw or refresh this frame

* [**draw-side**(Terminal::UI::Frame: $h, Bool :$hl = Bool::False, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L113)
* [**draw-side**(Terminal::UI::Frame: $h, Bool :$hl = Bool::False, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L113)

  Draw only the sides, of a particular row

* [**focus**(Terminal::UI::Frame: Terminal::UI::Pane $pane, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L220)
* [**focus**(Terminal::UI::Frame: Terminal::UI::Pane $pane, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L220)

  Change focus to a particular pane in this frame

* [**handle-resize**(Terminal::UI::Frame: :$from-width, :$from-height, :$to-width, :$to-height, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L233)
* [**handle-resize**(Terminal::UI::Frame: :$from-width, :$from-height, :$to-width, :$to-height, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L233)

  Handle a resize of the screen

* [**pane**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L265)
* [**pane**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L265)

  If there is only one pane, return it.

* [**print-line**(Terminal::UI::Frame: $h, $str, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L123)
* [**print-line**(Terminal::UI::Frame: $h, $str, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L123)

  Print a single line of output in the frame, including the borders.

* [**right**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Frame.rakumod#L59)
* [**right**(Terminal::UI::Frame: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Frame.rakumod#L59)

  The rightmost column (left + width - 1)

M lib/Terminal/UI/Input.md => lib/Terminal/UI/Input.md +3 -3
@@ 15,14 15,14 @@ Get keyboard input.

### METHODS

* [**get-key**(Terminal::UI::Input: Bool :$decode = Bool::True, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Input.rakumod#L32)
* [**get-key**(Terminal::UI::Input: Bool :$decode = Bool::True, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Input.rakumod#L32)

  Get a single key, and optionally debug the bytes into a character. Escape sequences are parsed by Terminal::ANSI::parse-input.

* [**init**(Terminal::UI::Input: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Input.rakumod#L19)
* [**init**(Terminal::UI::Input: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Input.rakumod#L19)

  Initialize input (called implicity if necessary)

* [**shutdown**(Terminal::UI::Input: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Input.rakumod#L25)
* [**shutdown**(Terminal::UI::Input: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Input.rakumod#L25)

  Stop reading from the tty, and reset things

M lib/Terminal/UI/Pane.md => lib/Terminal/UI/Pane.md +40 -40
@@ 87,15 87,15 @@ A pane is a text area that can scroll. It also has as registry of actions, which

### METHODS

* [**bottom**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L76)
* [**bottom**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L76)

  Absolute bottom (top + height)

* [**call**(Terminal::UI::Pane: $name, :$arg, Bool :$maybe, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L589)
* [**call**(Terminal::UI::Pane: $name, :$arg, Bool :$maybe, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L636)

  Run the action with the given name

* [**clear**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L551)
* [**clear**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L598)

  Clear the content and redraw



@@ 103,75 103,75 @@ A pane is a text area that can scroll. It also has as registry of actions, which

  Handled by $!style

* [**current-line-index**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L109)
* [**current-line-index**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L110)

  The index of the current line

* [**current-meta**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L103)
* [**current-meta**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L104)

  Metadata associated with the current line

* [**disable-selection**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L183)
* [**disable-selection**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L184)

  Disable selecting of lines within a pane

* [**draw**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L310)
* [**draw**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L311)

  Same as redraw

* [**draw-selected-line**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L120)
* [**draw-selected-line**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L121)

  Draw the currently selected line

* [**enable-selection**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L189)
* [**enable-selection**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L190)

  Enable selecting of lines within a pane

* [**exec**(Terminal::UI::Pane: @cmd, :$filter, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L618)
* [**exec**(Terminal::UI::Pane: @cmd, :$filter, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L665)

  Run a shell command, and send the lines of the output to this pane, optionally filtering the output

* [**focus**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L532)
* [**focus**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L579)

  Focus on this pane

* [**last-visible**(Terminal::UI::Pane: Bool :$with-content = Bool::False, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L223)
* [**last-visible**(Terminal::UI::Pane: Bool :$with-content = Bool::False, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L224)

  Index of the bottom line which is visible (first-visible + height - 1)

* [**on**(Terminal::UI::Pane: *%kv)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L565)
* [**on**(Terminal::UI::Pane: *%kv)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L612)

  Associate callbacks with events

* [**on**(Terminal::UI::Pane: Str :$name!, Callable :$action!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L572)
* [**on**(Terminal::UI::Pane: Str :$name!, Callable :$action!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L619)

  Associate a callback, with the name of an action

* [**on-sync**(Terminal::UI::Pane: Str :$name!, Callable :$action!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L583)
* [**on-sync**(Terminal::UI::Pane: Str :$name!, Callable :$action!, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L630)

  Associate a synchronous callback, with the name of an action

* [**page-down**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L271)
* [**page-down**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L272)

  Select down by the number of lines in the pane

* [**page-up**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L276)
* [**page-up**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L277)

  Select up by the number of lines in the pane

* [**put**(Terminal::UI::Pane: $content, Bool :$scroll-ok = Code.new, Bool :$center, :%meta, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L449)
* [**put**(Terminal::UI::Pane: $content, Bool :$scroll-ok = Code.new, Bool :$center, :%meta, Str :$wrap where { ... } = "none", *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L452)

  Add lines of content, possibly scrolling. Content is added one line at a time -- the content can be any type that has a 'lines' method.

* [**put**(Terminal::UI::Pane: @args, Bool :$scroll-ok = Code.new, :%meta, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L524)
* [**put**(Terminal::UI::Pane: @args, Bool :$scroll-ok = Code.new, :%meta, Str :$wrap where { ... } = "none", Bool :$center, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L556)

  Put formatted text. Each element is either a string or a pair. Strings are printed. Keys of pairs are printed, and then their values. Keys are assumed to be formatting, and do not count towards the length of the line.

* [**redraw**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L315)
* [**redraw**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L316)

  Refresh the screen

* [**right**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L79)
* [**right**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L79)

  Absolute right column (left + width)



@@ 179,78 179,78 @@ A pane is a text area that can scroll. It also has as registry of actions, which

  Handled by $!frame

* [**scroll-down**(Terminal::UI::Pane: Int :$lines = 1, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L360)
* [**scroll-down**(Terminal::UI::Pane: Int :$lines = 1, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L361)

  Scroll the visible contents down. Optionally limit scrolling based on the contents.

* [**scroll-up**(Terminal::UI::Pane: Bool :$limit = Bool::True, Int :$lines = 1, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L329)
* [**scroll-up**(Terminal::UI::Pane: Bool :$limit = Bool::True, Int :$lines = 1, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L330)

  Scroll the visible contents up. Optionally limit scrolling based on the contents.

* [**select**(Terminal::UI::Pane: $line, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L194)
* [**select**(Terminal::UI::Pane: $line, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L195)

  Select an index in the content.

* [**select-down**(Terminal::UI::Pane: $n = 1, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L249)
* [**select-down**(Terminal::UI::Pane: $n = 1, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L250)

  Select the line $n lines below the current one, possibly scrolling the screen up

* [**select-down_10**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L261)
* [**select-down_10**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L262)

  Move the selector down 10 rows

* [**select-first**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L151)
* [**select-first**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L152)

  Select the first row of content

* [**select-first-visible**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L168)
* [**select-first-visible**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L169)

  Select the last visible row.

* [**select-last**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L157)
* [**select-last**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L158)

  Select the last row of content

* [**select-last-visible**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L163)
* [**select-last-visible**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L164)

  Select the last visible row.

* [**select-up**(Terminal::UI::Pane: $n = 1, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L229)
* [**select-up**(Terminal::UI::Pane: $n = 1, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L230)

  Select the line $n above the current one, possibly scrolling the screen down

* [**select-up_10**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L266)
* [**select-up_10**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L267)

  Move the selector up 10 rows

* [**select-visible**(Terminal::UI::Pane: Int $r, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L143)
* [**select-visible**(Terminal::UI::Pane: Int $r, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L144)

  Select a visible row. (0 is the top row)

* [**selected-row**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L391)
* [**selected-row**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L392)

  Selected row, in the range 1..$!height

* [**set-size**(Terminal::UI::Pane: $!width, $!height, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L88)
* [**set-size**(Terminal::UI::Pane: $!width, $!height, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L88)

  Change the size

* [**set-top**(Terminal::UI::Pane: $!top, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L100)
* [**set-top**(Terminal::UI::Pane: $!top, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L101)

  Change the offset from the top

* [**splash**(Terminal::UI::Pane: @content, :$center = Bool::True, :$title, :$top is copy, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L404)
* [**splash**(Terminal::UI::Pane: @content, :$center = Bool::True, :$title, :$top is copy, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L405)

  Clear and add content centered vertically and horizontally

* [**splash**(Terminal::UI::Pane: $content, :$center = Bool::True, :$title, :$top, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L414)
* [**splash**(Terminal::UI::Pane: $content, :$center = Bool::True, :$title, :$top, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L415)

  Clear and add content centered vertically and horizontally

* [**unfocus**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L543)
* [**unfocus**(Terminal::UI::Pane: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L590)

  Remove focus from this pane

* [**update**(Terminal::UI::Pane: $content, Int :$line!, Bool :$center, :%meta, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Pane.rakumod#L423)
* [**update**(Terminal::UI::Pane: $content, Int :$line!, Bool :$center, :%meta, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Pane.rakumod#L424)

  Update a line of content

M lib/Terminal/UI/Screen.md => lib/Terminal/UI/Screen.md +14 -14
@@ 27,58 27,58 @@ This class represents the screen, which may have frames on it, and the frames ma

### METHODS

* [**add-frame**(Terminal::UI::Screen: :$top = 1, :$left = 1, :$width = Code.new, :$height = Code.new, :$name = Code.new, Bool :$center, *%_ --> Terminal::UI::Frame)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L138)
* [**add-frame**(Terminal::UI::Screen: :$top = 1, :$left = 1, :$width = Code.new, :$height = Code.new, :$name = Code.new, Bool :$center, *%_ --> Terminal::UI::Frame)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L145)

  Add a frame to the screen.

* [**available-rows**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L34)
* [**available-rows**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L34)

  Number of rows available (height - 2 for the border)

* [**draw**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L114)
* [**draw**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L121)

  Draw the entire screen

* [**find-frame**(Terminal::UI::Screen: $name, *%_ --> Terminal::UI::Frame)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L162)
* [**find-frame**(Terminal::UI::Screen: $name, *%_ --> Terminal::UI::Frame)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L169)

  Find a frame that has a given name

* [**frame**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L39)
* [**frame**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L39)

  The first frame (handy if it's the only one)

* [**handle-resize**(Terminal::UI::Screen: |args)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L107)
* [**handle-resize**(Terminal::UI::Screen: |args)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L114)

  Handle a resize of the screen (e.g. a SIGWINCH)

* [**init**(Terminal::UI::Screen: \ui, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L91)
* [**init**(Terminal::UI::Screen: \ui, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L98)

  Clear and set things up.

* [**pane**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L183)
* [**pane**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L190)

  When there is only one pane and only one frame, return it

* [**pane-count**(Terminal::UI::Screen: :$min, :$max, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L167)
* [**pane-count**(Terminal::UI::Screen: :$min, :$max, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L174)

  Find the number of panes which have lines between two rows

* [**panes**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L192)
* [**panes**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L199)

  All the panes in all the frames.

* [**quietly**(Terminal::UI::Screen: \ui, &code, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L46)
* [**quietly**(Terminal::UI::Screen: \ui, &code, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L46)

  Suppress all warnings (including popups) for a block of code

* [**refresh**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L100)
* [**refresh**(Terminal::UI::Screen: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L107)

  Refresh

* [**remove-frame**(Terminal::UI::Screen: Terminal::UI::Frame $f, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L199)
* [**remove-frame**(Terminal::UI::Screen: Terminal::UI::Frame $f, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L206)

  Remove a frame

* [**shutdown**(Terminal::UI::Screen: $msg = Nil, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Screen.rakumod#L124)
* [**shutdown**(Terminal::UI::Screen: $msg = Nil, *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Screen.rakumod#L131)

  Shut down and reset the state, with an optional message

M lib/Terminal/UI/Style.md => lib/Terminal/UI/Style.md +2 -2
@@ 15,10 15,10 @@ This is a singleton class which keeps track of a global style for UI elements.

### METHODS

* [**new**(Terminal::UI::Style: *%named)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Style.rakumod#L13)
* [**new**(Terminal::UI::Style: *%named)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Style.rakumod#L13)

  Same as singleton

* [**singleton**(Terminal::UI::Style: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.1/lib/Terminal/UI/Style.rakumod#L18)
* [**singleton**(Terminal::UI::Style: *%_)](https://git.sr.ht/~bduggan/raku-terminal-ui/tree/0.1.2/lib/Terminal/UI/Style.rakumod#L18)

  Get the singleton object.