我想使用ncurses在当前终端上创建叠加层。从C示例中可以看到一个cur_scr
变量,其中包含当前屏幕的数据,我假设我可以用它来清除屏幕,创建覆盖终端的ncurses外观。
我想用ruby ncurses做这个,这似乎有问题,因为我不知道如何从ruby访问cur_scr
变量。
我该怎么做?
答案 0 :(得分:0)
我担心这是不可能的。
当你开始ncurses时,它无法知道屏幕当前包含的内容,所以它首先要做的就是清除屏幕。一旦屏幕被清除,ncurses就会知道屏幕的状态,因此它可以叠加内容,但它通过始终在内存中保持屏幕的完整状态来实现。 (见How Do ncurses et. al. Work?)
某些终端能够保存屏幕内容,并在ncurses应用程序结束时重新显示,但这不是ncurses的功能,它是终端的一项功能。