2016-01-21 59 views
0

ncurses應用程序檢查終端是否已調整大小。如果尺寸小於80x25,則清空屏幕並顯示錯誤消息。ncurses最佳實踐:清除窗口的屏幕

如果應用程序有N個窗口,應該全部用delwin()刪除,還是撥打clear()就足夠了?另一方面,現有的窗口可以在clear()後重新使用 - 如果終端尺寸變得令人滿意時刷新和顯示內容 - 或者應該重新創建它們?

回答

0

清除窗口聽起來像應用程序的行爲,而不是像這樣的ncurses。如果窗口大小增加,ncurses庫(請參閱resizeterm)將清除區域。

調整大小時的最佳策略實際上取決於您在窗口中的內容。 ncurses正在做出相當安全的更改,但由於它沒有關於您在屏幕上關閉某些東西以及其他人分離的意圖的信息,它只能嘗試調整窗口大小以保留其內容。應用程序仍然可以清除它們並重新開始,並在屏幕上移動窗口。

這是您的決定,是重新創建窗口還是重用它們更簡單。

只要所有重建都在下一次重新繪製屏幕之前完成(例如,使用wrefresh),ncurses將盡可能少地進行更新。