[clfswm-devel] Frame: odd behavior ?
Philippe Brochard
pbrochard at common-lisp.net
Mon Apr 14 20:04:20 UTC 2008
Xavier Maillard writes:
> Xavier Maillard writes:
>
> > > Maybe I am dumb, maybe I misunderstood something _but_ I can't
> > > find how to have multiple frames In full screen mode.
> > >
> > > Can somebody explain exactly what a frame is now in the CLFSWM
> > > terminology ?
> > >
> > A frame is a geometrical group which can contain some other frames or
> > some application windows.
> > The current root frame is fullscreen maximized.
> >
> > So when CLFSWM is starting, it has two frames: 0 => root and 1 =>
> > default. Right ? If so, why not stick with the root frame by
> > default ?
> >
> Yes there is two frames at startup. Because I think that the first
> thing most users will do is to add a default frame to contain its
> applications.
>
> I have a special X session where I am just playing with CLFSWM
> source code and make test. There, I do not need anything but the
> root frame :) I make changes and then test them there.
>
Ah, ok, like me when I debug it.
> Except in some rare cases you don't want to have all your windows
> maximized and not resizable. I think that the first application window
> have to go in its own frame and not in the root frame (you can make it
> fullscreen after if you want).
>
> Why not have an option for this behaviour ? Then, we would have
> to check the value of a variable and we would have to act
> according to this variable.
>
Your patch to put this behaviour in the default hook is prefect.
I have not to think in advance to what users want to do with there
clfswm :)
> > Well I tried that it throws an error when I want to create a
> > frame :
> >
> > DEBUG[2 - dbg] *ROOT-FRAME*=#<CLFSWM::FRAME #x204A843E>
> > DEBUG[3 - dbg] *CURRENT-CHILD*=NIL
> > DEBUG[4 - dbg] *CURRENT-ROOT*=#<CLFSWM::FRAME #x204A843E>
> >
> > *** - NO-APPLICABLE-METHOD: When calling #<STANDARD-GENERIC-FUNCTION CLFSWM::SELECT-CHILD> with arguments (NIL NIL), no method is
> > applicable.
> > The following restarts are available:
> > RETRY :R1 try calling CLFSWM::SELECT-CHILD again
> > RETURN :R2 specify return values
> >
> > I should probably have removed the setf *current-child*.
> >
> What is the code exactly? Because it seems that you haven't defined
> the current child (*CURRENT-CHILD*=NIL).
>
> Yes, I had something wrong here. I fixed it.
>
> Another thing, it's the root frame which contain all other children
> (frames or application windows). The only thing you can do with the
> *root-frame* is to append some children in its child list.
>
> Yes.
>
In fact another important thing you can do withthe root frame is to
set an automatic layout.
> Then you have to tell which is the current root (the child that have
> to be fullscreen maximized) and which is the current child (the
> selected and focused child).
>
> This is, in fact, what I found difficult to understand at first.
> Now, it is all crystal clear to me and I (finally) understood the
> concept. Thank you for your explanation(s).
>
Yes I think I have to be clear for the next release because now clfswm
is less conventional and the tree view is not something easy to
understand. A little video may help here.
Philippe
--
Philippe Brochard <pbrochard at common-lisp.net>
http://hocwp.free.fr
More information about the clfswm-devel
mailing list