brick-1.9: A declarative terminal user interface library
Safe HaskellSafe-Inferred
LanguageHaskell2010

Brick.Widgets.Border

Description

This module provides border widgets: vertical borders, horizontal borders, and a box border wrapper widget. All functions in this module use the rendering context's active BorderStyle; to change the BorderStyle, use withBorderStyle.

Synopsis

Border wrapper

border :: Widget n -> Widget n Source #

Put a border around the specified widget.

borderWithLabel Source #

Arguments

:: Widget n

The label widget

-> Widget n

The widget to put a border around

-> Widget n 

Put a border around the specified widget with the specified label widget placed in the middle of the top horizontal border.

Note that a border will wrap its child widget as tightly as possible, which means that if the child widget is narrower than the label widget, the label widget will be truncated. If you want to avoid this behavior, add a fill or other space-filling wrapper to the bordered widget so that it takes up enough room to make the border horizontally able to avoid truncating the label.

Horizontal border

hBorder :: Widget n Source #

A horizontal border. Fills all horizontal space. Draws using hBorderAttr.

hBorderWithLabel Source #

Arguments

:: Widget n

The label widget

-> Widget n 

A horizontal border with a label placed in the center of the border. Fills all horizontal space.

Vertical border

vBorder :: Widget n Source #

A vertical border. Fills all vertical space. Draws using vBorderAttr.

Drawing single border elements

borderElem :: (BorderStyle -> Char) -> Widget n Source #

Draw the specified border element using the active border style using borderAttr.

Does not participate in dynamic borders (due to the difficulty of introspecting on the first argument); consider using joinableBorder instead.

Attribute names

borderAttr :: AttrName Source #

The top-level border attribute name.

hBorderAttr :: AttrName Source #

The horizontal border attribute name. Inherits from borderAttr.

vBorderAttr :: AttrName Source #

The vertical border attribute name. Inherits from borderAttr.

Utility

joinableBorder :: Edges Bool -> Widget n Source #

A single-character dynamic border that will react to neighboring borders, initially connecting in the given directions.