NOTICE: libROTE has not been upgraded in a while and it
seems that it will remain that way for, well, another while.
libROTE works as it is (it's not broken, just stalled),
but it is lacking several interesting features
such as Unicode support and other desirable capabilities.
If you are starting a new project, please take a look at
libvterm.
It's a library originally based on libROTE, but which adds several
desirable features, and is under active development (as of 2009-10-19).
Also, if you intend to contribute code and patches, you'll have more
luck and more feedback if you contribute directly to libvterm
rather than libROTE.
@ brunotc gmail.com
Other programs by the same author:
The goal of the ROTE library is to provide terminal emulation support for C/C++ applications, making it possible to write programs that display terminals in embedded windows within them, or even monitor the display produced by other programs.
The ROTE library does not depend on any fancy library: only libc and ncurses. The ROTE library is able to render the virtual screens to the physical screen (actually any ncurses window) and can also translate ncurses key codes to the escape sequences the Linux console would have produced (and feed them into the terminal). Using ncurses is not mandatory however, and ROTE will work fine without it, but in that case the application must take care of drawing the terminal to the screen in whichever way it sees fit.
ROTE also encapsulates the functionality needed to execute a child process using the virtual screen as the controlling terminal. It will handle the creation of the pseudo-terminal and the child process. All the application has to do is tell it the command to run in the terminal and call an update function at regular intervals to allow the terminal to update itself.