[clfswm-devel] Frame: odd behavior ?

Xavier Maillard xma at gnu.org
Mon Apr 14 00:00:15 UTC 2008


   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.

   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.

   > 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.

   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).

	Xavier
-- 
http://www.gnu.org
http://www.april.org
http://www.lolica.org



More information about the clfswm-devel mailing list