

Vedeu: Ruby-based terminal GUI framework - TheRealGL

I&#x27;ve been working on a terminal&#x2F;console based GUI framework for Ruby for around 4&#x2F;5 months. Its still very basic, but there&#x27;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.<p>Vedeu: https:&#x2F;&#x2F;github.com&#x2F;gavinlaking&#x2F;vedeu<p>(The mp3 player; Playa: https:&#x2F;&#x2F;github.com&#x2F;gavinlaking&#x2F;playa).
======
klibertp
From the headline alone it looks a lot like Urwid in Python-land:
[http://urwid.org/](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...](https://github.com/gavinlaking/vedeu/blob/master/lib/vedeu/support/esc.rb)

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

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
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
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
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](https://github.com/skorks/escort)

~~~
miah_
This is not a CLI Framework; it is a GUI framework. You can think of this as a
ncurses interface for Ruby.

[https://en.wikipedia.org/wiki/Ncurses](https://en.wikipedia.org/wiki/Ncurses)

~~~
bantunes
It doesn't use ncurses, actually - it just prints characters out to STDOUT.

~~~
klibertp
"characters" is a bit misleading name for what it is:
[https://github.com/gavinlaking/vedeu/blob/master/lib/vedeu/s...](https://github.com/gavinlaking/vedeu/blob/master/lib/vedeu/support/esc.rb)
\- but yes, that's how it works.

~~~
bantunes
how are those not characters? :D

------
atmosx
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 :-)

~~~
TheRealGL
Thank you, will announce there a little later today :-)

------
lukeholder
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](https://github.com/JEG2/highline)

------
roeme
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?

~~~
TheRealGL
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
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
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
This is pretty cool - been kind of looking for something similar in node-land,
inquirer seems a bit lacking

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

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

