Baike.dev
All toolsTrendingOpen sourceNewsSubmit
Log in
< 返回工具列表
T

termui

> 编程语言
开源

Golang terminal dashboard

13.6K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Golang terminal dashboard

termui

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.

Note

Please be aware that due to my fluctuating availability, the frequency of updates to this project may not always follow a consistent schedule. I would like to invite potential maintainers to contribute to this project. If you are interested in becoming a maintainer, please do not hesitate to reach out to me.

Versions

termui is currently compatible with Go 1.15 (as in go.mod) and above (tracking the Debian's oldstable). Please use the version-numbered branch as stable release. The new changes will be pushed to master branch first and then merge to version branch.

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

  • BarChart
  • Canvas (for drawing braille dots)
  • Gauge
  • Image
  • List
  • Tree
  • Paragraph
  • PieChart
  • Plot (for scatterplots and linecharts)
  • Sparkline
  • StackedBarChart
  • Table
  • Tabs

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

Documentation

  • wiki

Uses

  • dockdash
  • expvarmon
  • go-ethereum/monitorcmd
  • go-jira-ui
  • gotop
  • termeter
  • updo

Related Works

  • blessed-contrib
  • gocui
  • termdash
  • tui-rs
  • tview

License

MIT

核心特点

  • •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
  • •BarChart
  • •Canvas (for drawing braille dots)
  • •Paragraph
  • •PieChart
  • •Plot (for scatterplots and linecharts)

> 标签

Go

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月9日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言