Textual Paint – MS Paint in your terminal
github.com
github.com
There is this pipes screen saver for example https://1j01.github.io/pipes/
EDIT: Website of the author listing some of these projects https://isaiahodhner.io/apps
Going through his projects (https://github.com/1j01/diverge) I have discovered https://ourworldoftext.com/ which offers more features like public and private areas on the canvas and a lot more.
In there I discovered https://ourworldofpixels.com/ which is the same except it gives you a virtually infinite public canvas of pixels. There is a lot activity on it.
There are some incredible worlds on it
https://ourworldofpixels.com/countrysim
I'm looking forward to seeing some commercial products adopt Textual, I hope we see some soon!
In some ways I kinda miss doing @SAY, @GET, the TBrowse class etc and their TUI.
https://harbour.github.io/ does exist, although it’s a long while since I last played with that.
If you want a real blast from that past, there's even still an archived version of The Oasis kicking about: https://harbour.github.io/the-oasis/docs/
I've even almost forgiven him for not calling it Textualise (obviously the correct spelling).
https://github.com/mahrz24/netext
Recently I tried to adopt it to textual as well: https://twitter.com/mahrz24/status/1679816272509386753?s=46&...
- a rust port
- an emacs port
:-)
;;; artist.el --- draw ascii graphics with your mouse -*- lexical-binding: t -*-
;; Copyright (C) 2000-2023 Free Software Foundation, Inc.
It is not as nice and colorful, but it has a spray tool (yay!). Also, it is actually useful once in a while [0].[0] https://mbork.pl/2023-07-15_Drawing_ASCII_art_charts_in_Emac...
r() { read -n1 -r c; [ "$c" = "$1" ]; }; b=2; stty -echo -icanon; printf '\033[H\033[0m\033[J\033[?1003h'; while true; do r $'\033' || { printf '%s\n' "$c" | grep -qE '[0-7]' && b=$c; continue; }; r \[ || continue; r "M" || continue; r "@" && d=y || d=; read z x y z < <(head -c 2 | hexdump -C); [ $d ] || continue; printf '\033[%d;%dH\033[1;4%dm \033[0m\033[D' $((0x${y}-32)) $((0x${x}-32)) $b; done
(you can change colour with digits 1..7 btw!)
- no external grep anymore
- smaller (303 instead of 400 bytes)
- cleanup of mouse mode on exit
p(){ for i;do printf "\e[$i";done;};r(){ read -rn1 c;[[ $c = $1 ]];};stty -echo cbreak;p H m J ?1003h;trap 'p ?1003l' 0;while d=;do r $'\e'||{ [[ $c =~ [0-7] ]]&&b=$c;continue;};r \[||continue;r M||continue;r @&&d=y;read _ x y _< <(head -c2|od -tu1);[ $d ]&&p "$((y-32));$((x-32))H" "4${b-2}m " m D;done