以全屏模式执行的进程

以全屏模式执行的进程

我正在尝试开发一个聊天应用程序,其界面是基于终端的。为此,我一直在使用screentmux命令。

然而,我发现它们有一个相似之处:我的命令不在全屏模式下运行,就像我在框架/面板/窗格/窗口中向上滚动足够多一样,我仍然可以可视化历史记录和外壳。

例如,如何使我的程序像 vi 一样以全屏模式运行?

谢谢!

答案1

所以你想创建一个途易(基于文本的用户界面)应用程序?作为TUI 维基百科页面说:

在类 Unix 操作系统中,TUI 通常是使用终端控制库构建的咒骂, 或者恩诅咒,一个大部分兼容的库。

一种简单的互动方式恩诅咒使用tput命令行工具。这样我们就可以解决您有关“全屏模式”的具体问题。这通常是通过激活辅助屏幕来完成的(任何合适的终端模拟器都应该提供该屏幕):

tput smcup

当前屏幕将被隐藏(例如,您将无法向上滚动并查看以前的输出),并且在新的“新鲜”屏幕中您将呈现您的应用程序。退出后返回主屏幕:

tput rmcup

……一切都会恢复如初。

tput这是其他功能的示例

tput cup 23 4  # move the cursor to row 23, column 4 of your terminal

tput ed  # clear to end of screen

tput setaf 2  # set foreground color to bright green

tput cubl  # move cursor left one space

tput rev  # turn on reverse video mode

tput sc  # save the cursor position
tput rc  # restore the cursor position

参见man tputman 5 terminfo。对于后者,您需要向下滚动到预定义功能特别是部分。

网上有很多很好的资源可以了解更多信息,例如http://linuxcommand.org/lc3_adv_tput.php

tmux(注意,以上内容与您是否使用等无关。)

相关内容