2011-06-07 45 views
3

我希望能够使用Cairo在Python中直接绘制到根窗口。我已经在全屏窗口上测试了我的代码,所以我知道这不是问题。但是,当我尝试直接绘制到根窗口像这样:用PyCairo直接绘制到根窗口

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

没有任何反应。代码运行良好,但没有任何东西可以画到屏幕上。有没有办法做到这一点,或者我需要覆盖一切透明的窗口? (该解决方案的问题是多监视器设置)

+0

你在运行某种桌面环境,比如gnome吗?他们使用实际覆盖真实根窗口的全屏桌面窗口。当这些环境正在运行时,您看不到根窗口。 – Keith 2011-06-07 02:07:38

+0

http://stackoverflow.com/questions/1934442/drawing-on-the-x-root-window 这里有一些Perl可以找到桌面。 – eexpress 2011-11-15 09:02:07

+0

http://stackoverflow.com/questions/1934442/drawing-on-the-x-root-window 这里有一些Perl可以找到桌面。 – eexpress 2011-11-15 09:04:05

回答

0

Virtual root window

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