euporie.core.widgets.layout.Box

class euporie.core.widgets.layout.Box(body: AnyContainer, padding: AnyDimension = None, padding_left: AnyDimension = None, padding_right: AnyDimension = None, padding_top: AnyDimension = None, padding_bottom: AnyDimension = None, width: AnyDimension = None, height: AnyDimension = None, style: str = '', char: None | str | Callable[[], str] = None, modal: bool = False, key_bindings: KeyBindingsBase | None = None)

Add padding around a container.

This also makes sure that the parent can provide more space than required by the child. This is very useful when wrapping a small element with a fixed size into a VSplit or HSplit object. The HSplit and VSplit try to make sure to adapt respectively the width and height, possibly shrinking other elements. Wrapping something in a Box makes it flexible.

Parameters:
  • body – Another container object.

  • padding – The margin to be used around the body. This can be

  • padding_left (overridden by) – padding_bottom.

  • padding_right`padding_bottom.

  • and (padding_top) – padding_bottom.

  • style – A style string.

  • char – Character to be used for filling the space around the body. (This is supposed to be a character with a terminal width of 1.)