]> git.decadent.org.uk Git - ion3.git/blobdiff - doc/ionconf/node2.html
[svn-upgrade] Integrating new upstream version, ion3 (20070506)
[ion3.git] / doc / ionconf / node2.html
index daebdf487a17e78f6bd16082fd506ac2f0a24715..a824fd2627f2da5ef53dcaa85e53f30ce1aaf2c4 100644 (file)
@@ -28,31 +28,31 @@ original version by:  Nikos Drakos, CBLU, University of Leeds
 <BODY >
 
 <DIV CLASS="navigation"><!--Navigation Panel-->
-<A NAME="tex2html232"
+<A NAME="tex2html253"
   HREF="node3.html">
 <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
-<A NAME="tex2html226"
+<A NAME="tex2html247"
   HREF="ionconf.html">
 <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
-<A NAME="tex2html220"
+<A NAME="tex2html241"
   HREF="node1.html">
 <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
-<A NAME="tex2html228"
+<A NAME="tex2html249"
   HREF="node1.html">
 <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
-<A NAME="tex2html230"
+<A NAME="tex2html251"
   HREF="node11.html">
 <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
 <BR>
-<B> Next:</B> <A NAME="tex2html233"
+<B> Next:</B> <A NAME="tex2html254"
   HREF="node3.html">2. Preliminaries: Key concepts</A>
-<B> Up:</B> <A NAME="tex2html227"
+<B> Up:</B> <A NAME="tex2html248"
   HREF="ionconf.html">Configuring and extending Ion3</A>
-<B> Previous:</B> <A NAME="tex2html221"
+<B> Previous:</B> <A NAME="tex2html242"
   HREF="node1.html">Contents</A>
- &nbsp; <B>  <A NAME="tex2html229"
+ &nbsp; <B>  <A NAME="tex2html250"
   HREF="node1.html">Contents</A></B> 
- &nbsp; <B>  <A NAME="tex2html231"
+ &nbsp; <B>  <A NAME="tex2html252"
   HREF="node11.html">Index</A></B> 
 <BR>
 <BR></DIV>
@@ -63,99 +63,91 @@ original version by:  Nikos Drakos, CBLU, University of Leeds
 </H1>
 
 <P>
-This document is an ''advanced user'' manual for Ion, the X11 window manager,
-and version 3 specifically. It is an attempt attempt at documenting what is 
-in Ion's configuration files, how to configure Ion by simple modifications 
+This document is an ``advanced user'' manual for the X11 window manager
+Ion, version 3. It is an attempt at documenting things that go into Ion's
+configuration files, how to configure Ion by simple modifications 
 to these files and how to write more complex extensions in Lua, the 
 lightweight configuration and scripting language used by Ion. 
 
 <P>
-Readers unfamiliar with Lua is advised to first glance at the Lua manual at 
+Readers unfamiliar with Lua might first want to first glance at some 
+Lua documentation at
 
 <P>
 <DIV ALIGN="CENTER">
 <TT><A NAME="tex2html1"
-  HREF="http://www.lua.org/docs.html">http://www.lua.org/docs.html</A></TT>
-</DIV>
-
-<P>
-and perhaps some tutorial pages at the lua-users wiki:
+  HREF="http://www.lua.org/docs.html">http://www.lua.org/docs.html</A></TT>, or 
+<BR>    <TT><A NAME="tex2html2"
+  HREF="http://lua-users.org/wiki/LuaTutorial">http://lua-users.org/wiki/LuaTutorial</A></TT>,
 
-<P>
-<DIV ALIGN="CENTER">
-<TT><A NAME="tex2html2"
-  HREF="http://lua-users.org/wiki/LuaTutorial">http://lua-users.org/wiki/LuaTutorial</A></TT>
 </DIV>
 
 <P>
-Back in this document, first in chapter <A HREF="node3.html#chap:prelim">2</A> some key
-concepts and relations are explained. These include the module system
-and Ion's object and class hierarchies. While it might not at first 
-occur that knowing such things would be necessary to <SPAN  CLASS="textit">configure</SPAN> 
-a program, this  material is essential because of the object-oriented 
-nature of most of Ion's scripting interface.
+although this should not be strictly necessary for basic modifications
+of configuration files for anyone with at least some familiarity with
+programming languages.
 
 <P>
