Golang terminal dashboard
Go to file
2022-08-28 12:37:35 -04:00
_assets Refactor README and remove widget screenshots 2019-01-23 23:09:50 -08:00
_examples Replaced references to github.com with git.tebibyte.media 2022-08-28 12:37:35 -04:00
_scripts The Great Rewrite 2019-01-23 20:16:13 -08:00
_test Replaced references to github.com with git.tebibyte.media 2022-08-28 12:37:35 -04:00
drawille Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
widgets Replaced references to github.com with git.tebibyte.media 2022-08-28 12:37:35 -04:00
.gitignore The Great Rewrite 2019-01-23 20:16:13 -08:00
alignment.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
backend.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
block.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
buffer.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
canvas.go Replaced references to github.com with git.tebibyte.media 2022-08-28 12:37:35 -04:00
CHANGELOG.md v3.1.0 2019-07-15 12:40:41 -07:00
doc.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
events.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08: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 Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
LICENSE Initial commit 2015-02-03 09:09:27 -05:00
Makefile The Great Rewrite 2019-01-23 20:16:13 -08:00
README.md Merge pull request #237 from namreg/tree-widget 2019-07-15 12:33:30 -07:00
render.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
style_parser.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
style.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
symbols_other.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
symbols_windows.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
symbols.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
theme.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00
utils.go Move sub /v3 to repo root 2021-01-16 13:14:35 +08:00

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.

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

Go modules

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.

Dep

Add with dep ensure -add github.com/gizak/termui. With Dep, /v3 should not be included in the import statements.

Hello World

package main

import (
	"log"

	ui "github.com/gizak/termui/v3"
	"github.com/gizak/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

Uses

License

MIT