CLIM mail archive
Re: clicking on windows
Date: Wed, 6 Nov 1991 17:05 EST
From: Scott McKay <SWM@sapsucker.scrc.symbolics.com>
Date: Wed, 6 Nov 1991 16:43 EST
From: email@example.com (David Neves)
The platforms are CLOE/CLIM and MCL/CLIM.
After sending the message I figured that part of the answer might be to use
open-window-stream for the large background window and use that window as a
parent for the other windows that will appear above it. That way the
parent wouldn't ever appear on top of the children -- even if it was
clicked on. Would that be the cleanest way of doing what we want?
I haven't had an opportunity to check this under CLOE, but it ought to work, see
That seems reasonable.
create the windows ourselves then I am not sure what we would use an
application frame for -- if anything. What do application frames give you
-- other than a pane layout and default top level loop for commands? What
do we give up if we go to a low level like this?
As a general rule, all CLIM applications must be written in the context
of an application frame. For example, the command processor and parts
of the presentation type system depend on this. I do not recommend
trying to do anything outside without using DEFINE-APPLICATION-FRAME.
What you can do is to create a frame with only a single pane, which pane
is exactly the "large background window" you refer to above. Make the
other panes be children of that window, and see if it works. Be aware
that you are breaking new ground as far as CLIM 1.0 goes, and that CLIM
1.0 is not meant to have a coherent model here. CLIM 2.0 will do much
better w.r.t. window management.
Someone here kludged some code that would move and resize frame panes after
they were initially created from make-application-frame. That way they got
all the application frame stuff and also got the panes the way they wanted
You could try a hybrid of your two approaches -- use the application-frame's top-level-window
as your background window, then resize the contained panes so that they leave some of
the top-level-window in view. You would then be using the panes in the normal way,
but be treating the top-level-window as an independent stream.
That is entirely reasonable, too.
Main Index |