> So basically I suggest that you just start out with a regular windowmanager.

> It will have code somewhere to draw its decorations. Here you hook in and
> use LibGGI to draw on those preexisting windows.

I just had a quick look ... It works as expected ...

Windowmanagers just create a whole bunch of regular X windows to create all
their decoration stuff.

Now that enables us to play utterly cool tricks on any X desktop (the
windowmanager doesn't even need to cooperate, though it would help a great 
deal): All you need is the windowID of the widget you want to (re-)generate 
using LibGGI and do something like:

GGI_DEFMODE="80x80" GGI_DISPLAY="X:-inwin=0x1000073" ./flying_ggis

This is currently running here and I thus have a very funnily animated 
icon for my disk drive ... It still respects the shape BTW ... we should 
add an extension for such overlaying stuff ... oh - wait ... 
Directbuffers and Alphachannels already allow it ...

So for a way cool windowmanager, all you would need to do would be to make
an option "ggispawn" available whereever you can define the look of a
widget. This would work just like say a "pixmap bla" option and instead
of loading the pixmap , it would cause the named LibGGI program to be 
spawned with the right contents for GGI_DISPLAY and _DEFMODE ...

I know it's a waste of ressources, but it looks bloody cool ... !

It would be even more fun, if the WM would inject a standard set of events
for stuff like mouseover,enter/leave,click,keypress as well as some
metaevents that are determined by the WM (like activate,deactivate, greyout) 
to allow for the really cool things to be done in a simple way (one could 
refork with parameters, but I already talked about wasted ressources ...).

O.K. - let the fun begin ... 

CU, ANdy

= Andreas Beck                    |  Email :  <[EMAIL PROTECTED]> =

Reply via email to