2016-01-21 187 views
0

ncurses应用程序检查终端是否已调整大小。如果尺寸小于80x25,则清空屏幕并显示错误消息。ncurses最佳实践:清除窗口的屏幕

如果应用程序有N个窗口,应该全部用delwin()删除,还是拨打clear()就足够了?另一方面,现有的窗口可以在clear()后重新使用 - 如果终端尺寸变得令人满意时刷新和显示内容 - 或者应该重新创建它们?

回答

0

清除窗口听起来像应用程序的行为,而不是像这样的ncurses。如果窗口大小增加,ncurses库(请参阅resizeterm)将清除区域。

调整大小时的最佳策略实际上取决于您在窗口中的内容。 ncurses正在做出相当安全的更改,但由于它没有关于您在屏幕上关闭某些东西以及其他人分离的意图的信息,它只能尝试调整窗口大小以保留其内容。应用程序仍然可以清除它们并重新开始,并在屏幕上移动窗口。

这是您的决定,是重新创建窗口还是重用它们更简单。

只要所有重建都在下一次重新绘制屏幕之前完成(例如,使用wrefresh),ncurses将尽可能少地进行更新。