On Fri, Nov 21, 2008 at 05:25:29AM +0200, Igor Stasenko wrote:
> 2008/11/21 David T. Lewis <[EMAIL PROTECTED]>:
> >
> > Loosely speaking, the top-level window corresponds to an "application"
> > which might have a hierarchy of windows inside it.
> 
> Inside only, or just have a child-parent relation? I mean, does a
> child-parent implies, that child window should live inside rect
> designated by parent and parent always acts as background window, or
> its free to be placed anywhere?

I'm not sure. Honestly I'm not an expert on this at all, I just
hacked on Ian's code and looked at a couple of books.

I would guess that the child windows can be placed anywhere, but
that in normal operation the window manager controls the top-level
window and the child windows follow along within the top-level
coordinate system. But I'm not certain about this.

> I'm also concerned a bit with a window manager communication. How to
> tell window manager that window should have different decoration, like
> having static border, or can't be closed (don't show close button) ,
> or having no decoration at all  - only area for painting etc.
> I want (at least try) to support a set of generic assets throughout
> all platforms.

Google ICCCM. There are some conventions for communicating with
window managers, but lots of different window managers are in use
and they are all different. Note, a window manager is just another
X client application, separate from the X server. You could program
Squeak to be an X window manager if you wanted to (might be a good
project for somebody to try).

> > Also, you need to decide if each top-level host window should have
> > its own separate communication session to the X server such that X
> > events are naturally delivered to that window, or if there should be
> > one connection with code to dispatch the events to the right destination.
> > Either way, the X events need to get back to the VM in such a way
> > that the correct X windows are refreshed, and the correct semaphore
> > or process gets alerted in the Squeak image.
> 
> I don't see the need in having multiple comm channels. Squeak VM
> having single event queue, that's makes no sense to use multiple
> queues inside X11 backend.
> Of couse if X11 allows to manage everything through single channel.

Actually this might be mostly a matter of how much "rearranging" to do
in the existing Unix X11 support code. Dispatching from a single channel
is probably the right thing to do, but it might be easier to just
open separate connections. I did not implement either one, so pick
your poison ;)

Dave


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to