Linux中有没有类似CreateConsoleScreenBuffer/ReadConsoleOutput读取终端内容的函数?
In Linux, are there any functions similar to CreateConsoleScreenBuffer/ReadConsoleOutput to read the terminal contents?
即如何在Linux中创建新的屏幕缓冲区并读取/写入缓冲区内容?我说的屏幕缓冲区是指显示给用户的内容。或者整个屏幕。
我不想使用 ncurses。我找到了 terminfo,但我想要一个函数而不是一个命令。也许ioctl可以读取缓冲区,但我不知道如何使用它。
没有
假设 用户程序 将维护它希望保留的所有屏幕内容的缓冲区。
这实际上是 NCurses 的工作方式:所有输出函数实际上修改 WINDOW
缓冲区,并且 wrefresh()
导致该缓冲区刷新到显示器, 根据需要。
Microsoft 的 Windows 终端路线图期望未来的 TUI 程序也能做到这一点,因为我想这就是它在 Linux 中的工作方式。
即如何在Linux中创建新的屏幕缓冲区并读取/写入缓冲区内容?我说的屏幕缓冲区是指显示给用户的内容。或者整个屏幕。
我不想使用 ncurses。我找到了 terminfo,但我想要一个函数而不是一个命令。也许ioctl可以读取缓冲区,但我不知道如何使用它。
没有
假设 用户程序 将维护它希望保留的所有屏幕内容的缓冲区。
这实际上是 NCurses 的工作方式:所有输出函数实际上修改 WINDOW
缓冲区,并且 wrefresh()
导致该缓冲区刷新到显示器, 根据需要。
Microsoft 的 Windows 终端路线图期望未来的 TUI 程序也能做到这一点,因为我想这就是它在 Linux 中的工作方式。