termui README

The project's README from github.com/gizak/termui. As one markdown file: 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.

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

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

termui (gizak/termui)

Searching Database…

13.6K ·GitHub
Что это?termui — кроссплатформенная библиотека для Go, которая позволяет создавать текстовые интерфейсы с графиками, индикаторами и таблицами прямо в терминале.
Это библиотека или отдельное приложение?Это библиотека на Go, которую вы импортируете в свою программу, чтобы отрисовывать панели; она построена на termbox-go и написана полностью на Go.
Как добавить её в проект?Просто импортируйте её через Go modules (отдельный go get не нужен, Go сам разбирается с зависимостями), не забыв указать /v3 в пути импорта; либо используйте Dep командой 'dep ensure -add github.com/gizak/termui' (без /v3).
Какая версия Go нужна?Нужна версия Go 1.15 или новее; для стабильных релизов лучше использовать ветку с номером версии, а не master.
Проект активно поддерживается?Сопровождающий занимается проектом по мере возможности, поэтому обновления выходят не по расписанию, и он активно ищет соавторов.
Кому это пригодится?Разработчикам на Go, которые создают CLI-инструменты мониторинга, системные панели или любые терминальные приложения с живыми графиками и виджетами.
Работает ли это под Windows так же, как под Linux/Mac?Да, библиотека изначально задумана как кроссплатформенная.
Какие виджеты есть из коробки?BarChart, Canvas (для рисования брайлевскими точками), Gauge, Image, List, Tree, Paragraph, PieChart, Plot, Sparkline, StackedBarChart, Table и Tabs.
Можно ли расставлять виджеты свободно, или только по сетке?Можно и так, и так: виджеты размещаются либо в относительной сетке, либо по абсолютным координатам.
Поддерживаются ли события мыши и изменения размера, или только клавиатура?Библиотека обрабатывает события клавиатуры, мыши и изменение размера терминала, а также поддерживает цвета и стилизацию.
Есть ли реальные проекты на termui?Да, например: gotop, dockdash, expvarmon, monitorcmd из go-ethereum, go-jira-ui, termeter и updo.
What are similar projects?k9s, sampler, ctop, wtf, bubbletea, tview, lipgloss, gh-dash
Creator
gizak
Size
6 MB
Stars
13.6K
Updated
CommitJul 10
Age
11y
Commits · 90 Days