2011-06-07 41 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的根窗口的子項。