Hi all, As something fun I'd like to try writing a gnome shell extension that draws things on the user's screen. Entirely useless, but I think it'll be fun to write (OK OK, the vague idea I have is to port xpenguins to gjs :P).
I've done a bit of X11 programming before as in a previous life I spent quite a while in the XPenguins source tweaking it to my preference, but now that it comes to GJS I'm not sure what tools are available/which to use. Features I'd like: 1) draw animated toons (by displaying a particular snippet of a pixmap) : Gtk? Gdk? 2) window features - calculate where windows are to build up regions toons are/aren't allowed to walk on (XRegions, XRectangles) : mutter? clutter? 3) draw onto either a particular window that I choose, or the 'root' window. Does anyone have a feel for what toolkit(s) are suitable for this? I guess it would be ideal to use the one toolkit for most things, to avoid having to translate (e.g.) a Meta.Rectangle to some sort of Gdk region all the time. I have no idea what toolkit to use for 1), but I have the vague feeling it's G[dt]k. As for window features, I know I can get window rectangles via Meta.Rectangle and union them together to build up regions. However, does one draw *directly* onto the target window (this is what Xlib XPenguins does), or does one create a transparent, clickthrough window over the top of the target window and draw onto that? Or one small window per toon?? Or can everything be done with Clutter (I must confess I know very little about Clutter)? Do I make a "stage" and each "actor" is a toon, and use a ClutterTexture (ClutterImage? ClutterCanvas?) for displaying the toon's picture, updating it every frame? I apologise for the somewhat confused nature of this email, but I feel like there's so many ways to skin this cat, and I just want to pick the "right" one from the get go rather than doing lots of switching and changing after starting with a toolkit that turned out to be inappropriate. cheers! _______________________________________________ gnome-shell-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-shell-list
