首页 > 解决方案 > nCurses 应用程序来自后台时的内容无效

问题描述

将 nCurses 应用程序置于后台/前台时,我观察到它的奇怪行为。几次后,我的窗口显示无效内容。我怀疑在向我的应用程序发送SIGSTOP/SIGCONT信号时,我需要处理这些信号并刷新窗口,但我找不到任何关于它的注释。从后台返回时,nCurses 是否有某种方式刷新窗口?或者原因可能不同?

标签: c++posixncurses

解决方案


ncurses 确实有一个处理程序SIGTSTP它在其中设置initscr- 如果它处于默认状态

SIGTSTP
这处理用于作业控制的停止信号。恢复进程时,此实现使用 flushinput 丢弃待处理的输入(请参阅 curs_util(3x)),并假设屏幕已完全更改,重新绘制屏幕。它还使用 def_shell_mode 更新保存的终端模式(参见curs_kernel(3x)


推荐阅读