<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
-<A NAME="tex2html240"
+<A NAME="tex2html246"
HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
-<A NAME="tex2html234"
+<A NAME="tex2html240"
HREF="ionconf.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
-<A NAME="tex2html228"
+<A NAME="tex2html234"
HREF="node2.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
-<A NAME="tex2html236"
+<A NAME="tex2html242"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
-<A NAME="tex2html238"
+<A NAME="tex2html244"
HREF="node11.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
-<B> Next:</B> <A NAME="tex2html241"
+<B> Next:</B> <A NAME="tex2html247"
HREF="node4.html">3. Basic configuration</A>
-<B> Up:</B> <A NAME="tex2html235"
+<B> Up:</B> <A NAME="tex2html241"
HREF="ionconf.html">Configuring and extending Ion3</A>
-<B> Previous:</B> <A NAME="tex2html229"
+<B> Previous:</B> <A NAME="tex2html235"
HREF="node2.html">1. Introduction</A>
- <B> <A NAME="tex2html237"
+ <B> <A NAME="tex2html243"
HREF="node1.html">Contents</A></B>
- <B> <A NAME="tex2html239"
+ <B> <A NAME="tex2html245"
HREF="node11.html">Index</A></B>
<BR>
<BR></DIV>
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL CLASS="ChildLinks">
-<LI><A NAME="tex2html242"
+<LI><A NAME="tex2html248"
HREF="node3.html#SECTION00310000000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> Modules</A>
-<LI><A NAME="tex2html243"
+<LI><A NAME="tex2html249"
HREF="node3.html#SECTION00320000000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> Class and object hierarchies</A>
<UL>
-<LI><A NAME="tex2html244"
+<LI><A NAME="tex2html250"
HREF="node3.html#SECTION00321000000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> Class hierarchy</A>
-<LI><A NAME="tex2html245"
+<LI><A NAME="tex2html251"
HREF="node3.html#SECTION00322000000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> Object hierarchies: WRegion parents and managers</A>
<UL>
-<LI><A NAME="tex2html246"
+<LI><A NAME="tex2html252"
HREF="node3.html#SECTION00322100000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> Parent-child relations</A>
-<LI><A NAME="tex2html247"
+<LI><A NAME="tex2html253"
HREF="node3.html#SECTION00322200000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> Manager-managed relations</A>
</UL>
-<LI><A NAME="tex2html248"
+<LI><A NAME="tex2html254"
HREF="node3.html#SECTION00323000000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">3</SPAN> Summary</A>
</UL></UL>
<!--End of Table of Child-Links-->
<P>
-<DIV ALIGN="CENTER"><A NAME="fig:classhierarchy"></A><A NAME="413"></A>
+<DIV ALIGN="CENTER"><A NAME="fig:classhierarchy"></A><A NAME="412"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2.1:</STRONG>
Partial Ioncore, <SPAN CLASS="textit">mod_tiling</SPAN> and <SPAN CLASS="textit">mod_query</SPAN>
|-->WRegion
| |-->WClientWin
| |-->WWindow
- | | |-->WRootWin
| | |-->WMPlex
- | | | |-->WScreen
| | | |-->WFrame
+ | | | |-->WScreen
+ | | | |-->WRootWin
| | |-->WInput (mod_query)
| | |-->WEdln (mod_query)
| | |-->WMessage (mod_query)
<P>
<DL>
<DT><STRONG>Obj</STRONG></DT>
-<DD><A NAME="419"></A>
+<DD><A NAME="418"></A>
Is the base of Ion's object system.
<P>
</DD>
<DT><STRONG>WRegion</STRONG></DT>
-<DD><A NAME="420"></A>
+<DD><A NAME="419"></A>
is the base class for everything corresponding to something on the
screen. Each object of type WRegion has a size and position
relative to the parent WRegion. While a big part of Ion
<P>
</DD>
<DT><STRONG>WClientWin</STRONG></DT>
-<DD><A NAME="421"></A> is a class for
+<DD><A NAME="420"></A> is a class for
client window objects, the objects that window managers are
supposed to manage.
<P>
</DD>
<DT><STRONG>WWindow</STRONG></DT>
-<DD><A NAME="422"></A> is the base class for all
+<DD><A NAME="421"></A> is the base class for all
internal objects having an X window associated to them
(WClientWins also have X windows associated to them).
<P>
</DD>
<DT><STRONG>WRootWin</STRONG></DT>
-<DD><A NAME="423"></A> is the class for
+<DD><A NAME="422"></A> is the class for
root windows<A NAME="336"></A> of X screens<A NAME="337"></A>.
Note that an ''X screen'' or root window is not necessarily a
single physical screen<A NAME="338"></A> as a root window
- may be split over multiple screens when multi-head extensions
- such as Xinerama<A NAME="339"></A> are used. (Actually there
- can be only one WRootWin when Xinerama is used.)
+ may be split over multiple screens when hacks such as
+ Xinerama<A NAME="339"></A> are used. (Actually there can be only
+ one root window when Xinerama is used.)
<P>
</DD>
<P>
</DD>
<DT><STRONG>WScreen</STRONG></DT>
-<DD><A NAME="424"></A> is the class for objects
+<DD><A NAME="423"></A> is the class for objects
corresponding to physical screens. Screens may share a root
- window when Xinerama multihead extensions are used as explained
- above.
+ window when the Xinerama extension is used as explained above.
<P>
</DD>
<DT><STRONG>WFrame</STRONG></DT>
-<DD><A NAME="425"></A> is the class for frames.
+<DD><A NAME="424"></A> is the class for frames.
While most Ion's objects have no graphical presentation, frames basically
add to WMPlexes the decorations around client windows
(borders, tabs).
<P>
</DD>
<DT><STRONG>WGroup</STRONG></DT>
-<DD><A NAME="426"></A> is the base class for groups.
+<DD><A NAME="425"></A> is the base class for groups.
Particular types of groups are workspaces
- (WGroupWS<A NAME="427"></A>)
+ (WGroupWS<A NAME="426"></A>)
and groups of client windows
- (WGroupCW<A NAME="428"></A>).
+ (WGroupCW<A NAME="427"></A>).
</DD>
</DL>
<P>
<DL>
<DT><STRONG>WTiling</STRONG></DT>
-<DD><A NAME="430"></A> is the class for tilings
+<DD><A NAME="429"></A> is the class for tilings
of frames.
</DD>
<DT><STRONG>WSplit</STRONG></DT>
-<DD><A NAME="431"></A> (or, more specifically, classes
+<DD><A NAME="430"></A> (or, more specifically, classes
that inherit it) encode the WTiling tree structure.
</DD>
</DL>
<P>
<DL>
<DT><STRONG>WInput</STRONG></DT>
-<DD><A NAME="433"></A> is a virtual base class for the
+<DD><A NAME="432"></A> is a virtual base class for the
two classes below.
</DD>
<DT><STRONG>WEdln</STRONG></DT>
-<DD><A NAME="434"></A> is the class for the ''queries'',
+<DD><A NAME="433"></A> is the class for the ''queries'',
the text inputs that usually appear at bottoms of frames and sometimes
screens. Queries are the functional equivalent of ''mini buffers'' in
many text editors.
</DD>
<DT><STRONG>WMessage</STRONG></DT>
-<DD><A NAME="435"></A> implements the boxes for
+<DD><A NAME="434"></A> implements the boxes for
warning and other messages that Ion may wish to display to the user.
These also usually appear at bottoms of frames.
</DD>
<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> Parent-child relations</A>
</H4>
Each object of type WRegion has a parent and possibly a manager
-associated to it. The parent<A NAME="376"></A> for an object is always a
+associated to it. The parent<A NAME="375"></A> for an object is always a
WWindow and for WRegion with an X window (WClientWin,
WWindow) the parent WWindow is given by the same relation of
the X windows. For other WRegions the relation is not as clear.
<P>
-<DIV ALIGN="CENTER"><A NAME="fig:parentship"></A><A NAME="387"></A>
+<DIV ALIGN="CENTER"><A NAME="fig:parentship"></A><A NAME="386"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2.2:</STRONG>
Most common parent-child relations</CAPTION>
<P>
WRegions have very little control over their children as a parent.
-The manager<A NAME="391"></A> WRegion has much more control over its
+The manager<A NAME="390"></A> WRegion has much more control over its
managed WRegions. Managers, for example, handle resize requests,
focusing and displaying of the managed regions. Indeed the manager--managed
relationship gives a better picture of the logical ordering of objects on
<P>
-<DIV ALIGN="CENTER"><A NAME="fig:managership"></A><A NAME="399"></A>
+<DIV ALIGN="CENTER"><A NAME="fig:managership"></A><A NAME="398"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2.3:</STRONG>
Most common manager-managed relations</CAPTION>
| |--> WClientWin
|-->WGroupWSs for workspaces
| |-->WTiling
- | | |-->possibly a WEdln, WMessage or WMenu
| | |-->WFrames
- | | |-->WGroupCWs (with contents as above)
+ | | | |-->WGroupCWs (with contents as above)
+ | | |-->possibly a WStatusBar or WDock
| |-->WFrames for floating content
+ | |-->possibly a WEdln, WMessage or WMenu
+ | |-->possibly a WStatusBar or WDock (if no tiling)
|-->WFrames for sticky stuff, such as the scratchpad
</PRE></TD></TR>
</TABLE>
</DL>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
-<A NAME="tex2html240"
+<A NAME="tex2html246"
HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
-<A NAME="tex2html234"
+<A NAME="tex2html240"
HREF="ionconf.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
-<A NAME="tex2html228"
+<A NAME="tex2html234"
HREF="node2.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
-<A NAME="tex2html236"
+<A NAME="tex2html242"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
-<A NAME="tex2html238"
+<A NAME="tex2html244"
HREF="node11.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
-<B> Next:</B> <A NAME="tex2html241"
+<B> Next:</B> <A NAME="tex2html247"
HREF="node4.html">3. Basic configuration</A>
-<B> Up:</B> <A NAME="tex2html235"
+<B> Up:</B> <A NAME="tex2html241"
HREF="ionconf.html">Configuring and extending Ion3</A>
-<B> Previous:</B> <A NAME="tex2html229"
+<B> Previous:</B> <A NAME="tex2html235"
HREF="node2.html">1. Introduction</A>
- <B> <A NAME="tex2html237"
+ <B> <A NAME="tex2html243"
HREF="node1.html">Contents</A></B>
- <B> <A NAME="tex2html239"
+ <B> <A NAME="tex2html245"
HREF="node11.html">Index</A></B> </DIV>
<!--End of Navigation Panel-->