如何在ncurses中使用当前屏幕作为背景?

时间:2012-10-02 15:08:13

标签: ruby ncurses

我想使用ncurses在当前终端上创建叠加层。从C示例中可以看到一个cur_scr变量,其中包含当前屏幕的数据,我假设我可以用它来清除屏幕,创建覆盖终端的ncurses外观。

我想用ruby ncurses做这个,这似乎有问题,因为我不知道如何从ruby访问cur_scr变量。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我担心这是不可能的。

当你开始ncurses时,它无法知道屏幕当前包含的内容,所以它首先要做的就是清除屏幕。一旦屏幕被清除,ncurses就会知道屏幕的状态,因此它可以叠加内容,但它通过始终在内存中保持屏幕的完整状态来实现。 (见How Do ncurses et. al. Work?

某些终端能够保存屏幕内容,并在ncurses应用程序结束时重新显示,但这不是ncurses的功能,它是终端的一项功能。