]> git.decadent.org.uk Git - ion3.git/blob - doc/ionconf/node2.html
[svn-upgrade] Integrating new upstream version, ion3 (20070506)
[ion3.git] / doc / ionconf / node2.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
3 <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
4 original version by:  Nikos Drakos, CBLU, University of Leeds
5 * revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
6 * with significant contributions from:
7   Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
8 <HTML>
9 <HEAD>
10 <TITLE>1. Introduction</TITLE>
11 <META NAME="description" CONTENT="1. Introduction">
12 <META NAME="keywords" CONTENT="ionconf">
13 <META NAME="resource-type" CONTENT="document">
14 <META NAME="distribution" CONTENT="global">
15
16 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
17 <META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
18 <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
19
20 <LINK REL="STYLESHEET" HREF="ionconf.css">
21
22 <LINK REL="next" HREF="node3.html">
23 <LINK REL="previous" HREF="node1.html">
24 <LINK REL="up" HREF="ionconf.html">
25 <LINK REL="next" HREF="node3.html">
26 </HEAD>
27
28 <BODY >
29
30 <DIV CLASS="navigation"><!--Navigation Panel-->
31 <A NAME="tex2html253"
32   HREF="node3.html">
33 <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
34 <A NAME="tex2html247"
35   HREF="ionconf.html">
36 <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
37 <A NAME="tex2html241"
38   HREF="node1.html">
39 <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
40 <A NAME="tex2html249"
41   HREF="node1.html">
42 <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
43 <A NAME="tex2html251"
44   HREF="node11.html">
45 <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
46 <BR>
47 <B> Next:</B> <A NAME="tex2html254"
48   HREF="node3.html">2. Preliminaries: Key concepts</A>
49 <B> Up:</B> <A NAME="tex2html248"
50   HREF="ionconf.html">Configuring and extending Ion3</A>
51 <B> Previous:</B> <A NAME="tex2html242"
52   HREF="node1.html">Contents</A>
53  &nbsp; <B>  <A NAME="tex2html250"
54   HREF="node1.html">Contents</A></B> 
55  &nbsp; <B>  <A NAME="tex2html252"
56   HREF="node11.html">Index</A></B> 
57 <BR>
58 <BR></DIV>
59 <!--End of Navigation Panel-->
60
61 <H1><A NAME="SECTION00200000000000000000">
62 <SPAN CLASS="arabic">1</SPAN>. Introduction</A>
63 </H1>
64
65 <P>
66 This document is an ``advanced user'' manual for the X11 window manager
67 Ion, version 3. It is an attempt at documenting things that go into Ion's
68 configuration files, how to configure Ion by simple modifications 
69 to these files and how to write more complex extensions in Lua, the 
70 lightweight configuration and scripting language used by Ion. 
71
72 <P>
73 Readers unfamiliar with Lua might first want to first glance at some 
74 Lua documentation at
75
76 <P>
77 <DIV ALIGN="CENTER">
78 <TT><A NAME="tex2html1"
79   HREF="http://www.lua.org/docs.html">http://www.lua.org/docs.html</A></TT>, or 
80 <BR>    <TT><A NAME="tex2html2"
81   HREF="http://lua-users.org/wiki/LuaTutorial">http://lua-users.org/wiki/LuaTutorial</A></TT>,
82
83 </DIV>
84
85 <P>
86 although this should not be strictly necessary for basic modifications
87 of configuration files for anyone with at least some familiarity with
88 programming languages.
89
90 <P>
91 Back in this document, first in chapter <A HREF="node3.html#chap:prelim">2</A> some key
92 concepts and relations are explained. These include the module system,
93 and Ion's object (or ``region'') and class hierarchies. While it may
94 not be necessary to study the latter for basic copy-paste modifications
95 of configuration files - for that you should not really need this
96 manual either - it is, however, essential to for more extensive
97 customisation, due to the semi-object-oriented nature of most of
98 Ion's scripting interface. Knowing the different object types also
99 helps dealing with the different binding ``contexts'' (see
100 Section <A HREF="node4.html#sec:bindings">3.3</A>) that to some extent mirror these classes.
101
102 <P>
103 The new user, fed up with the default key bindings and eager to 
104 just quickly configure Ion to his liking, may therefore just want
105 to skip to Chapter <A HREF="node4.html#chap:config">3</A>, and attempt to work from therefore.
106 That chapter provides the very basic Ion configuration know-how
107 is provided: all the different configuration files and their locations
108 are explained, instructions are given to allow the reader to
109 configure bindings and so-called ``winprops'', and the statusbar
110 templates are also explained. 
111
112 <P>
113 Next, Chapter <A HREF="node5.html#chap:gr">4</A> explains the notion of drawing engines
114 and graphical styles and how to write new looks for Ion. More advanced
115 aspects of Ion's scripting interface are documented in Chapter 
116 <A HREF="node6.html#chap:tricks">5</A>. 
117 Finally, most of the functions provided by Ion's scripting interface
118 are listed and documented in the Function reference in Chapter
119 <A HREF="node7.html#sec:exports">6</A>. At the end of the document an alphabetical
120 listing of all these functions may be found.
121
122 <P>
123
124 <DIV CLASS="navigation"><HR>
125 <!--Navigation Panel-->
126 <A NAME="tex2html253"
127   HREF="node3.html">
128 <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
129 <A NAME="tex2html247"
130   HREF="ionconf.html">
131 <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
132 <A NAME="tex2html241"
133   HREF="node1.html">
134 <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
135 <A NAME="tex2html249"
136   HREF="node1.html">
137 <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
138 <A NAME="tex2html251"
139   HREF="node11.html">
140 <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
141 <BR>
142 <B> Next:</B> <A NAME="tex2html254"
143   HREF="node3.html">2. Preliminaries: Key concepts</A>
144 <B> Up:</B> <A NAME="tex2html248"
145   HREF="ionconf.html">Configuring and extending Ion3</A>
146 <B> Previous:</B> <A NAME="tex2html242"
147   HREF="node1.html">Contents</A>
148  &nbsp; <B>  <A NAME="tex2html250"
149   HREF="node1.html">Contents</A></B> 
150  &nbsp; <B>  <A NAME="tex2html252"
151   HREF="node11.html">Index</A></B> </DIV>
152 <!--End of Navigation Panel-->
153
154 </BODY>
155 </HTML>