Golang terminal dashboard
Go to file
Caleb Bassi 179acca35e Formatting 2019-02-22 12:44:48 -08:00
_assets Refactor README and remove widget screenshots 2019-01-23 23:09:50 -08:00
_examples Merge pull request #222 from ryanlewis/master 2019-02-01 21:21:45 -08:00
_scripts The Great Rewrite 2019-01-23 20:16:13 -08:00
_test Fix termbox event conversion 2019-01-24 05:23:30 -08:00
widgets Formatting 2019-02-22 12:44:48 -08:00
.gitignore The Great Rewrite 2019-01-23 20:16:13 -08:00
CHANGELOG.md s/LineChart/Plot and add ScatterPlot mode to it 2019-01-24 07:56:22 -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 readme: add termdash to related works section 2019-02-13 20:50:05 -08:00
alignment.go The Great Rewrite 2019-01-23 20:16:13 -08:00
block.go Update Block comments 2019-01-24 04:02:25 -08:00
buffer.go fix: #226, unicode strings display in paragraph, table and list 2019-02-22 13:08:41 +08:00
canvas.go Refactor canvas into seperate repo 2019-01-26 05:19:45 -08:00
doc.go Update godoc 2018-11-28 20:38:11 -08:00
events.go Refactor events.go 2019-01-25 03:41:35 -08:00
go.mod Add scrolling to List widget 2019-01-26 22:32:08 -08:00
go.sum Add scrolling to List widget 2019-01-26 22:32:08 -08:00
grid.go Improve/add comments 2019-02-01 22:16:02 -08:00
render.go The Great Rewrite 2019-01-23 20:16:13 -08:00
style.go Improve/add comments 2019-02-01 22:16:02 -08:00
symbols.go Add scrolling to List widget 2019-01-26 22:32:08 -08:00
symbols_other.go The Great Rewrite 2019-01-23 20:16:13 -08:00
symbols_windows.go The Great Rewrite 2019-01-23 20:16:13 -08:00
termbox.go The Great Rewrite 2019-01-23 20:16:13 -08:00
text_parser.go Improve/add comments 2019-02-01 22:16:02 -08:00
theme.go Improve/add comments 2019-02-01 22:16:02 -08:00
utils.go fix: #226, unicode strings display in paragraph, table and list 2019-02-22 13:08:41 +08: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.

Features

  • Built in widget implementations for common use cases
  • Utilities to create custom widgets
  • A grid layout for relative widget positioning
  • Mouse support
  • Event handling for keyboard, mouse and resizing events
  • Colors and styling

Installation

Installing from the master branch is recommended since termui has been completely reworked since the latest release and because the latest release doesn't support Go modules.

Do note that termui is still undergoing breaking changes so make sure to check the changelog when upgrading.

go get -u github.com/gizak/termui@master

Hello World

package main

import (
	"log"

	ui "github.com/gizak/termui"
	"github.com/gizak/termui/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 all of them consecutively with make run-examples.

Documentation

Uses

License

MIT