this post was submitted on 21 Jan 2024
11 points (86.7% liked)
Ruby
532 readers
1 users here now
A community for discussion and news about Ruby programming.
Learning Ruby?
- Try Ruby in your browser
Tools
- Ruby Version Manager (RVM) Install, manage and work with multiple Ruby environments. adsf is an increasingly popular option too.
- rbenv Groom your app’s Ruby environment with rbenv.
- Looking for new gems? ruby-toolbox
- Install Ruby on macOS
Documentation
- Ruby API or Ruby Doc
- YARD docs via rubydoc.info YARD Documentation Server
Books
- Well Grounded Rubyist
- Eloquent Ruby
- Metaprogramming Ruby
- Effective Testing with RSpec 3
- Programming Ruby 1.9: The Pragmatic Programmers’ Guide
- The Ruby Programming Language
Screencasts
News and updates
- Ruby news in a weekly email from Ruby Weekly
- 'Planet' of Ruby blogs at rubyland.news
- Ruby tweets at @RubyInside
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I'm fine with GNOME, but this long comment makes me feel like I'm missing a world if nice and optimized small software pieces which do exactly what you expect from them and nothing more.
Now I'm curious about the terminal you're using!
I'm not sure if "optimized" is the right word for my stack at the moment. Optimized in the sense that it is small, sure, but it does come at a performance cost - as much as I love Ruby, e.g. doing font rendering in Ruby is only viable because you only need to render each glyph once per size you use, for example. But I feel the performance tradeoff is acceptable. For me at least.
The terminal is also nothing "special" yet, other than the fact it's written in Ruby, and uses that Ruby font-renderer. It needs some serious bug fixes and cleanups and then that too will go on Github.
For me the tradeoff is that I get full control, and there are a few things I want to experiment with:
Since it can parse escape codes, there's nothing preventing a thin IO wrapper so it's possible to use the backend to output to an X11 window. Benefits of that would be being able to e.g. use part of a window for text output while rendering other things in the rest of the window, or plugging in your own code to augment the rendering in various ways.
But if you do that, you can strip out the escape code parsing, or bypass it, and use the underlying terminal buffer for the same purpose. E.g. my text editor already renders to a terminal-like buffer, and so when running under X it'd save going through the terminal pipeline, and I'd have the option of "upgrading" its rendering while keeping most of it pure text.
I'd like to play with ways to do filtering and post-processing of content. E.g. highlighting based on running Ruby code over the output.
Especially since a large part of my use is my editor, augmenting the backend with support for small "upgrades" w/GUI features, like letting Ruby apps that pull in the backend control and respond to a scrollbar in the terminal, or "replace" the scrollback buffer w/control over the editors buffer, or plugins to add a minimap, to make it really easy to write Ruby apps that work in any terminal but that can get extra features when it can open its own windows would be interesting.