【发布时间】:2012-12-21 10:50:19
【问题描述】:
我想在屏幕上所有窗口的顶部绘制一些图元。我在 C 中找到了一些代码并尝试将其移植到使用 python 的 xlib:
from Xlib.display import Display
from Xlib import X
from Xlib import protocol
display = Display(':0')
root = display.screen().root
gc = root.create_gc()
root.fill_rectangle(gc, 100, 100, 500, 500)
但是屏幕上什么也没有出现(但是,根窗口被分配:在它工作后抓取键盘)。如何正确地做到这一点?
【问题讨论】:
-
除非您正在编写窗口管理器,否则编写 X 根目录是一个非常糟糕的主意。从其他所有内容中窃取输入焦点是执行此操作的应用程序多么“粗鲁”的一个示例。我会在您使用的任何 GUI 工具包中寻找“模态对话框”。
-
@msw:我写的不是窗口管理器,而是另一个低级应用程序,所以真的有必要在所有窗口之上绘制。
标签: python unix drawing xlib xorg