使用PyCairo直接绘制到根窗口

3

我希望能够使用Cairo在Python中直接绘制到根窗口。我已经测试过在全屏窗口上进行绘制,所以我知道那不是问题所在。然而,当我尝试像这样直接绘制到根窗口时:

root = gtk.gdk.get_default_root_window()
cr = root.cairo_create()
...
# Drawing code here

什么也没有发生。代码运行正常,但屏幕上从未绘制任何内容。有没有办法解决这个问题,或者我需要在所有内容上覆盖一个透明窗口?(这种解决方案的问题是多监视器设置)


你是否正在运行某种桌面环境,比如 GNOME?它们使用全屏的桌面窗口,实际上覆盖了真正的根窗口。当这些环境运行时,你看不到根窗口。 - Keith
这里是一些可以找到桌面的Perl代码。 - eexpress
这里有一些 Perl 代码可以找到桌面。https://dev59.com/tErSa4cB1Zd3GeqPaOrd - eexpress
1个回答

1

虚拟根窗口

请注意,KDE4不遵循此约定。您需要找到根窗口的一个子窗口,该子窗口具有属性_NET_WM_WINDOW_TYPE设置为_NET_WM_WINDOW_TYPE_DESKTOP。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接