如何在Python curses中访问curscr?

时间:2014-03-20 14:37:16

标签: python ncurses curses

在Python中使用curses时,我知道如何使用stdscr返回的curses.initscr()。如何访问保存当前屏幕图像的curscr

背景:我有几个(重叠)窗口。为了让它们看起来不错,我添加了阴影。对于更多的糖果,我希望阴影是底层文本的黑白版本,所以我需要得到我的窗口阴影覆盖的文本。如果我使用stdscr.inch(y, x),我会得到所有空白,因为我的stdscr为空(所有内容都使用windows显示)。

ncurses C API包含curscr,我认为这解决了我的问题。目前唯一的其他解决方案是跟踪所有现有窗口(我已经在python类中包含),如果我需要从屏幕上获取一个字符,遍历所有已知窗口并检查它们是否与我的测试相交点(增加了更多的复杂性,因为我也需要实现Z轴管理)。

目前看起来如何(请注意白色上下文菜单如何与总线节点窗口重叠,而不使用左下角/右上角的正确属性):

Screenshot from my home automation text interface over ssh

1 个答案:

答案 0 :(得分:0)

虽然我没有找到使用curscr的解决方案,但我实现了自己的窗口管理器类,它负责正确的刷新顺序,并且不需要curscr来正确重叠。< / p>