Sophie

Sophie

distrib > Mandriva > 2008.0 > x86_64 > by-pkgid > 994c49a0619533b97528793e2dcc73fb > files > 77

ion-20040729-4mdk.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<!--Converted with LaTeX2HTML 2002-1 (1.69)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>1. Introduction</TITLE>
<META NAME="description" CONTENT="1. Introduction">
<META NAME="keywords" CONTENT="ionconf">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

<LINK REL="STYLESHEET" HREF="ionconf.css">

<LINK REL="next" HREF="node3.html">
<LINK REL="previous" HREF="node1.html">
<LINK REL="up" HREF="ionconf.html">
<LINK REL="next" HREF="node3.html">
</HEAD>

<BODY >
<!--Navigation Panel-->
<A NAME="tex2html220"
  HREF="node3.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html214"
  HREF="ionconf.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html208"
  HREF="node1.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html216"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html218"
  HREF="node10.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html221"
  HREF="node3.html">2. Preliminaries: Key concepts</A>
<B> Up:</B> <A NAME="tex2html215"
  HREF="ionconf.html">Ion: Configuring and extending</A>
<B> Previous:</B> <A NAME="tex2html209"
  HREF="node1.html">Contents</A>
 &nbsp; <B>  <A NAME="tex2html217"
  HREF="node1.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html219"
  HREF="node10.html">Index</A></B> 
<BR>
<BR>
<!--End of Navigation Panel-->

<H1><A NAME="SECTION00200000000000000000">
1. Introduction</A>
</H1>

<P>
This document is a sort of ''advanced user'' manual for Ion, the X11
window manager. It is an attempt attempt at documenting what is in 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>
Reader unfamiliar with Lua is advised to first glance at the Lua manual
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:

<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 <I>configure</I> 
a program, this  material is essential because of the object-oriented 
nature of most of Ion's scripting interface.

<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 easier for new users to configure Ion to their liking
if a simpler binding configuration interface was provided. Such an
interface would, however, also be far more limited or at least 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. 

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

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

<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html220"
  HREF="node3.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html214"
  HREF="ionconf.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html208"
  HREF="node1.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html216"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html218"
  HREF="node10.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html221"
  HREF="node3.html">2. Preliminaries: Key concepts</A>
<B> Up:</B> <A NAME="tex2html215"
  HREF="ionconf.html">Ion: Configuring and extending</A>
<B> Previous:</B> <A NAME="tex2html209"
  HREF="node1.html">Contents</A>
 &nbsp; <B>  <A NAME="tex2html217"
  HREF="node1.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html219"
  HREF="node10.html">Index</A></B> 
<!--End of Navigation Panel-->

</BODY>
</HTML>