

GitHub - nsf/termbox-go: Pure Go termbox implementation
source link: https://github.com/nsf/termbox-go
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md
IMPORTANT
This 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 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.
Termbox
Termbox 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.
Installation
Install and update this go package with go get -u github.com/nsf/termbox-go
Examples
For examples of what can be done take a look at demos in the _demos directory. You can try them with go run: go run _demos/keyboard.go
There are also some interesting projects using termbox-go:
- godit is an emacsish lightweight text editor written using termbox.
- gotetris is an implementation of Tetris.
- sokoban-go is an implementation of sokoban game.
- hecate is a hex editor designed by Satan.
- httopd is top for httpd logs.
- mop is stock market tracker for hackers.
- termui is a terminal dashboard.
- termdash is a terminal dashboard.
- termloop is a terminal game engine.
- xterm-color-chart is a XTerm 256 color chart.
- gocui is a minimalist Go library aimed at creating console user interfaces.
- dry is an interactive cli to manage Docker containers.
- pxl displays images in the terminal.
- snake-game is an implementation of the Snake game.
- gone is a CLI pomodoro® timer.
- Spoof.go controllable movement spoofing from the cli
- lf is a terminal file manager
- rat lets you compose shell commands to build terminal applications.
- httplab An interactive web server.
- tetris Go Tetris with AI option
- wot Wait time during command is completed.
- 2048-go is 2048 in Go
- jv helps you view JSON on the command-line.
- pinger helps you to monitor numerous hosts using ICMP ECHO_REQUEST.
- vixl44 lets you create pixel art inside your terminal using vim movements
- zterm is a typing game inspired by http://zty.pe/
- gotypist is a fun touch-typing tutor following Steve Yegge's method.
- cointop is an interactive terminal based UI application for tracking cryptocurrencies.
- pexpo is a terminal sending ping tool written in Go.
- jid is an interactive JSON drill down tool using filtering queries like jq.
- nonograminGo is a nonogram(aka. picross) in Go
API reference
Recommend
-
192
WE CONTINUE THE DEVELOPMENT AT go-git/go-git. This repository is abandoned, and no further updates will be done on the code base, nor issue/prs will be answered or attended.
-
56
Goro This is an implementation of PHP, written in pure Go (as much as possible, right now pcre doesn't exist in pure go and require usage of libpcre). Why? That's a good question. PHP is a n...
-
14
A SLIC implementation in Pure Julia Jul 29, 2020 Motivation Image segmentation plays a great role in order to realize which objects construct an image. In order to reach this goal, peop...
-
18
Pure Rust Implementation of Apple Code Signing April 14, 2021 at 01:45 PM | categories:
-
13
hTWOo: A Microsoft Fluent Design pure HTML & CSS Implementation Tuesday, April 27, 2021 10:43 AM
-
8
README.md go-git is a highly exten...
-
8
Greetings! Today I'm happy to announce a new era in Tor implementation. Over the past year or so, we've been working on "Arti", a project to rewrite Tor in Rust. Thanks...
-
11
CSS Only Tooltip See demo first. Move the cursor (mouse pointer) to hover over the blue text with underline: Thi...
-
6
LSTM implementation in pure Python A little about me
-
8
Pure Go implementation of the Opus Codec This package provides a Pure Go implementation of the Opus Codec Why Opus? open and royalty-free - No li...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK