Updated Container API (markdown)

Jakub Sobon 2019-02-25 23:43:28 -05:00
parent faf7fa59df
commit 47841e017f
1 changed files with 6 additions and 4 deletions

@ -2,11 +2,13 @@
[![Doc Status](https://godoc.org/github.com/mum4k/termdash/container?status.png)](https://godoc.org/github.com/mum4k/termdash/container)
The [container](https://github.com/mum4k/termdash/tree/master/container) package is used to establish and mutate the layout of the screen. An instance of the container object is required to start Termdash, see the [[Termdash API|termdash-api]] for details on how the container object is used.
The [container](https://github.com/mum4k/termdash/tree/master/container) package is used to establish and mutate the layout of the terminal. An instance of the container object is required to start the Termdash application, see the [[Termdash API|termdash-api]] for details.
The container splits the raw terminal into smaller portions (containers). The developer decides how the splits are organised. Design of the container object is heavily inspired by the [i3 window manager](https://i3wm.org/).
The container splits the raw terminal into smaller portions (sub-containers). The developer decides how the splits are organised. Design of the container object is heavily inspired by the [i3 window manager](https://i3wm.org/), specifically by how the i3 wm organises the layout of application windows on the screen.
The terminal layout is organised in a binary tree structure. Each container is a node in this tree. Each node can contain one of the following:
## Terminal layout
Layout of the terminal is organised in a binary tree structure. Each container is a node in this tree. Unless the node was created empty, it contains one of the following:
- two sub-containers; OR
- a widget.
@ -16,4 +18,4 @@ Given a container, developers can create sub-containers by **splitting** the con
- horizontal split, which creates top and bottom sub-containers.
- vertical split, which creates left and right sub-containers.
This property is recursive, meaning developers can further split the sub-containers using the same rules.
This property is recursive, meaning developers can further split the sub-containers using the same rules.