我正在创建一个在ncurses中显示一些信息的程序,然后打开vim(使用system
)以允许用户编辑文件。但是,在退出vim之后,ncurses屏幕将不会重绘。 refresh
和wrefresh
没有做任何事情,导致我的菜单完全被废弃。
所以,我被送回命令行。当我移动它们时,菜单项重绘。四处移动会产生如下情况:
正如你所看到的,我不再处于我那漂亮的ncurses环境中了。
我可以完全拆掉ncurses并重新设置,但是后来某些东西(比如菜单位置)不会被保留。
我该如何正确地做到这一点?有没有更好的方法来调用一些外部程序并优雅地返回这里?
答案 0 :(得分:1)
答案 1 :(得分:0)
将程序状态与curses状态分开。
我所知道的唯一干净方法是完全停止并重新启动curses。如果你的程序有一个干净的内部状态概念(应该如此),那么它应该很容易回到相同的位置。
祝你好运!