Hello David, Today i took a look at the unix port of squeak, where it deals with host windows.. ouch!!
The main file - sqUnixX11.c is a big bloat of C code , which tries to deal with anything at once. ouch!! I'm slowly reading it, trying to understand how it works. The Xlib window management is quite different from what i used to see in windoze. As i understand, it using two windows - one for decoration and to be managed by window managers, and second is for actual squeak content. The number of flags, settings, startup options to set-up a host window is overwhelming. The docs, as for everything in unixes, is quite obscure and often don't tell anything about purpose of option/function - just what it does and what it expects as input. As i see in sqUnixEvent.c , the windowIndex member of events is ignored and set to 0. So at first stage it would require to change functions there to honor a window index. I found some analogies with my windoze code - you are also keep own private registry for host windows and operating with 1-based window handles (i'm using 0-based index). There is a couple of interesting things which i discovered: any action, like window move & size can be completely ignored by window manager. Its quite acceptable within my design: you could try to change any window attribute, but there is no guarantee that it will be changed or affect the host window in any way. There is even no guarantee, that given attribute exists. Of course, common attributes, like x,y,width,height, visibility, title , and maybe couple more will be always there, on all platforms. As for the rest attributes - its up to platform implementation to name them and write accessors to them. 2008/11/9 David T. Lewis <[EMAIL PROTECTED]>: > On Sun, Nov 09, 2008 at 05:05:45PM +0200, Igor Stasenko wrote: >> 2008/11/9 David T. Lewis <[EMAIL PROTECTED]>: >> Oh, that's the bits i'm missing. I found the sources of >> HostWindowPlugin for win and mac, but >> was unable to find anything for X11. Can you please send me a sources >> of it, or link for downloads? > > There is no implementation for X11, but I posted a copy of my imcomplete > work to the vm-dev list here: > > http://lists.squeakfoundation.org/pipermail/vm-dev/2008-July/001977.html > > This does have enough support to permit opening windows, moving them, setting > window label, etc but it is incomplete and is not integrated into Squeak in > any useful way. > >> And of course, i don't see a need in packing X and Y into a single 32 >> bit int as its currently done in HostWindowPlugin. > > Good, that sounds fine. > > Dave > > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > -- Best regards, Igor Stasenko AKA sig. _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
