我想写一个基于GUI /终端的应用程序,我需要清除终端,然后写出gui。
但是,如何在应用程序完成后将终端重置为正常状态?
答案 0 :(得分:1)
终端(例如xterm和“任何”模拟它)支持称为备用屏幕的功能。通常,终端描述包括切换到smcup
和rmcup
功能中的备用屏幕,并由ncurses应用程序使用。 (并不总是使用该功能,因为某些用户不喜欢该功能)。即使它不是终端描述的一部分(见tgetstr("ti")
或tigetstr("smcup")
),您的应用程序也可以编写文字转义序列。
在将切换到备用屏幕时,约定(在终端转义序列中使用)是清除备用屏幕,将光标放在左上角。切换回原始(正常)屏幕和光标位置。
xterm常见问题 Why doesn't the screen clear when running vi? 中讨论了备用屏幕。