rbcurse is a small widget library written in ruby for creating ncurses applications. All widgets can be created at *any* time, and modified at any time.
This page is outdated. Major additions and work has been committed. Check the github page here for the latest. This branch works under ruby 1.9 (git branch) The master branch is for ruby 1.8 only.
All widgets expose events to which actions can be bound (typically movement, enter/leave, data modifications etc). Many are built using the MVC architecture so there are data-models and renderers that may be modified/extended/replaced. For example, for table editing each column datatype has its own cell-renderer (for string, numeric, checkboxes and comboboxes).
This library depends on ncurses-ruby, but only for the window class. It does not use ncurses forms and fields which are very restrictive and cumbersome.
Released 0.1.2 on Feb 22. Minor tweaks and enhancements in 0.1.3 in March
Latest screenshots and updates on blog.
sudo gem install ncurses-ruby sudo gem install rbcurse
Above may be created using DSL like syntax, or hashes.
My current focus is on writing some applications, to not only test the widgets but also find out loopholes or missing functionality. I have made a TODO app (video) which allows for editing of multiple rows and columns in a tabular format. The second was a File Explorer (2 paned) which I shall continue working on, so it has a fair amount of functionality. The third which i shall start in a day or so, is a small SQL client (image)(video), which will test the ability to change table structures, find loopholes in tables with a large number of columns.
See this link for demos and screenshots. Please note that the demos are hastily created and there's a lot more to the apps than shown.
File Explorer Demo
Tiny SQL Client demo
Todo Demo
Thanks to the creators and maintainers of ruby and ncurses-ruby and ncurses.
Also to all the helpful folk on ruby-forum.com for fielding my silly questions with patience (usually).
Thanks to all those who responded to my queries posted on my blog.
Thanks to all the great articles which helped me learn ruby, the pickaxe book, Jay Fields, Eli Bendersky, JEG, (_why, I still can’t understand a word of what you say!), and more.
Thanks to manveru (michael) used your window class and adapted getch
Thanks to sup - picked up some Color related stuff from there.
Thanks to Jim Freeze. Learned how to write DSLs from here.