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

Reply via email to