1
0
mirror of https://github.com/gizak/termui.git synced 2025-04-24 13:48:50 +08:00
2019-02-24 14:56:34 -08:00
2019-01-23 20:16:13 -08:00
2019-01-24 05:23:30 -08:00
2019-02-24 14:56:34 -08:00
2019-01-23 20:16:13 -08:00
2019-01-23 20:16:13 -08:00
2019-01-24 04:02:25 -08:00
2019-01-26 05:19:45 -08:00
2019-02-24 14:56:34 -08:00
2018-11-28 20:38:11 -08:00
2019-01-25 03:41:35 -08:00
2019-01-26 22:32:08 -08:00
2019-01-26 22:32:08 -08:00
2019-02-01 22:16:02 -08:00
2015-02-03 09:09:27 -05:00
2019-01-23 20:16:13 -08:00
2019-02-24 14:55:58 -08:00
2019-01-23 20:16:13 -08:00
2019-02-24 14:56:34 -08:00
2019-02-01 22:16:02 -08:00
2019-01-23 20:16:13 -08:00
2019-01-23 20:16:13 -08:00
2019-01-26 22:32:08 -08:00
2019-01-23 20:16:13 -08:00
2019-02-01 22:16:02 -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

  • Built in widget implementations for common use cases
  • Utilities to create custom widgets
  • Relative widget positioning using a grid layout
  • Event system for keyboard, mouse and terminal resizing events
  • Colors and styling

Installation

go get -u github.com/gizak/termui

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 each example consecutively with make run-examples.

Documentation

Uses

License

MIT

Description
Golang terminal dashboard
Readme MIT 8.4 MiB
Languages
Go 98.7%
Python 1.2%