Golang terminal dashboard
Go to file
Sasha Koshka 7cc6af7e83 Merge pull request 'tebification' (#1) from tebification into main
Reviewed-on: #1
2022-08-28 16:50:04 +00:00
_assets Refactor README and remove widget screenshots 2019-01-23 23:09:50 -08:00
_examples Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
_scripts The Great Rewrite 2019-01-23 20:16:13 -08:00
_test Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
drawille Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
widgets Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
.gitignore The Great Rewrite 2019-01-23 20:16:13 -08:00
CHANGELOG.md v3.1.0 2019-07-15 12:40:41 -07:00
LICENSE Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
Makefile The Great Rewrite 2019-01-23 20:16:13 -08:00
README.md Add attribution to README 2022-08-28 12:47:55 -04:00
alignment.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
backend.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
block.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
buffer.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
canvas.go Replaced references to github.com with git.tebibyte.media 2022-08-28 12:37:35 -04:00
doc.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
events.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
go.mod Replaced references to github.com with git.tebibyte.media 2022-08-28 12:37:35 -04:00
go.sum Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
grid.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
render.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
style.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
style_parser.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
symbols.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
symbols_other.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
symbols_windows.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
theme.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00
utils.go Relicensed under GPLv3 2022-08-28 12:46:41 -04:00

README.md

termui

demo cast under osx 10.10; Terminal.app; Menlo Regular 12pt.)

termui is a cross-platform and fully-customizable terminal dashboard and widget library built on top of termbox-go. It is inspired by blessed-contrib and tui-rs and written purely in Go.

This is a fork of the original project on GitHub.

Features

  • Several premade widgets for common use cases
  • Easily create custom widgets
  • Position widgets either in a relative grid or with absolute coordinates
  • Keyboard, mouse, and terminal resizing events
  • Colors and styling

Installation

It is not necessary to go get termui, since Go will automatically manage any imported dependencies for you. Do note that you have to include /v3 in the import statements as shown in the 'Hello World' example below.

Hello World

package main

import (
	"log"

	ui "git.tebibyte.media/sashakoshka/termui/v3"
	"git.tebibyte.media/sashakoshka/termui/v3/widgets"
)

func main() {
	if err := ui.Init(); err != nil {
		log.Fatalf("failed to initialize termui: %v", err)
	}
	defer ui.Close()

	p := widgets.NewParagraph()
	p.Text = "Hello World!"
	p.SetRect(0, 0, 25, 5)

	ui.Render(p)

	for e := range ui.PollEvents() {
		if e.Type == ui.KeyboardEvent {
			break
		}
	}
}

Widgets

Run an example with go run _examples/{example}.go or run each example consecutively with make run-examples.

Documentation

TODO

License

GPLv3