34 comments

[ 2.7 ms ] story [ 97.9 ms ] thread
This is both an excellent demo of what you can build with Textual, and just a brilliantly ridiculous project, it's exciting to see.

I'm looking forward to seeing some commercial products adopt Textual, I hope we see some soon!

This is getting outright ridiculous now. Will & his lot at Textualize are absolutely killing it. Hats off.

I've even almost forgiven him for not calling it Textualise (obviously the correct spelling).

My first thought with Textual and most TUIs is always, "but why?" But then I actually look at what they are building, and I realize, "Oh, because it's really cool!"
Yes this is downright great. Kudos to the author what a fun throwback/revitalization
Very early in my career I wrote a ton of code in Clipper (a dBase clone and compiler).

In some ways I kinda miss doing @SAY, @GET, the TBrowse class etc and their TUI.

I spent most of the 90s writing Clipper code, used to hang out in comp.lang.clipper lots too. Do still sort of miss it.

https://harbour.github.io/ does exist, although it’s a long while since I last played with that.

My thought was exactly same, “but why?”. It is indeed very cool. But ‘cool’ not enough to drive such an effort for me i guess. I realize the importance, as it can be used over SSH too. A TUI can be very helpful for graphic less servers, say.
Absolutely, I can't wait to get my MS Paint on over ssh. But more seriously, you're absolutely right. There is clearly a large degree of utility in utilizing the terminal as a visual interface/platform. A project such as Textual, which makes development for that platform simpler, is something I can stand behind.
On my MacBook Air 2017, it chokes when loading a 1280x800 JPG (around 192 KB). At least so far works OK when creating new images.
This is by the same person who made jspaint. https://github.com/1j01/jspaint Some of the other projects by the author are also very interesting https://github.com/1j01?tab=repositories&q=&type=&language=&...

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

I already knew about https://yourworldoftext.com

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

https://ourworldofpixels.com/planetsim

https://ourworldofpixels.com/jpdld

I expect, at the minimum:

- a rust port

- an emacs port

:-)

Well, Emacs has had a poor man's "Paint" for over two decades:

  ;;; 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...

How about bash? :p

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!)

Ok, so I was a bit bored...

- 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
I would love to see something like Monodraw, that could generate centered text boxes and simple diagrams for use in READMEs. Monodraw is great, but I don’t think it’s in development anymore.
Fantastic project! Would have loved this on DOS back in the days.
DOS didn't have these nice emoji icons, but we had TheDraw back then.
Looks cool - Unfortunately this is the first time I hear about it!
One of those things that seeing it in action is a lot more impressive than what you may imagine.