Tristan Van Berkom 写道: > On Jan 24, 2008 12:16 AM, Skee Lin <skee.lin@xxxxxxxxx > <mailto:skee.lin@xxxxxxxxx>> wrote: > > Tristan Van Berkom 写道: > > On Jan 23, 2008 7:03 AM, Skee Lin <skee.lin@xxxxxxxxx > <mailto:skee.lin@xxxxxxxxx> > > <mailto: skee.lin@xxxxxxxxx <mailto:skee.lin@xxxxxxxxx>>> wrote: > > > > Hi everybody, > > I'm trying to create a transparent window to show some > > informations, and > > it's always on top. > > Does anybody know how to let the mouse messages through? For > instance, > > when I click on the window, I actually click on the desktop(if > > there are > > no other windows). > > > > > > I think you can accomplish this with > gdk_window_shape_combine_mask () > > > > > http://library.gnome.org/devel/gdk/unstable/gdk-Windows.html#gdk-window-shape-combine-mask > <http://library.gnome.org/devel/gdk/unstable/gdk-Windows.html#gdk-window-shape-combine-mask> > > > > Cheers, > > -Tristan > > > I really appreciate the helpful reply from Tristan. However, there is > another problem that does irregular window occupy much cup time? > I want to create a window to show lyrics of songs. User can move the > window by clicking on the text while clicking on the other areas > will be > send to lower window. I think cairo can convert the text to pixmap > mask, > but I'm afraid the nonstop changing of the shape will occupy much > cpu time. > Maybe I need to describe my problem more simply: How to show a window > and let all clicking messages through, just like the window is not > exist? > Any information would be appreciated.** > > > Your use case is particular, you said you want the *Desktop* also to > recieve > mouse clicks, and other applications too. > > You definitely can accomplish this with layered windows in YOUR app, > but once you eat up the gdk events from the X server, I dont know how > you can send them back to the underlying random window. > > It might be possible already, anything is surely is possible if you hack > the X server to do it ;-) > > Cheers, > -Tristan > I'll write a demo this weekend. And if gdk_window_shape_combine_mask doesn't fit my application, I will try to implement it by using Xlib. Thank you very much for your helpful reply. _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list