Terminal::UI::Frame -- A border, which may have several panes
A frame is like a window frame -- it represents the border, and may have several panes within it.
The focused pane
Number of rows, including the top and bottom borders
A function to compute an array of heights of panes, given the screen height.
Offset from the left of the screen. A maximized frame has left == 1.
A name for this frame (optional)
Number of dividers. Will be number of panes - 1, when panes are added.
The screen associated with the frame.
Offset from the top of the screen. A maximized frame has top == 1.
Number of columns
Characters for drawing the frame border.
List of rows with dividers in the frame.
The panes for the frame.
Add a divider to the frame at the given row (between 1 and height)
Create a single pane for this frame
Add multiple panes with the given height ratios
Add multiple panes with the given heights, and optionally a callback for computing heights
Number of available rows: height - 2 - (number of dividers - 1)
The row of the bottom (top + height - 1)
Validate that the heights of the panes + the dividers add up
Draw or refresh this frame
Draw only the sides, of a particular row
Change focus to a particular pane in this frame
Handle a resize of the screen
If there is only one pane, return it.
Print a single line of output in the frame, including the borders.
The rightmost column (left + width - 1)