CLIM mail archive

[Prev][Next][Index][Thread]

Re: Problems with getting windows to come up correctly on the Sun



Robin,

> I suspect the OpenWindows is overriding the specified values for right,
> left, top, and bottom.  This is supported by the fact that if i create a
> window within the Allegro interpreter, it also is offset.  All windows,
> whether defined within the applicaiton or manually, appear to always come
> up in the same (wrong) place each time they are created and exposed.
> 
> Is the problem with the window manager?  

Quite likely.  A window manager, by definition, always has the last word as
far as placement of windows with respect to the root.  Any absolute
positioning you may specify is only interpreted as a "hint"---the wm is
free to ignore it, and many do.

> If the problem is with the window manager, is there any way to
> tell the window manager that i want absolute placement of the windows
> with respect to the root and not to mess with this placement?  

No.  There are certainly no portable (i.e. window-manager independent)
methods, and unlikely to be even wm-specific approachs that you can access
from CLIM.  Those trying to maintain consistency for separate applications
within a wm view this as a Good Thing, those trying to maintain a
consistent user interface for a single application across wm's view it as a
Bad Thing.

One workaround may be to define a single top-level window large enough to
encompass all your subwindows (which will get placed according to the wm's
whims [*]), and then define all your subwindows as children of the
top-level, specifying geometry and placement as needed.  You'll have to
provide your own titlebars (since the wm won't decorate them for you), but
there may be other benefits (like being able to iconify the entire
application with a single action).  This is part of what
DEFINE-APPLICATION-FRAMEWORK does for you automatically, but there's no
reason you can't do the equivalent using explicit OPEN-WINDOW-STREAM calls.

Pete Halverson                                      INET: halverson@crd.ge.com 
GE Corporate R&D Center                       UUCP: uunet!crd.ge.com!halverson
Schenectady, NY


[*] Pronounced "wimz wimz", of course :-)


References:

Main Index | Thread Index