Show HN: Tattoy – a text-based terminal compositor

Whereas this is mostly a terminal eye-candy project to get you street cred, it does have some serious aspects.

Firstly it solves the age-old problem of low-contrast text, like when you `ls` a broken symlink and the red background colour is too near your current theme's foreground colour. Tattoy solves this by using none other than the web's WCAG 2.1 contrast algorithm for accessible text.

Secondly, an explicit design goal is that Tattoy should be able to polyfill new terminal protocols, the `xwayland` of the TTY if you will. Say if we want to experiment with completely deprecating ANSI codes, then any application that uses a new protocol can be run in Tattoy which itself runs in any ANSI-standard terminal emulator as normal. You can read more about this idea here: https://tattoy.sh/news/an-end-to-terminal-ansi-codes/

But ultimately this has been something more akin to an art project, something to enjoy for the sheer aesthetic pleasure.


Comments URL: https://news.ycombinator.com/item?id=44268644

Points: 27

# Comments: 3

https://tattoy.sh

Établi 3d | 13 juin 2025, 15:20:08


Connectez-vous pour ajouter un commentaire

Autres messages de ce groupe

Show HN: Socket-call – Call socket.io events like normal JavaScript functions

Hello HN,

I built a Typescript library (named socket-call, for lack of a more sexy name) whose goal is to be able to call socket.io events as regular functions.

So you declare your server-side

16 juin 2025, 15:10:13 | Hacker news
Show HN: dk – A script runner and cross-compiler, written in OCaml

I've always found it cool to be in roles where I can help a younger generation learn skills to have a bright future. That role is something I do in a few ways (as a parent, robotics mentor, school

16 juin 2025, 15:10:08 | Hacker news
Show HN: Zeekstd – Rust Implementation of the ZSTD Seekable Format

Hello,

I would like to share a Rust implementation of the Zstandard seekable format I've been working on.

Regular zstd compressed files consist of a single frame, meaning you have to start dec

16 juin 2025, 12:50:02 | Hacker news