Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gizak/termui
Golang terminal dashboard
https://github.com/gizak/termui
Last synced: 5 days ago
JSON representation
Golang terminal dashboard
- Host: GitHub
- URL: https://github.com/gizak/termui
- Owner: gizak
- License: mit
- Created: 2015-02-03T14:09:27.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-07-22T21:41:39.000Z (6 months ago)
- Last Synced: 2024-10-14T10:44:34.738Z (3 months ago)
- Language: Go
- Homepage:
- Size: 5.87 MB
- Stars: 13,178
- Watchers: 288
- Forks: 788
- Open Issues: 103
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - termui - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib). (Command Line / Advanced Console UIs)
- awesome-go - gizak/termui
- stars - gizak/termui
- awesomeLibrary - termui - Golang terminal dashboard. (语言资源库 / go)
- awesome-tuis - TermUI
- my-awesome-starred - gizak/termui - Golang terminal dashboard (Go)
- awesome-github-repos - gizak/termui - Golang terminal dashboard (Go)
- awesome-go - termui - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib). (Command Line / Advanced Console UIs)
- awesome-rust-cn - termui - ci.org/fdehau/tui-rs.svg?branch=master)](https://travis-ci.org/fdehau/tui-rs) (库 Libraries / 命令行 Command-line)
- awesome-starred - termui - Golang terminal dashboard (Go)
- awesome-github-star - termui
- go-awesome - termui - Terminal Dashboard (Open source library / Command Line)
- awesome-go - termui - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib). (Command Line / Advanced Console UIs)
- awesome-go - termui - Golang terminal dashboard - ★ 8005 (Command Line)
- awesome-go-extra - termui - 02-03T14:09:27Z|2022-06-22T19:51:49Z| (Build Automation / Advanced Console UIs)
- awesome - termui - Golang terminal dashboard (Go)
- awesome-go - termui - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib). Stars:`13.2K`. (Command Line / Advanced Console UIs)
- my-awesome - gizak/termui - 07 star:13.2k fork:0.8k Golang terminal dashboard (Go)
- fucking-awesome-go - termui - Go terminal dashboard based on **termbox-go** and inspired by <b><code> 15532⭐</code></b> <b><code> 841🍴</code></b> [blessed-contrib](https://github.com/yaronn/blessed-contrib)). (Command Line / Advanced Console UIs)
- awesome-go-cn - termui - go**实现的,借鉴于[blessed-contrib](https://github.com/yaronn/blessed-contrib)。 [![godoc][D]](https://godoc.org/github.com/gizak/termui) (命令行 / 高级控制台用户界面)
- awesome-go-with-stars - termui - Go terminal dashboard based on **termbox-go** and inspired by <code> 15534</code> [blessed-contrib](https://github.com/yaronn/blessed-contrib). (Command Line / Advanced Console UIs)
- awesome-go-plus - termui - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib). ![stars](https://img.shields.io/badge/stars-13247-blue) (Command Line / Advanced Console UIs)
- awesome-go-plus - termui - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib). ![stars](https://img.shields.io/badge/stars-13215-blue) (Command Line / Advanced Console UIs)
README
# termui
[](./_examples/demo.go)
termui is a cross-platform and fully-customizable terminal dashboard and widget library built on top of [termbox-go](https://github.com/nsf/termbox-go). It is inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib) and [tui-rs](https://github.com/fdehau/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](https://wiki.debian.org/DebianReleases)). 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
```go
package mainimport (
"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](./_examples/barchart.go)
- [Canvas](./_examples/canvas.go) (for drawing braille dots)
- [Gauge](./_examples/gauge.go)
- [Image](./_examples/image.go)
- [List](./_examples/list.go)
- [Tree](./_examples/tree.go)
- [Paragraph](./_examples/paragraph.go)
- [PieChart](./_examples/piechart.go)
- [Plot](./_examples/plot.go) (for scatterplots and linecharts)
- [Sparkline](./_examples/sparkline.go)
- [StackedBarChart](./_examples/stacked_barchart.go)
- [Table](./_examples/table.go)
- [Tabs](./_examples/tabs.go)Run an example with `go run _examples/{example}.go` or run each example consecutively with `make run-examples`.
## Documentation
- [wiki](https://github.com/gizak/termui/wiki)
## Uses
- [dockdash](https://github.com/byrnedo/dockdash)
- [expvarmon](https://github.com/divan/expvarmon)
- [go-ethereum/monitorcmd](https://github.com/ethereum/go-ethereum/blob/master/cmd/geth/monitorcmd.go)
- [go-jira-ui](https://github.com/mikepea/go-jira-ui)
- [gotop](https://github.com/cjbassi/gotop)
- [termeter](https://github.com/atsaki/termeter)
- [updo](https://github.com/Owloops/updo)## Related Works
- [blessed-contrib](https://github.com/yaronn/blessed-contrib)
- [gocui](https://github.com/jroimartin/gocui)
- [termdash](https://github.com/mum4k/termdash)
- [tui-rs](https://github.com/fdehau/tui-rs)
- [tview](https://github.com/rivo/tview)## License
[MIT](http://opensource.org/licenses/MIT)