• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/workflows/H21-Apr-2021-11282

_demos/H21-Apr-2021-2,0821,843

AUTHORSH A D21-Apr-2021101 53

LICENSEH A D21-Apr-20211 KiB2016

README.mdH A D21-Apr-20214.5 KiB4740

api.goH A D21-Apr-202113.9 KiB553372

api_common.goH A D21-Apr-20215.6 KiB229179

api_windows.goH A D21-Apr-20217.5 KiB311208

collect_terminfo.pyH A D21-Apr-20212 KiB11497

escwait.goH A D21-Apr-2021373 124

escwait_darwin.goH A D21-Apr-2021329 104

go.modH A D21-Apr-202188 63

go.sumH A D21-Apr-2021177 32

syscalls.goH A D21-Apr-2021773 4026

syscalls_darwin.goH A D21-Apr-2021753 4233

syscalls_darwin_amd64.goH A D21-Apr-2021775 4134

syscalls_dragonfly.goH A D21-Apr-2021735 4033

syscalls_freebsd.goH A D21-Apr-2021735 4033

syscalls_linux.goH A D21-Apr-2021828 3426

syscalls_netbsd.goH A D21-Apr-2021733 4033

syscalls_openbsd.goH A D21-Apr-2021733 4033

syscalls_windows.goH A D21-Apr-20211.5 KiB6254

termbox.goH A D21-Apr-202113.3 KiB603498

termbox_common.goH A D21-Apr-2021994 6046

termbox_windows.goH A D21-Apr-202122 KiB953867

terminfo.goH A D21-Apr-20215.9 KiB247186

terminfo_builtin.goH A D21-Apr-20215.1 KiB161145

terminfo_builtin_test.goH A D21-Apr-2021296 1611

README.md

1[![Go Reference](https://pkg.go.dev/badge/github.com/nsf/termbox-go.svg)](https://pkg.go.dev/github.com/nsf/termbox-go)
2![Build](https://github.com/nsf/termbox-go/actions/workflows/test-ubuntu.yml/badge.svg)
3
4## IMPORTANT
5
6This library is somewhat not maintained anymore. But I'm glad that it did what I wanted the most. It moved people away from "ncurses" mindset and these days we see both re-implementations of termbox API in various languages and even possibly better libs with similar API design. If you're looking for a Go lib that provides terminal-based user interface facilities, I've heard that [gdamore/tcell](https://github.com/gdamore/tcell) is good (never used it myself). Also for more complicated interfaces and/or computer games I recommend you to consider using HTML-based UI. Having said that, termbox still somewhat works. In fact I'm writing this line of text right now in godit (which is a text editor written using termbox-go). So, be aware. Good luck and have a nice day.
7
8## Termbox
9Termbox is a library that provides a minimalistic API which allows the programmer to write text-based user interfaces. The library is crossplatform and has both terminal-based implementations on \*nix operating systems and a winapi console based implementation for windows operating systems. The basic idea is an abstraction of the greatest common subset of features available on all major terminals and other terminal-like APIs in a minimalistic fashion. Small API means it is easy to implement, test, maintain and learn it, that's what makes the termbox a distinct library in its area.
10
11### Installation
12Install and update this go package with `go get -u github.com/nsf/termbox-go`
13
14### Examples
15For examples of what can be done take a look at various examples in the `_demos` directory. You can try them with go run: `go run _demos/keyboard.go`
16
17There are also some interesting projects using termbox-go:
18 - [godit](https://github.com/nsf/godit) is an emacsish lightweight text editor written using termbox.
19 - [gotetris](https://github.com/jjinux/gotetris) is an implementation of Tetris.
20 - [sokoban-go](https://github.com/rn2dy/sokoban-go) is an implementation of sokoban game.
21 - [hecate](https://github.com/evanmiller/hecate) is a hex editor designed by Satan.
22 - [httopd](https://github.com/verdverm/httopd) is top for httpd logs.
23 - [mop](https://github.com/mop-tracker/mop) is stock market tracker for hackers.
24 - [termui](https://github.com/gizak/termui) is a terminal dashboard.
25 - [termloop](https://github.com/JoelOtter/termloop) is a terminal game engine.
26 - [xterm-color-chart](https://github.com/kutuluk/xterm-color-chart) is a XTerm 256 color chart.
27 - [gocui](https://github.com/jroimartin/gocui) is a minimalist Go library aimed at creating console user interfaces.
28 - [dry](https://github.com/moncho/dry) is an interactive cli to manage Docker containers.
29 - [pxl](https://github.com/ichinaski/pxl) displays images in the terminal.
30 - [snake-game](https://github.com/DyegoCosta/snake-game) is an implementation of the Snake game.
31 - [gone](https://github.com/guillaumebreton/gone) is a CLI pomodoro® timer.
32 - [Spoof.go](https://github.com/sabey/spoofgo) controllable movement spoofing from the cli.
33 - [rat](https://github.com/ericfreese/rat) lets you compose shell commands to build terminal applications.
34 - [httplab](https://github.com/gchaincl/httplab) An interactive web server.
35 - [wot](https://github.com/kyu-suke/wot) Wait time during command is completed.
36 - [2048-go](https://github.com/1984weed/2048-go) is 2048 in Go.
37 - [jv](https://github.com/maxzender/jv) helps you view JSON on the command-line.
38 - [pinger](https://github.com/hirose31/pinger) helps you to monitor numerous hosts using ICMP ECHO_REQUEST.
39 - [vixl44](https://github.com/sebashwa/vixl44) lets you create pixel art inside your terminal using vim movements.
40 - [zterm](https://github.com/varunrau/zterm) is a typing game inspired by http://zty.pe/.
41 - [gotypist](https://github.com/pb-/gotypist) is a fun touch-typing tutor following Steve Yegge's method.
42 - [cointop](https://github.com/miguelmota/cointop) is an interactive terminal based UI application for tracking cryptocurrencies.
43 - [pexpo](https://github.com/nnao45/pexpo) is a terminal sending ping tool written in Go.
44 - [jid](https://github.com/simeji/jid) is an interactive JSON drill down tool using filtering queries like jq.
45 - [nonograminGo](https://github.com/N0RM4L15T/nonograminGo) is a nonogram (aka. picross) in Go.
46 - [tower-of-go](https://github.com/kjirou/tower-of-go) is a tiny maze game that runs on the terminal.
47