据此(@Programs using ncurses):
http://en.wikipedia.org/wiki/Ncurses
和这个:
http://aperiodic.net/screen/faq#when_i_split_the_display_and_then_detach_screen_forgets_the_split
Screen 使用 termcap(我几乎不知道如何使用)而不是文本库来处理窗口拆分。我正在开发一个小型 C++ 控制台应用程序,我需要在其中做同样的事情。我尝试使用 ncurses,这是显而易见的选择,但它不支持颜色的 ANSI 转义序列(http://ascii-table.com/ansi-escape-sequences.php),而我实际上在做的是 fork ()/exec() 同一个 tty 中的 4 个 bash shell,这在 ncurses 中是小菜一碟,但是没有颜色和许多看起来像垃圾的失败转义序列。像 printf() 和 std::cout 这样的方法可以完美地处理颜色,但在这种情况下是无用的,因为 ncurses 依赖于它自己的函数来保持位置。
在建议将转义序列解析为 ncurses 以使用库的本机属性对输出进行着色之前,请记住这是太多的工作,应该有一种更优雅的方式来处理它(就像 GNU Screen 一样)
那么,关于如何解决它的任何想法?
提前致谢