What are popular charm/bubbletea based TUIs? I use TUIs often, but for some reason none of them are based on charm/bubbletea? Might be coincidence though. While I appreciate Charm's aesthetics, I worry it leans too heavily on GUI paradigms, like popovers and buttons, rather than prioritizing the optimal keyboard efficiency used in traditional text-based interfaces.
Charm Ruby – Glamorous Terminal Libraries for Ruby
11–20 of 31 posts
Re: Charm Ruby – Glamorous Terminal Libraries for Ruby
#12Re: Charm Ruby – Glamorous Terminal Libraries for Ruby
#13Re: Charm Ruby – Glamorous Terminal Libraries for Ruby
#14But as a first release, I'm wondering if it maybe misses what Ruby really enables. The Hello World example has both init and initialize methods? message.to_s == "q"? @style.render?
I remember reading Eloquent Ruby and having my mind completely blown with the clarity and expressiveness that Ruby's metaprogramming enabled. It remains, in my opinion, one of the best programming books of all time for just how mind expanding it was and how it really made the case for Ruby and why there is no other language like Ruby.
I highly recommend that the authors go pick up a copy and then think about how it would influence their API design, I think there's a much more... eloquent approach feasible here, and it would be a pretty incredible way to build small/simple TUI apps.
Re: Charm Ruby – Glamorous Terminal Libraries for Ruby
#15How funny. I just spent the weekend AI slopping an FFI wrapper around notcurses because I couldn't find anything else. This looks amazing! Since you asked for ideas in a different comment, here's something I put into my notcurses wrapper: grid and flex "css" layouts. Meaning the ability to say whatever.fixed(cols,...) and whatever.flex(:fr1) or whatever.grid(:fr1) and the ability to do a "grid-template-areas" style a…
> ... couldn't find anything else Anything else meaning...? Ruby specific TUI library? I've been toying around with a lot of TUI's recently, landed on Textual (Python) for my most recent experiemnt, but Charm has been on my list to try out when I get a chance. There are also a number of other libs that will let you build quite robust applications in a number of languages (Rust, Python, Go, PHP, and those are just the…
Re: Charm Ruby – Glamorous Terminal Libraries for Ruby
#16Bookmarked, I think this is a really good idea and could lead to some really small, elegant TUI code. But as a first release, I'm wondering if it maybe misses what Ruby really enables. The Hello World example has both init and initialize methods? message.to_s == "q"? @style.render? I remember reading Eloquent Ruby and having my mind completely blown with the clarity and expressiveness that Ruby's metaprogramming enab…
to_s normalizes code down to a string that can be compared when the object could be arbitrary and might not implement ==
init is one of the three core framework methods for the elm pattern.
Re: Charm Ruby – Glamorous Terminal Libraries for Ruby
#17Bookmarked, I think this is a really good idea and could lead to some really small, elegant TUI code. But as a first release, I'm wondering if it maybe misses what Ruby really enables. The Hello World example has both init and initialize methods? message.to_s == "q"? @style.render? I remember reading Eloquent Ruby and having my mind completely blown with the clarity and expressiveness that Ruby's metaprogramming enab…
And yeah, I agree. I'm not super happy with some of the APIs as they aren't really idiomatic Ruby. It's also something I mentioned in the blog post that I want to improve: https://marcoroth.dev/posts/glamorous-christmas
For now, I just wanted to get them out so we as a community can build them out together. Most of the APIs are just 1:1 "ports" of their Go counterparts and might feel off or a bit too low level because of that.
Re: Charm Ruby – Glamorous Terminal Libraries for Ruby
#18This is like a dream come true, fantastic! Regarding the spinner component, can I create multiple of those in the terminal and have them run concurrently? That is one of the features that lots of gems have been lacking in Ruby, at least from what I've found. Tty-progressbar is the only gem I've found that can do this.
Re: Charm Ruby – Glamorous Terminal Libraries for Ruby
#19Re: Charm Ruby – Glamorous Terminal Libraries for Ruby
#20Off-topic: it'd be nice to have a configuration spec to define the look (and maybe even the behaviour) of the different CLI & TUI libraries out there. For things like colours/borders/corners/shadows/scroll- & progressbars etc.
Right now every library does its own thing, which can be quite jarring when using different apps.