Skip to content

Releases: mvysny/tuile

Release list

v0.2.0

Choose a tag to compare

@mvysny mvysny released this 15 May 10:06
  • Add Component::TextArea with multi-line editing, word navigation, and VT220-style Home/End handling.
  • Add Component::Button.
  • Add Tab / Shift+Tab focus cycling.
  • Add Ctrl+arrow word navigation to Component::TextField.
  • Add Component::List#on_cursor_changed.
  • Add examples/sampler.rb.
  • Paint TextField with a colored background.
  • Buffer Screen#print into a per-frame buffer during repaint, and release it on exception.
  • Join the key thread after killing it in run_loop's ensure block.
  • Auto-clear gappy children in Component#repaint.
  • Inline a minimal truncation helper and drop the strings-truncation dependency.
  • Lower the Ruby floor to 3.4; pin CI head to 4.0; fix Ruby 3.4 compatibility.
  • Bump minitest to 6.0.
  • Document TextField SGR constants; refresh sig/tuile.rbs.

Gem: https://rubygems.org/gems/tuile/versions/0.2.0

v0.1.0

Choose a tag to compare

@mvysny mvysny released this 02 May 07:17

Initial release.

Tuile is a small component-oriented terminal-UI framework built on top
of the TTY toolkit. Apps build a tree of Tuile::Components under a
singleton Tuile::Screen; the screen runs an event loop, dispatches
keys/mouse, and repaints invalidated components in batch. The name is
French for "roof tile" — small pieces that compose into a larger whole.

Extracted from virtui's lib/ttyui/.

Install: gem install tuile or add gem "tuile", "~> 0.1" to your Gemfile.

See CHANGELOG.md and the README for usage.