My TUIs

Feed

date: 2024-02-11 20:51:50

categories: linux

firstPublishDate: 2024-02-11 20:51:50

My TUIs run in linux terminals and are built with:

There are no dependencies besides sheepy and gcc.

The terminal font has to support unicode 15 for the TUIs using the 2x3 pixel characters and the terminal is configured for RGB 24 bit colors, when using terminal multiplexers (screen, tmux) you might not get 24bit colors.

The TUIs built on twid have these common key shortcuts:

F1     - Help (blue box on screen top)
q      - Quit
esc    - Quit/Close help
`      - Disable/Enable mouse
ctrl+/ - Change colors (c+7, c+-, c+_)
ctrl+p - Take a screenshot (as text)

I use i3 and I have shortcuts to start my TUIs on terminal windows, I start my calendar in the st terminal with Win/Cmd Key + d:

bindsym $mod+d exec st -e calendar

After sheepy is installed, the TUIs below are installed like this:

sudo spm -g install PACKAGE_NAME

On my laptop, it takes less than 16ms to start these TUIs.

Sheepy

Sheepy is a build system for using C as a scripting language like python. It takes less than 5 minutes to install sheepy on a machine:

apt-get install gcc git
git clone https://spartatek.se/git/sheepy.git
cd sheepy
sudo -H ./install.sh

The readme has more details.

Sheepy Readme

paku paku

`paku paku` is a 1D Pacman game created Aba games, to play it tap any button (except q) to turn. Press `q` to quit the game. It is a one button game.

Original paku paku game (javascript)

I reimplemented `paku paku` in C for the terminal (a font with unicode 15 is required to display correctly).

sudo spm -g install pakupaku

Precompiled executable for linux

paku paku screenshot [IMG]

Video of paku paku running on the librem5 phone

Aba games

Wikipedia article about Aba games

Aba games github

Missile Command

Missile Command is a clone of the Missile Command arcade game. I modified the code from `https://github.com/johnflakejr/MissileCommand` to run in the terminal.

Missile Command screenshot [IMG]

sudo spm -g install missileCommand

tcalc - terminal calculator

Basic tui calculator like the gui calculators. It has decimal, hexadecimal and binary numbers.

tcalc screenshot [IMG]

sudo spm -g install tcalc

manviewer

manviewer shows the man pages in a searchable tree (like a file explorer) for easy navigation.

manviewer screenshot [IMG]

sudo spm -g install manviewer

calendar

Calendar shows a month and highlights today's day. Use arrows to change month and year. Calendar supports small screens (5-6 inches).

calendar screenshot [IMG]

sudo spm -g install calendar

radio

radio is an encrypted chat system using UDP to transport the messages. There is only one broadcast channel.

radio screenshot [IMG]

Precompiled executable for linux

Client source code

patate

patate is an ascii art editor. It supports unicode, RGB colors, animations...

patate screenshot [IMG]

patate homepage

sudo spm -g install patate

bato

bato is spartan tui browser for terminals. It can parse gemtext and markdown and browse files on local disk.

bato screenshot [IMG]

bato displaying a markdown file [IMG]

bato.gz (gziped elf executable)

sudo spm -g install bato

heure

heure is a clock similar to tty-clock.

heure screenshot [IMG]

sudo spm -g install heure

mandelbrot

mandelbrot is a mandelbrot fractal set explorer.

mandelbrot screenshot [IMG]

mandelbrot homepage

sudo spm -g install mandelbrot

clop

clop is an asciinema player in the terminal.

clop screenshot (image from Star Wars) [IMG]

sudo spm -g install clop

timer

Timer shows a progress bar.

timer screenshot [IMG]

sudo spm -g install timer

plasma

plasma is a TUI showing the plasma demo effect.

Plasma effect article on wikipedia

plasma screenshot [IMG]

sudo spm -g install plasma

sip

sip is a Systematic Investment Planner. Enter the monthly investment, the period in years and the average yearly rate of return.

sip screenshot [IMG]

sudo spm -g install sip

Feed