8

I'd like to code a command line program that result in this UI:

------------
|          |
|     A    |
|__________|
|_____B____|

A is a separate process that loops and displays a list of real time events. It self-refresh.

B is a command prompt. It's fixed at the bottom and got a command history.

I know some command line IRC programs does this so it must be possible.

Bonus point if you can give me a snippet using a Python binding.

I'm aware of this post but I'm kind of lost in the curse documentation.

Community
  • 1
  • 1
Bite code
  • 578,959
  • 113
  • 301
  • 329

3 Answers3

2

Enventually I tried to do it with urwid which is way higher level than ncurse.

I asked a question about it on SO and didn't got more results.

But eventually I found some FOSS that did just that, I used the source code and made something that worked. You can find the answer in the related question.

Community
  • 1
  • 1
Bite code
  • 578,959
  • 113
  • 301
  • 329
0

For posterity - this is a great implementation of the architecture you desire, written with urwid (an ncurses wrapper): http://zderadicka.eu/terminal-interfaces-in-python/#comment-123799

It took some tweaking to turn it into a chat client, but it's pretty simple to do so with pipes. The author's code is on github: https://github.com/izderadicka/xmpp-tester/blob/master/commander.py

0

Have a look at the /Demo/curses/ directory of the python source code. It lists several intersting examples using the curses module that you can learn all you need from, and some more.

Hraban Luyat
  • 639
  • 4
  • 3