-The new user, fed up with the default key bindings and eager to just
-quickly configure Ion to his liking may question the reasons for 
-exposing the ''heavy'' internal OO structure in the scripting and
-configuration interface. I'm not the one to  blame him for that. 
-Sure it would be faster to configure Ion to everyone's liking
-if a simpler binding configuration interface was provided. Such an
-interface would, however, also be far more limited and make writing
-extensions more complicated and the advantages from using a real 
-scripting language would be partly lost. One more advantage from
-a rich scripting and configuration interface is that it allows 
-implementing scripts to read alternate configuration file formats,
-ones that could be, for example, modified by external configuration tools. 
+Back in this document, first in chapter <A HREF="node3.html#chap:prelim">2</A> some key
+concepts and relations are explained. These include the module system,
+and Ion's object (or ``region'') and class hierarchies. While it may
+not be necessary to study the latter for basic copy-paste modifications
+of configuration files - for that you should not really need this
+manual either - it is, however, essential to for more extensive
+customisation, due to the semi-object-oriented nature of most of
+Ion's scripting interface. Knowing the different object types also
+helps dealing with the different binding ``contexts'' (see
+Section <A HREF="node4.html#sec:bindings">3.3</A>) that to some extent mirror these classes.
 
 <P>
-In chapter <A HREF="node4.html#chap:config">3</A> the very basic Ion configuration know-how
-is provided. All the different configuration files and their locations
-are explained and instructions are given to allow the reader to
-configure bindings and so-called ''winprops''. Chapter <A HREF="node5.html#chap:gr">4</A>
-explains the notion of drawing engines and graphical styles and how to
-write new looks for Ion and more advanced aspects of Ion's scripting 
-interface are documented in chapter <A HREF="node6.html#chap:tricks">5</A> (a work in 
-progress).
+The new user, fed up with the default key bindings and eager to 
+just quickly configure Ion to his liking, may therefore just want
+to skip to Chapter <A HREF="node4.html#chap:config">3</A>, and attempt to work from therefore.
+That chapter provides the very basic Ion configuration know-how
+is provided: all the different configuration files and their locations
+are explained, instructions are given to allow the reader to
+configure bindings and so-called ``winprops'', and the statusbar
+templates are also explained. 
 
 <P>
+Next, Chapter <A HREF="node5.html#chap:gr">4</A> explains the notion of drawing engines
+and graphical styles and how to write new looks for Ion. More advanced
+aspects of Ion's scripting interface are documented in Chapter 
+<A HREF="node6.html#chap:tricks">5</A>. 
 Finally, most of the functions provided by Ion's scripting interface
-are listed and documented in the Function reference in chapter
-<A HREF="node7.html#sec:exports">6</A>. At the end of the document is an alphabetical
-listing of all these functions.
-
-<P>
+are listed and documented in the Function reference in Chapter
+<A HREF="node7.html#sec:exports">6</A>. At the end of the document an alphabetical
+listing of all these functions may be found.
 
 <P>
 
 <DIV CLASS="navigation"><HR>
 <!--Navigation Panel-->
-<A NAME="tex2html232"
+<A NAME="tex2html253"
   HREF="node3.html">
 <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
-<A NAME="tex2html226"
+<A NAME="tex2html247"
   HREF="ionconf.html">
 <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
-<A NAME="tex2html220"
+<A NAME="tex2html241"
   HREF="node1.html">
 <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
-<A NAME="tex2html228"
+<A NAME="tex2html249"
   HREF="node1.html">
 <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
-<A NAME="tex2html230"
+<A NAME="tex2html251"
   HREF="node11.html">
 <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
 <BR>
-<B> Next:</B> <A NAME="tex2html233"
+<B> Next:</B> <A NAME="tex2html254"
   HREF="node3.html">2. Preliminaries: Key concepts</A>
-<B> Up:</B> <A NAME="tex2html227"
+<B> Up:</B> <A NAME="tex2html248"
   HREF="ionconf.html">Configuring and extending Ion3</A>
-<B> Previous:</B> <A NAME="tex2html221"
+<B> Previous:</B> <A NAME="tex2html242"
   HREF="node1.html">Contents</A>
- &nbsp; <B>  <A NAME="tex2html229"
+ &nbsp; <B>  <A NAME="tex2html250"
   HREF="node1.html">Contents</A></B> 
- &nbsp; <B>  <A NAME="tex2html231"
+ &nbsp; <B>  <A NAME="tex2html252"
   HREF="node11.html">Index</A></B> </DIV>
 <!--End of Navigation Panel-->