X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ionconf%2Fnode3.html;h=dbe890afa8e58017034789ff357bfdac16f8775e;hb=6c79ccf7ddf25af66675865badef0b8f6d0fee78;hp=cfe57dd50badd1e87a34654db1e5522ffc87fa0c;hpb=da1e04def26932e7f91a2106c885142e7fafe59b;p=ion3-doc.git
diff --git a/ionconf/node3.html b/ionconf/node3.html
index cfe57dd..dbe890a 100644
--- a/ionconf/node3.html
+++ b/ionconf/node3.html
@@ -28,31 +28,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
@@ -61,22 +61,22 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Subsections
@@ -180,7 +180,7 @@ loads another set of modules.
While Ion does not not have a truly object-oriented design
2.1,
+ HREF="#foot303">2.1,
things that appear on the computer screen are, however, quite
naturally expressed as such ``objects''. Therefore Ion implements
a rather primitive OO system for these screen objects and some
@@ -221,7 +221,7 @@ implement.
-
+
Figure 2.1:
Partial Ioncore, mod_tiling and mod_query
@@ -233,16 +233,16 @@ Partial Ioncore, mod_tiling and
+
Is the base of Ion's object system.
WRegion
-
+
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
@@ -271,14 +271,14 @@ The core classes:
WClientWin
- is a class for
+ is a class for
client window objects, the objects that window managers are
supposed to manage.
WWindow
- is the base class for all
+ is the base class for all
internal objects having an X window associated to them
(WClientWins also have X windows associated to them).
@@ -292,25 +292,25 @@ The core classes:
WScreen
- is an instance of WMPlex
+ is an instance of WMPlex
for screens.
WRootWin
- is the class for
- root windows of X screens.
+ is the class for
+ root windows of X screens.
It is an instance of WScreen.
Note that an ``X screen'' or root window is not necessarily a
- single physical screen as a root window
+ single physical screen as a root window
may be split over multiple screens when ugly hacks such as
- Xinerama are used. (Actually there can be only
+ Xinerama are used. (Actually there can be only
one root window when Xinerama is used.)
WFrame
- is the class for frames.
+ 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).
@@ -318,11 +318,11 @@ The core classes:
WGroup
- is the base class for groups.
+ is the base class for groups.
Particular types of groups are workspaces
- (WGroupWS)
+ (WGroupWS)
and groups of client windows
- (WGroupCW).
+ (WGroupCW).
@@ -332,12 +332,12 @@ Classes implemented by the mod_tiling module:
- WTiling
-- is the class for tilings
+
- is the class for tilings
of frames.
- WSplit
-- (or, more specifically, classes
+
- (or, more specifically, classes
that inherit it) encode the WTiling tree structure.
@@ -348,19 +348,19 @@ Classes implemented by the mod_query module:
- WInput
-- is a virtual base class for the
+
- is a virtual base class for the
two classes below.
- WEdln
-- is the class for the ``queries'',
+
- 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.
- WMessage
-- implements the boxes for
+
- 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.
@@ -384,7 +384,7 @@ binding callbacks in the move and resize mode.
2.2.2.1 Parent-child relations
Each object of type WRegion has a parent and possibly a manager
-associated to it. The parent for an object is always a
+associated to it. The parent 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.
@@ -394,36 +394,35 @@ Figure 2.2.
-
+
Figure 2.2:
Most common parent-child relations
WRootWins
- |-->WScreens
- |-->WGroupWSs
- |-->WTilings
- |-->WClientWins in full screen mode
- |-->WFrames
- |-->WGroupCWs
- |-->WClientWins
- |-->WFrames for transients
- |-->a possible WEdln or WMessage
+ |-->WGroupWSs
+ |-->WTilings
+ |-->WClientWins in full screen mode
+ `-->WFrames
+ |-->WGroupCWs
+ |-->WClientWins
+ |-->WFrames for transients
+ `-->a possible WEdln or WMessage
|
WRegions have very little control over their children as a parent.
-The manager WRegion has much more control over its
+The manager 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
the screen. Again, there are generally few limits, but the most common
hierarchy is given in Figure 2.3. Note that sometimes
-the parent and manager are the same object and not all objects may have
-a manager (e.g. the dock in the dock module at the time of writing this)
-but all have a parent-a screen if not anything else.
+the parent and manager are the same object and not all regions may have
+a manager, but all non-screen regions have a parent--a screen if not
+anything else.
@@ -433,26 +432,25 @@ but all have a parent-a screen if not anything else.
-
+
Figure 2.3:
Most common manager-managed relations
WRootWins
- |-->WScreens
- |-->WGroupCWs for full screen WClientWins
- | |-->WClientWins
- | |-->WFrames for transients (dialogs)
- | |--> WClientWin
- |-->WGroupWSs for workspaces
- | |-->WTiling
- | | |-->WFrames
- | | | |-->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
+ |-->WGroupCWs for full screen WClientWins
+ | |-->WClientWins
+ | `-->WFrames for transients (dialogs)
+ | `--> WClientWin
+ |-->WGroupWSs for workspaces
+ | |-->WTiling
+ | | |-->WFrames
+ | | | `-->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
|
@@ -497,7 +495,7 @@ consideration:
Footnotes
-- ... design... design2.1
- the author doesn't like such artificial designs
@@ -505,31 +503,31 @@ consideration: