All Projects → marcusolsson → Tui Go

marcusolsson / Tui Go

Licence: mit
A UI library for terminal applications.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Tui Go

Spotui
Spotify in the terminal 💻🎶
Stars: ✭ 302 (-85.01%)
Mutual labels:  terminal-app, terminal, tui
Lazyhub
lazyhub - Terminal UI Client for GitHub using gocui.
Stars: ✭ 133 (-93.4%)
Mutual labels:  terminal-app, terminal, tui
Finalcut
A text-based widget toolkit
Stars: ✭ 244 (-87.89%)
Mutual labels:  terminal-app, terminal, tui
Ticker
Terminal stock ticker with live updates and position tracking
Stars: ✭ 3,986 (+97.82%)
Mutual labels:  terminal-app, terminal, tui
Zui
⬢ Zsh User Interface library – CGI+DHTML-like rapid application development with Zsh
Stars: ✭ 95 (-95.29%)
Mutual labels:  terminal, tui
Fmui
fzf mpd user interface
Stars: ✭ 93 (-95.38%)
Mutual labels:  terminal, tui
Cordless
The Discord terminal client you never knew you wanted.
Stars: ✭ 1,391 (-30.97%)
Mutual labels:  terminal, tui
Pspg
Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.
Stars: ✭ 1,749 (-13.2%)
Mutual labels:  terminal-app, tui
Brick
A declarative Unix terminal UI programming library written in Haskell
Stars: ✭ 1,070 (-46.9%)
Mutual labels:  terminal, tui
Phetch
🐭 quick lil gopher client for your terminal
Stars: ✭ 108 (-94.64%)
Mutual labels:  terminal, tui
Nnn
n³ The unorthodox terminal file manager
Stars: ✭ 13,138 (+552.01%)
Mutual labels:  terminal, tui
Turbo
An experimental text editor based on Scintilla and Turbo Vision.
Stars: ✭ 78 (-96.13%)
Mutual labels:  terminal, tui
Linuxspells
✨ Potter-ify your Linux experience! ::
Stars: ✭ 77 (-96.18%)
Mutual labels:  terminal-app, terminal
Dte
A small, configurable console text editor (moved to https://gitlab.com/craigbarnes/dte)
Stars: ✭ 98 (-95.14%)
Mutual labels:  terminal, tui
Rubiks cube
rubik's cube that runs in your terminal!
Stars: ✭ 73 (-96.38%)
Mutual labels:  terminal-app, terminal
Termion
Mirror of https://gitlab.redox-os.org/redox-os/termion
Stars: ✭ 1,654 (-17.92%)
Mutual labels:  terminal, tui
Rust Battop
Interactive batteries viewer
Stars: ✭ 133 (-93.4%)
Mutual labels:  terminal, tui
Kubebox
⎈❏ Terminal and Web console for Kubernetes
Stars: ✭ 1,855 (-7.94%)
Mutual labels:  terminal, tui
Tomato Clock
Pomodoro 番茄工作法 https://en.wikipedia.org/wiki/Pomodoro_Technique
Stars: ✭ 139 (-93.1%)
Mutual labels:  terminal-app, terminal
Crossterm
Cross platform terminal library rust
Stars: ✭ 1,023 (-49.23%)
Mutual labels:  terminal, tui

tui: Terminal UI for Go

Build Status GoDoc Go Report Card License MIT

A UI library for terminal applications.

tui (pronounced tooey) provides a higher-level programming model for building rich terminal applications. It lets you build layout-based user interfaces that (should) gracefully handle resizing for you.

IMPORTANT: tui-go is still in an experimental phase so please don't use it for anything other than experiments, yet.

Update: I created tui-go as an experiment because I wanted a simpler way of creating terminal-based user interfaces. It has since then become a project, with all the work that comes with it. While it's been really fun, unfortunately I'm no longer able to maintain this project.

Since I started working on tui-go, a number of similar projects have popped up. One that I think shows great promise is rivo/tview, which embodies much of what I envisioned for tui-go. I highly recommend trying it out!

Thanks all of you who have contributed and supported tui-go!

Screenshot

Installation

go get github.com/marcusolsson/tui-go

Usage

package main

import "github.com/marcusolsson/tui-go"

func main() {
	box := tui.NewVBox(
		tui.NewLabel("tui-go"),
	)

	ui, err := tui.New(box)
	if err != nil {
		panic(err)
	}
	ui.SetKeybinding("Esc", func() { ui.Quit() })

	if err := ui.Run(); err != nil {
		panic(err)
	}
}

Getting started

If you want to know what it is like to build terminal applications with tui-go, check out some of the examples.

Documentation is available at godoc.org.

Make sure you check out some of the projects using tui-go.

Once you've gotten started developing your first application with tui-go, you might be interested in learning about common patterns or how you can debug your applications.

Related projects

tui-go is mainly influenced by Qt and offers a similar programming model that has been adapted to Go and the terminal.

For an overview of the alternatives for writing terminal user interfaces, check out this article by AppliedGo.

License

tui-go is released under the MIT License.

Contact

If you're interested in chatting with users and contributors, join #tui-go on the Gophers Slack. If you're not already a part of the Slack workspace, you can join here. If you prefer a lower-bandwidth interface, see this article on connecting to Slack via IRC or XMPP.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].