On Thu, May 10, 2012 at 11:00 PM, Amy C <[email protected]> wrote: > 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).
Right off the bat, GTK+/GDK is mostly out. You have to use Clutter, because GNOME Shell uses Clutter. You should draw vector graphics using Cairo. StDrawingArea will give you a cairo canvas on which you can draw on. > 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 -- Jasper _______________________________________________ gnome-shell-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-shell-list
