Show HN: A pure-Ruby X11 terminal (github.com)

10 points by vidarh ↗ HN
I use this as my regular xterm replacement... Why? Because I can.

It's pure-Ruby down to the font-renderer, and the X11-bindings.

(I also run a Ruby WM, a Ruby editor, file manager, and more, so this is just par for the course of my descent into madness)

It supports double-width and double-height text, unicode (but double-width characters may currently be rescaled down), layering fonts, special rendering of box-drawing characters (to ensure they seamlessly scale and connect, and has reasonably complete vt-100/vt-102 emulation. The whole thing is available as a Rubygem and comes with an ANSI text backend, so you can run your terminal in your terminal. The bulk was written manually, but the last few days I had Claude write a test harness to shake out a bunch of bugs, and start refactoring and cleaning up the code base (it's still full of warts).

5 comments

[ 4.9 ms ] story [ 19.4 ms ] thread
> Why? Because I can.

Always the best reason.

> This shows Rubyterm running on my Ruby based WM, running Rubyterm with a text-based-backend that renders a a terminal to text (so it can run in any terminal), running my editor Re editing the Rubyterm example. The text is rendered using the pure-Ruby TrueType font renderer Skrift, and connected to my X11 server using the Pure-X11 Ruby X11 bindings

Cool

I just connected the dots. You're the guy who constructed a direct Ruby-to-assembly compiler some time ago, right?