# How to write a nice (complex) console app?

**URL:** <https://www.ruby-forum.com/t/how-to-write-a-nice-complex-console-app/119866>\
**Category:** Ruby\
**Created:** [November 11, 2007, 3:50pm UTC](https://www.ruby-forum.com/t/how-to-write-a-nice-complex-console-app/119866 "2007-11-11T15:50:50Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![kazaam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b4bc9f/32.png) [@kazaam](https://www.ruby-forum.com/u/kazaam)\
**Post date:** [November 11, 2007, 3:50pm UTC](https://www.ruby-forum.com/t/how-to-write-a-nice-complex-console-app/119866/1 "2007-11-11T15:50:50Z")

</div>

Hi,  
how can I do a nice console interface? I wanna do something like this  
her:

* * *

|Entry1 |Subitem1 of Entry1 |  
|Entry2 |Subitem2 of Entry1 |  
|Entry3 |Subitem3 of Entry1 |  
| | |  
| |---------------------------------------|  
| |Content of Subitem1 of Entry1 |  
| | |  
| | |  
| | |  
| | |  
| | |

| | |
| --- | --- |

With the up and down keys I wanna scroll within the three different  
areas. And with scroll I really mean scroll,e.g. one entry could have 10  
subitems which don’t fit all at once in this area so with going up &  
down this area must be redrawn if neccessary. The actually selected  
entry should also be highlighted…

And with the left and right keys I wanna jump between the three  
different areas.

But I’ve no idea how to do this task?

Could someone just point me in the right direction which gem or lib I  
need? It should be Utf-8 compatible…

The whole thing shall be working under linux.

bye

---

<div class="post-metadata">

**Author:** ![kazaam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b4bc9f/32.png) [@kazaam](https://www.ruby-forum.com/u/kazaam)\
**Post date:** [November 11, 2007, 4:01pm UTC](https://www.ruby-forum.com/t/how-to-write-a-nice-complex-console-app/119866/2 "2007-11-11T16:01:23Z")

</div>

On Nov 11, 2007 9:50 AM, kazaam [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> | | |  
> must be redrawn if neccessary. The actually selected entry should also be  
> The whole thing shall be working under linux.
> 
> bye

You want ncurses.

Don’t know what’s available for ncurses in Ruby though.

Jason

---

<div class="post-metadata">

**Author:** ![kazaam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b4bc9f/32.png) [@kazaam](https://www.ruby-forum.com/u/kazaam)\
**Post date:** [November 11, 2007, 4:35pm UTC](https://www.ruby-forum.com/t/how-to-write-a-nice-complex-console-app/119866/3 "2007-11-11T16:35:53Z")

</div>

> You want ncurses.
> 
> Don’t know what’s available for ncurses in Ruby though.
> 
> Jason

thx I found a ncurses-binding for ruby and will give it a try 🙂
