Settings

Theme

Vedeu: Ruby-based terminal GUI framework

91 points by TheRealGL 11 years ago · 19 comments · 1 min read


I've been working on a terminal/console based GUI framework for Ruby for around 4/5 months. Its still very basic, but there's a complimentary mp3 playing app which uses it to showcase capabilities. Not quite cross-platform, and still needs a bit of work. Welcoming pull requests.

Vedeu: https://github.com/gavinlaking/vedeu

(The mp3 player; Playa: https://github.com/gavinlaking/playa).

klibertp 11 years ago

From the headline alone it looks a lot like Urwid in Python-land: http://urwid.org/

Some compare&contrast would be a nice introduction for those who know one but not the other (like me).

EDIT: it looks like this one really doesn't use ncurses at all relying instead on terminal escape codes: https://github.com/gavinlaking/vedeu/blob/master/lib/vedeu/s...

Urwid can use that too, but has a few other display backends: http://urwid.org/reference/display_modules.html#module-urwid...

Urwid is also MUCH older (first Changelog item from 2004).

Of course, Urwid is still Python, so it may not be a good fit if you absolutely need a Ruby library.

ccallebs 11 years ago

Wildly, I was looking for something like this a few weeks ago when I got the itch to create a text-based game. I came across ncurses, but this looks to fit the bill a lot better than that.

I doubt I'll get around to pursuing the game in any amount of time, but I definitely support the project. It fills a niche I was looking for.

davidroetzel 11 years ago

I have been looking for something like this a while ago. I was very dissatisfied with the existing solutions. This looks a lot nicer. I hope to find some time to play with this. Thanks for sharing!

ufmace 11 years ago

How does it compare to some of the other Ruby CLI frameworks?

I've been using escort[0] for my CLI utilities, and it seems like a decent compromise between providing a useful number of features and not bloating your app into a huge framework with a complex DSL to figure out. It is a little short on interactivity once the command is running, though.

[0] https://github.com/skorks/escort

atmosx 11 years ago

Hello,

I'm an amateur ruby developer. You should announce your project to the ruby-users mailing list: ruby-talk@ruby-lang.org

best regards and thanks for the code :-)

lukeholder 11 years ago

This looks fantastic, look forward to trying it out. I have built various csv conversion scripts for people to use at work, and have been using the awesome highline[0] option parser, but i would make people feel so much more comfortable with a more usable interface.

[0] https://github.com/JEG2/highline

roeme 11 years ago

I'm split here, on one hand there's (n)curses already available on ruby, on the other hand, you need an additional library for it. Any other benefit one should be aware of?

  • TheRealGLOP 11 years ago

    Hi,

    I've tried to escape the tyranny of NCurses to be honest. NCurses is procedural in nature and I wanted to try to provide an OOP interface as my solution. I'm also experimenting with events which I think make implementing GUI apps with this framework much easier and flexible.

chazu 11 years ago

Looks very cool, and more intuitive than a lot of the popular alternatives (urwid, blessings/blessed). I'll be giving this a shot soon, thanks for sharing it!

lucisferre 11 years ago

Wow, I was searching for exactly this kind of framework to build a little Pomodoro clock to run in a Tmux window. Thanks so much for this!

taternuts 11 years ago

This is pretty cool - been kind of looking for something similar in node-land, inquirer seems a bit lacking

thirdtruck 11 years ago

Thanks! Looking forward to applying this to my personal productivity workflow.

zura 11 years ago

I'd love to see modern Turbo Vision clone :)

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection