[svn-inject] Installing original source of ion3 ion3-20061223
authorBen Hutchings <ben@decadent.org.uk>
Sat, 24 Mar 2007 18:52:31 +0000 (18:52 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 24 Mar 2007 18:52:31 +0000 (18:52 +0000)
95 files changed:
ChangeLog [new file with mode: 0644]
LICENSE [new file with mode: 0644]
Makefile [new file with mode: 0644]
README [new file with mode: 0644]
artikel3.perl [new file with mode: 0644]
conf-bindings.tex [new file with mode: 0644]
conf-menus.tex [new file with mode: 0644]
conf-winprops.tex [new file with mode: 0644]
conf.tex [new file with mode: 0644]
confintro.tex [new file with mode: 0644]
cstyle.tex [new file with mode: 0644]
de.tex [new file with mode: 0644]
designnotes.tex [new file with mode: 0644]
exact-version [new file with mode: 0644]
fnref.tex [new file with mode: 0644]
fullhierarchy.tex [new file with mode: 0644]
gpl.tex [new file with mode: 0644]
hookref.tex [new file with mode: 0644]
ionconf.dvi.gz [new file with mode: 0644]
ionconf.out [new file with mode: 0644]
ionconf.ps.gz [new file with mode: 0644]
ionconf.tex [new file with mode: 0644]
ionconf/WARNINGS [new file with mode: 0644]
ionconf/contents.png [new file with mode: 0644]
ionconf/images.aux [new file with mode: 0644]
ionconf/images.idx [new file with mode: 0644]
ionconf/images.log [new file with mode: 0644]
ionconf/images.out [new file with mode: 0644]
ionconf/images.pl [new file with mode: 0644]
ionconf/images.tex [new file with mode: 0644]
ionconf/img1.png [new file with mode: 0644]
ionconf/img2.png [new file with mode: 0644]
ionconf/img3.png [new file with mode: 0644]
ionconf/img4.png [new file with mode: 0644]
ionconf/img5.png [new file with mode: 0644]
ionconf/img6.png [new file with mode: 0644]
ionconf/index.html [new file with mode: 0644]
ionconf/index.png [new file with mode: 0644]
ionconf/internals.pl [new file with mode: 0644]
ionconf/ionconf.css [new file with mode: 0644]
ionconf/ionconf.html [new file with mode: 0644]
ionconf/labels.pl [new file with mode: 0644]
ionconf/next.png [new file with mode: 0644]
ionconf/next_g.png [new file with mode: 0644]
ionconf/node1.html [new file with mode: 0644]
ionconf/node10.html [new file with mode: 0644]
ionconf/node11.html [new file with mode: 0644]
ionconf/node12.html [new file with mode: 0644]
ionconf/node2.html [new file with mode: 0644]
ionconf/node3.html [new file with mode: 0644]
ionconf/node4.html [new file with mode: 0644]
ionconf/node5.html [new file with mode: 0644]
ionconf/node6.html [new file with mode: 0644]
ionconf/node7.html [new file with mode: 0644]
ionconf/node8.html [new file with mode: 0644]
ionconf/node9.html [new file with mode: 0644]
ionconf/prev.png [new file with mode: 0644]
ionconf/prev_g.png [new file with mode: 0644]
ionconf/up.png [new file with mode: 0644]
ionnotes.dvi.gz [new file with mode: 0644]
ionnotes.out [new file with mode: 0644]
ionnotes.ps.gz [new file with mode: 0644]
ionnotes.tex [new file with mode: 0644]
ionnotes/WARNINGS [new file with mode: 0644]
ionnotes/contents.png [new file with mode: 0644]
ionnotes/crossref.png [new file with mode: 0644]
ionnotes/index.html [new file with mode: 0644]
ionnotes/index.png [new file with mode: 0644]
ionnotes/internals.pl [new file with mode: 0644]
ionnotes/ionnotes.css [new file with mode: 0644]
ionnotes/ionnotes.html [new file with mode: 0644]
ionnotes/labels.pl [new file with mode: 0644]
ionnotes/next.png [new file with mode: 0644]
ionnotes/next_g.png [new file with mode: 0644]
ionnotes/node1.html [new file with mode: 0644]
ionnotes/node2.html [new file with mode: 0644]
ionnotes/node3.html [new file with mode: 0644]
ionnotes/node4.html [new file with mode: 0644]
ionnotes/node5.html [new file with mode: 0644]
ionnotes/node6.html [new file with mode: 0644]
ionnotes/node7.html [new file with mode: 0644]
ionnotes/node8.html [new file with mode: 0644]
ionnotes/node9.html [new file with mode: 0644]
ionnotes/prev.png [new file with mode: 0644]
ionnotes/prev_g.png [new file with mode: 0644]
ionnotes/up.png [new file with mode: 0644]
luaif.tex [new file with mode: 0644]
macros.tex [new file with mode: 0644]
objects.tex [new file with mode: 0644]
objectsimpl.tex [new file with mode: 0644]
predist.sh [new file with mode: 0644]
prelim.tex [new file with mode: 0644]
rapport3.perl [new file with mode: 0644]
statusd.tex [new file with mode: 0644]
tricks.tex [new file with mode: 0644]

diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
index 0000000..5e3a3d1
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,667 @@
+2006-12-23 15:00 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20061223
+
+2006-10-30 21:08 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Updates
+
+2006-10-28 23:16 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20061029
+
+2006-10-17 22:02 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Mention the 'float' winprop
+
+2006-10-15 17:53 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20061015
+
+2006-10-15 14:36 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Documentation updates.
+
+2006-08-03 09:05 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * much->match
+
+2006-06-20 18:16 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20060620
+
+2006-06-08 17:58 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Moving usepackage{dvipdfm} before everything else seems to fix things.
+
+2006-02-12 15:19 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Added documentation for region_activity_hook.
+
+2006-01-25 23:23 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Updated bar_inside_border stuf.
+
+2006-01-07 21:03 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20060107
+
+2005-12-10 20:46 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20051210
+
+2005-12-10 00:39 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Added missing min_size winprop and changes in winprop listing.
+
+2005-11-10 20:22 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Updated frame style documentation.
+
+2005-10-23 22:40 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20051023
+
+2005-08-26 17:37 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * List oneshot winprop.
+
+2005-08-20 11:37 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20050820
+
+2005-07-28 17:40 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20050728
+
+2005-06-25 15:16 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20050625
+
+2005-06-07 13:14 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20050607
+
+2005-06-07 13:13 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * predist.sh updates.
+
+2005-06-01 17:07 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Added a note on NoModifier.
+
+2005-05-02 14:56 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20050502
+
+2005-03-25 17:41 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Added documentation on ion-statusd monitors.
+
+2005-03-25 17:41 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Fixed a typo, etc.
+
+2005-03-22 14:34 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20050322
+
+2005-03-21 00:16 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Fixed typos.
+
+2005-03-19 13:55 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Added documentation on ioncore_sigchld_hook.
+
+2005-03-13 12:34 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Fixed typos etc.
+
+2005-03-13 12:27 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * fnrefx macro was still wrong.
+
+2005-03-09 23:12 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Moved new layer documentation to scripting chapter.
+
+2005-03-09 22:23 UTC  Matthieu.Moy@imag.fr
+  * More doc on layer 2 and placement hooks
+  
+  Be warned that:
+  
+  * I missed some LaTeX package, and therefore couldn't compile my
+    changes,
+  
+  * I don't know ion's internal well enough to be sure of what I write.
+  
+
+2005-03-07 09:35 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Fixed copy-paste error.
+
+2005-03-04 08:39 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20050304
+
+2005-03-03 18:42 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Added a note on hooks being called in protected mode.
+
+2005-03-03 18:39 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Updated ionws_placement_alt documentation.
+
+2005-02-27 13:19 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3ds-20050227
+
+2005-02-22 22:54 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3-svn2darcs
+
+2005-01-16 11:52 UTC  tuomov
+  tagged ion-doc-3ds-20050116
+
+2005-01-16 11:29 UTC  tuomov
+  * trunk: changeset 1931
+  fixed predist.sh
+
+2005-01-16 11:08 UTC  tuomov
+  * trunk: changeset 1930
+  Fixed undefined references.
+
+2005-01-15 21:33 UTC  tuomov
+  * trunk: changeset 1928
+  Updated some scripting docs.
+
+2005-01-15 21:20 UTC  tuomov
+  * trunk: changeset 1926
+  tabularx header changes.
+
+2005-01-15 21:03 UTC  tuomov
+  * trunk: changeset 1924
+  Tuning for latex2html etc.
+
+2005-01-15 17:29 UTC  tuomov
+  * trunk: changeset 1923
+  Added hook reference and updated hook documentation.
+
+2005-01-15 17:29 UTC  tuomov
+  * trunk: changeset 1922
+  Improved function reference macros to use lists instead of tables.
+
+2005-01-14 14:47 UTC  tuomov
+  * trunk: changeset 1920
+  Some minor fixes.
+
+2005-01-14 14:25 UTC  tuomov
+  * trunk: changeset 1918
+  - Improved menu documentation.
+  
+  - Other minor improvements.
+
+2005-01-13 16:49 UTC  tuomov
+  * trunk: changeset 1917
+  Updated graphical styles documentation.
+
+2005-01-13 14:40 UTC  tuomov
+  * trunk: changeset 1915
+  Updated winprop documentation.
+
+2005-01-13 14:27 UTC  tuomov
+  * trunk: changeset 1914
+  Updated binding and menu definition documentation.
+
+2005-01-11 20:18 UTC  tuomov
+  * trunk: changeset 1913
+  Brought config file intro up-to-date
+
+2005-01-11 15:31 UTC  tuomov
+  * trunk: changeset 1912
+  Updated class hierarchy documentation etc.
+
+2004-10-11 14:16 UTC  tuomov
+  * trunk: changeset 1821
+  Just testing some settings...
+
+2004-10-09 06:16 UTC  tuomov
+  * trunk: changeset 1804
+  libextl related changes.
+
+2004-10-09 05:56 UTC  tuomov
+  * trunk: changeset 1801
+  Added predist.sh
+
+2004-10-09 05:56 UTC  tuomov
+  * trunk: changeset 1800
+  Fixed a typo.
+
+2004-09-16 22:04 UTC  tuomov
+  * trunk: changeset 1754
+  Source file path updates.
+
+2004-07-31 22:25 UTC  tuomov
+  * trunk: changeset 1697
+  Updated Makefile to point to the new location of mkexports.lua.
+
+2004-07-26 21:57 UTC  tuomov
+  * trunk: changeset 1646
+  Function reference generation updates.
+
+2004-05-14 12:29 UTC  tuomov
+  * trunk: changeset 1485
+  Fixed punctuation.
+
+2004-03-15 16:32 UTC  tuomov
+  * trunk: changeset 1402
+  Changed makefile to account for changes in Ion module directories.
+
+2004-03-15 16:23 UTC  tuomov
+  * trunk: changeset 1400
+  Added install target to Makefile.
+
+2004-03-15 08:35 UTC  tuomov
+  * trunk: changeset 1398
+  Brought document generation up-to-date with module name changes.
+
+2004-03-10 21:57 UTC  tuomov
+  * trunk: changeset 1383
+  Merged omission and other fixes from stable branch.
+
+2004-03-05 23:49 UTC  tuomov
+  * trunk: changeset 1346
+  Some more minor documentation fixes. Just to test this new svn setup.
+
+2004-03-05 23:00 UTC  tuomov
+  * trunk: changeset 1345
+  Minor documentation fixes.
+
+2004-02-16 20:33 UTC  tuomov
+  * trunk: changeset 1323
+  Build process changed for Ion3.
+
+2004-02-07 01:55 UTC  tuomov
+  * trunk: changeset 1255
+  Added documentation on alternative get_winprop implementations.
+
+2004-02-07 01:42 UTC  tuomov
+  * trunk: changeset 1254
+  Removed unobfuscated email addresses.
+
+2004-01-28 22:04 UTC  tuomov
+  * trunk: changeset 1239
+  Removed extra word, added function reference.
+
+2004-01-27 22:30 UTC  tuomov
+  * trunk: changeset 1235
+  Added 'are' in 'that they are transient for'
+
+2004-01-27 22:26 UTC  tuomov
+  * trunk: changeset 1234
+  Improved xprop/transient help and winprop examples.
+
+2004-01-27 13:54 UTC  tuomov
+  * trunk: changeset 1231
+  Minor spelling mistake fix.
+
+2004-01-25 18:42 UTC  tuomov
+  * trunk: changeset 1225
+  Some minor clarifications in a few sentences and put URL:s on their
+  own lines.
+
+2004-01-25 18:05 UTC  tuomov
+  * trunk: changeset 1222
+  Typo and spelling fixes.
+
+2004-01-23 17:32 UTC  tuomov
+  * trunk: changeset 1215
+  Fixed a few typos and added an example.
+
+2004-01-22 21:25 UTC  tuomov
+  * trunk: changeset 1213
+  Added dock documentation.
+
+2004-01-14 22:29 UTC  tuomov
+  * trunk: changeset 1193
+  Minor cleanup.
+
+2004-01-08 22:32 UTC  tuomov
+  * trunk: changeset 1183
+  Updated winprop documentation.
+
+2003-12-22 23:58 UTC  tuomov
+  * trunk: changeset 162
+  Added discussion on modules and improved the main introduction and
+  object hierarchy introduction.
+
+2003-12-21 00:17 UTC  tuomov
+  * trunk: changeset 161
+  Removed duplicate label.
+
+2003-12-20 19:49 UTC  tuomov
+  * trunk: changeset 160
+  Added a list of functions.
+
+2003-12-20 15:18 UTC  tuomov
+  * trunk: changeset 159
+  Fixed a typo.
+
+2003-12-20 15:15 UTC  tuomov
+  * trunk: changeset 158
+  Oops.
+
+2003-12-20 15:14 UTC  tuomov
+  * trunk: changeset 157
+  Added a section on object references.
+
+2003-12-19 22:08 UTC  tuomov
+  * trunk: changeset 156
+  Mention stylemenu.
+
+2003-12-18 21:37 UTC  tuomov
+  * trunk: changeset 155
+  Added a section on special menus.
+
+2003-12-23 20:18 UTC  unknown
+  tagged ion-doc-20031211
+
+2003-12-11 17:29 UTC  tuomov
+  * trunk: changeset 154
+  Updates for 20031211 release.
+
+2003-12-23 20:18 UTC  unknown
+  tagged ion-doc-20031119
+
+2003-11-19 21:57 UTC  tuomov
+  * trunk: changeset 153
+  Removed 'executive' from summary.
+
+2003-11-19 21:57 UTC  tuomov
+  * trunk: changeset 152
+  Removed mplexfns reference.
+
+2003-11-17 00:42 UTC  tuomov
+  * trunk: changeset 151
+  Added an "executive summary" to the object hierarchy chapter.
+
+2003-11-14 18:15 UTC  tuomov
+  * trunk: changeset 150
+  Documented menus. Changes to reflect changes in configuration files.
+
+2003-10-30 10:04 UTC  tuomov
+  * trunk: changeset 149
+  Get documentation from luaextl/*.c as well.
+
+2003-10-29 12:05 UTC  tuomov
+  * trunk: changeset 148
+  LICENSE file changed to GPL.
+
+2003-10-29 11:55 UTC  tuomov
+  * trunk: changeset 147
+  Removed fdl.tex.
+
+2003-10-29 11:55 UTC  tuomov
+  * trunk: changeset 146
+  Changed license to GPL due to problems with the GFDL.
+
+2003-10-29 11:54 UTC  tuomov
+  * trunk: changeset 145
+  Changed \chapter->\xchapter, \section*->\xsectionstar
+
+2003-10-29 11:22 UTC  tuomov
+  * trunk: changeset 144
+  Added gpl.tex; GNU General Public License.
+
+2003-10-29 11:20 UTC  tuomov
+  * trunk: changeset 143
+  Added menu reference and updated drawing engine documentation to
+  reflect the change in style names.
+
+2003-12-23 20:18 UTC  unknown
+  tagged ion-doc-20030811
+
+2003-08-10 23:45 UTC  tuomov
+  * trunk: changeset 142
+  Fixed a few more typos and such.
+
+2003-08-10 23:37 UTC  tuomov
+  * trunk: changeset 141
+  Fixed a typo.
+
+2003-08-10 23:37 UTC  tuomov
+  * trunk: changeset 140
+  The files draw-DISPLAY.SCREEN.lua were still being referenced to.
+
+2003-12-23 20:18 UTC  unknown
+  tagged ion-doc-20030810
+
+2003-08-09 12:48 UTC  tuomov
+  * trunk: changeset 139
+  Added a quote.
+
+2003-08-09 12:45 UTC  tuomov
+  * trunk: changeset 138
+  Added a few spaces.
+
+2003-08-09 12:45 UTC  tuomov
+  * trunk: changeset 137
+  Added a walk-through of ioncore.lua.
+
+2003-08-08 21:56 UTC  tuomov
+  * trunk: changeset 136
+  Added an introduction and some design decision rationale.
+
+2003-08-07 21:45 UTC  tuomov
+  * trunk: changeset 135
+  Added information on winprop name field and improved winprop lookup
+  order explanation.
+
+2003-08-06 15:08 UTC  tuomov
+  * trunk: changeset 134
+  look-cleanviolet.lua was changed and so the example.
+
+2003-08-06 15:06 UTC  tuomov
+  * trunk: changeset 133
+  The 'urgent' attributes was renamed 'activity'.
+
+2003-08-01 05:54 UTC  tuomov
+  * trunk: changeset 132
+  Added mention of ignore_cfgrq.
+
+2003-07-31 21:24 UTC  tuomov
+  * trunk: changeset 131
+  Started a new chapter on assorted tricks.
+
+2003-07-31 15:21 UTC  tuomov
+  * trunk: changeset 130
+  A few fixes.
+
+2003-07-31 15:17 UTC  tuomov
+  * trunk: changeset 129
+  Improved drawing engine and style documentation.
+
+2003-07-30 22:47 UTC  tuomov
+  * trunk: changeset 128
+  Added a \docode kludge to have latex2html interpret figure
+  environments instead of generating images.
+
+2003-07-30 22:27 UTC  tuomov
+  * trunk: changeset 127
+  Started documenting drawing engines.
+
+2003-07-25 20:48 UTC  tuomov
+  * trunk: changeset 126
+  Moved WRootWin under WWindow in class hierarchy.
+
+2003-07-24 19:35 UTC  tuomov
+  * trunk: changeset 125
+  Some bindings setup documentation improvements.
+
+2003-07-13 22:16 UTC  tuomov
+  * trunk: changeset 124
+  Changes to accommodate for more OO bindings.
+
+2003-12-23 20:18 UTC  unknown
+  tagged ion-doc-20030710
+
+2003-07-10 17:18 UTC  tuomov
+  * trunk: changeset 123
+  Class explanations improved.
+
+2003-12-23 20:18 UTC  unknown
+  tagged ion-doc-20030628
+
+2003-06-27 22:58 UTC  tuomov
+  * trunk: changeset 122
+  Typos etc.
+
+2003-06-27 20:56 UTC  tuomov
+  * trunk: changeset 121
+  Fixed QueryLib introduction.
+
+2003-06-17 21:02 UTC  tuomov
+  * trunk: changeset 120
+  Removed mention of region_close and make_current_or_self_fn as this
+  binding does not work.
+
+2003-06-17 10:25 UTC  tuomov
+  * trunk: changeset 119
+  Added notes on C coding style.
+
+2003-12-23 20:18 UTC  unknown
+  tagged ion-doc-20030614
+
+2003-06-14 19:06 UTC  tuomov
+  * trunk: changeset 118
+  Fixed "or"->"are".
+
+2003-06-14 18:01 UTC  tuomov
+  * trunk: changeset 117
+  \date{} setting moved to distribution building script.
+
+2003-06-14 17:54 UTC  tuomov
+  * trunk: changeset 116
+  Minor bug was fixed.
+
+2003-06-14 17:53 UTC  tuomov
+  * trunk: changeset 115
+  Some clarifications were made in a few explanations and a note on
+  anonymous functions was added.
+
+2003-06-14 17:53 UTC  tuomov
+  * trunk: changeset 114
+  Redefined the itemize environment to look better.
+
+2003-06-14 15:10 UTC  tuomov
+  * trunk: changeset 113
+  Updated the documentation to use the new binding setting functions.
+
+2003-06-08 17:58 UTC  tuomov
+  * trunk: changeset 112
+  Added FDL as a plaintext file LICENSE.
+
+2003-06-08 17:56 UTC  tuomov
+  * trunk: changeset 111
+  Documentation updated to mention WMPlexes.
+
+2003-12-23 20:18 UTC  unknown
+  tagged ion-doc-20030531
+
+2003-05-31 15:39 UTC  tuomov
+  * trunk: changeset 110
+  Dates updated.
+
+2003-05-30 21:32 UTC  tuomov
+  * trunk: changeset 109
+  Updated the parts that refer to the files that were moved to SHAREDIR.
+
+2003-05-29 13:11 UTC  tuomov
+  * trunk: changeset 108
+  Added a note on char* and const char *.
+
+2003-05-29 12:51 UTC  tuomov
+  * trunk: changeset 107
+  Added one more note on deferred destroy.
+
+2003-05-29 12:47 UTC  tuomov
+  * trunk: changeset 106
+  Added a note on deferred destroy.
+
+2003-05-17 13:33 UTC  tuomov
+  * trunk: changeset 105
+  Updated the documentation to switch to using WRootWins for X screens
+  and WScreens for physical screens.
+
+2003-05-13 05:22 UTC  tuomov
+  * trunk: changeset 104
+  Some minor fixes.
+
+2003-12-23 20:18 UTC  unknown
+  tagged ion-doc-20030510
+
+2003-05-10 20:09 UTC  tuomov
+  * trunk: changeset 103
+  Removed repeated word.
+
+2003-05-10 20:02 UTC  tuomov
+  * trunk: changeset 102
+  Fixed some typos.
+
+2003-05-10 18:55 UTC  tuomov
+  * trunk: changeset 101
+  Oops. The all-ps rule was broken.
+
+2003-05-10 18:51 UTC  tuomov
+  * trunk: changeset 100
+  License notes changed to use \copyright instead of "(c)"
+
+2003-05-10 18:28 UTC  tuomov
+  * trunk: changeset 99
+  A README was added.
+
+2003-05-10 18:26 UTC  tuomov
+  * trunk: changeset 98
+  File removed.
+
+2003-05-10 18:26 UTC  tuomov
+  * trunk: changeset 97
+  Object system implementation was split out from the chapter/section on
+  object and class hierarchies.
+
+2003-05-10 18:25 UTC  tuomov
+  * trunk: changeset 96
+  Added implementation of artikel3 for latex2html.
+
+2003-05-10 18:24 UTC  tuomov
+  * trunk: changeset 95
+  Implementation of rapport3 for latex2html was added.
+
+2003-05-10 18:24 UTC  tuomov
+  * trunk: changeset 94
+  The macros were cleaned up
+
+2003-05-10 18:24 UTC  tuomov
+  * trunk: changeset 93
+  Better Makefile
+
+2003-05-10 18:23 UTC  tuomov
+  * trunk: changeset 92
+  FDL was modified to use the \xchapter etc. macros to enable embedding
+  it in articles.
+
+2003-05-10 18:23 UTC  tuomov
+  * trunk: changeset 91
+  Clarifications (hopefully) ein the explanation of the object and class
+  hierarchies.
+
+2003-05-10 18:22 UTC  tuomov
+  * trunk: changeset 90
+  The configuration files were documented.
+
+2003-05-10 18:22 UTC  tuomov
+  * trunk: changeset 89
+  The original document "Ion: Objects and extending" was split into
+  separate documents "Ion: Configuring and extending with Lua" and "Ion:
+  notes for the module and patch writer".
+
+2003-05-10 15:50 UTC  tuomov
+  * trunk: changeset 88
+  Added the GNU Free Documentation License.
+
+2003-05-08 18:31 UTC  tuomov
+  * trunk: changeset 87
+  Added more documentation on binding configuration.
+
+2003-05-07 18:43 UTC  tuomov
+  * trunk: changeset 86
+  Added QueryLib and Ioncorelib references. Moved function reference
+  .tex generation code here from ion.
+
+2003-05-06 19:46 UTC  tuomov
+  * trunk: changeset 85
+  Did some reorganization and added links to Lua documentation.
+
+2003-05-06 17:48 UTC  tuomov
+  * trunk: changeset 84
+  Added a \hline in the type table.
+
+2003-05-06 17:35 UTC  tuomov
+  * trunk: changeset 83
+  Added Makefile rules to generate postscript and pdf
+
+2003-05-06 17:33 UTC  tuomov
+  * trunk: changeset 82
+  Added a Makefile
+
+2005-02-16 07:18 UTC  tailor@f281.ttorni.ton.tut.fi
+  * Tailorization of trunk
+  Import of the upstream sources from the repository
+  
+   http://tao.uab.es/ion/svn/ion-doc/trunk
+  
+  as of revision 80
+  
diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..d60c31a
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,340 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+\f
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+\f
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+\f
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+\f
+           How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..bd580ca
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,136 @@
+# Settings
+######################################
+
+TOPDIR=../ion-3
+
+include $(TOPDIR)/build/system-inc.mk
+
+L2H=latex2html -show_section_numbers -short_index -local_icons -noaddress \
+    -up_url http://iki.fi/tuomov/ion/ -up_title "Ion homepage" -nofootnode\
+##    -style greyviolet.css
+
+
+# Function documentation to build
+######################################
+
+DOCS=ionconf ionnotes
+
+FNTEXES=ioncore-fns.tex mod_tiling-fns.tex \
+       mod_query-fns.tex de-fns.tex mod_menu-fns.tex \
+       mod_dock-fns.tex mod_sp-fns.tex
+
+# Generic rules
+######################################
+
+nothing:
+       @ echo "Please read the README first."
+
+%.ps: %.dvi
+       dvips $<
+
+%.pdf: %.dvi
+       dvipdfm -p a4 $<
+
+%.dvi: %.tex
+       latex $<
+
+# Install
+######################################
+
+install:
+       $(INSTALLDIR) $(DOCDIR); \
+       for d in $(DOCS); do \
+           for e in ps pdf dvi; do \
+             test -f $$d.$$e && $(INSTALL) -m $(DATA_MODE) $$d.$$e $(DOCDIR); \
+            done; \
+           $(INSTALLDIR) $(DOCDIR)/$$d; \
+            for i in $$d/*; do \
+                $(INSTALL) -m $(DATA_MODE) $$i $(DOCDIR)/$$i; \
+           done; \
+        done
+
+# ionconf rules
+######################################
+ionconf-dvi-full:
+       latex ionconf
+       latex ionconf
+       latex ionconf
+       makeindex ionconf.idx
+       latex ionconf
+
+ionconf-html: 
+       $(L2H) -split 3 ionconf
+
+fntexes: $(FNTEXES)
+
+ionconf-all: fntexes fnlist.tex ionconf-dvi-full ionconf-html
+
+# ionnotes rules
+######################################
+
+ionnotes-dvi-full:
+       latex ionnotes
+       latex ionnotes
+       latex ionnotes
+       makeindex ionnotes.idx
+       latex ionnotes
+
+ionnotes-html: 
+       $(L2H) -split 4 ionnotes
+
+ionnotes-all: ionnotes-dvi-full ionnotes-html
+
+# More generic rules
+######################################
+
+all: ionconf-all ionnotes-all
+
+all-ps: ionconf.ps ionnotes.ps
+
+all-pdf: ionconf.pdf ionnotes.pdf
+
+
+# Clean
+######################################
+
+clean:
+       rm -f $(FNTEXES) fnlist.tex
+       rm -f *.aux *.toc *.log
+       rm -f *.idx *.ild *.ilg *.ind
+        
+realclean: clean
+       rm -f *.ps *.pdf *.dvi
+       rm -rf $(DOCS)
+
+
+# Function reference rules
+######################################
+
+ioncore-fns.tex: $(TOPDIR)/ioncore/*.c $(TOPDIR)/ioncore/*.lua
+       $(MKEXPORTS) -module ioncore -mkdoc -o $@ $+
+
+mod_tiling-fns.tex: $(TOPDIR)/mod_tiling/*.c
+       $(MKEXPORTS) -module mod_tiling -mkdoc -o $@ $+
+
+mod_query-fns.tex: $(TOPDIR)/mod_query/*.c $(TOPDIR)/mod_query/mod_query.lua
+       $(MKEXPORTS) -module mod_query -mkdoc -o $@ $+
+
+mod_menu-fns.tex: $(TOPDIR)/mod_menu/*.c $(TOPDIR)/mod_menu/mod_menu.lua
+       $(MKEXPORTS) -module mod_menu -mkdoc -o $@ $+
+
+mod_dock-fns.tex: $(TOPDIR)/mod_dock/*.c
+       $(MKEXPORTS) -module mod_dock -mkdoc -o $@ $+
+
+mod_sp-fns.tex: $(TOPDIR)/mod_sp/*.c
+       $(MKEXPORTS) -module mod_sp -mkdoc -o $@ $+
+
+de-fns.tex: $(TOPDIR)/de/*.c
+       $(MKEXPORTS) -module de -mkdoc -o $@ $+
+
+# Function list
+######################################
+
+fnlist.tex: $(FNTEXES)
+       grep hyperlabel $+ | \
+       sed 's/.*fn:\([^}]*\).*/\\fnlisti{\1}/;'|sort -d -f \
+       > $@
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..604bf85
--- /dev/null
+++ b/README
@@ -0,0 +1,23 @@
+
+Ion-doc
+
+Tuomo Valkonen <tuomov at iki.fi>
+
+
+This package contains some (advanced user and module writer)
+documentation for the Ion window manager.
+
+You will need to install latex2html to build the HTML documents.
+
+How to build:
+
+ 1. Modify TOPDIR in Makefile point to your top-level Ion source
+    directory, containing a working system.mk (or system-ac.mk).
+
+ 3. After the above has been done, you may run 'make all' to build the
+    (hyperlinked) DVI and HTML versions of the documents. You may have
+    increase TeX pool size.
+
+ 4. If you want Postcript versions of the documents, run 'make all-ps'.
+    For PDF you need to have dvipdfm installed. The PDF:s are obviously
+    built with 'make all-pdf'.
diff --git a/artikel3.perl b/artikel3.perl
new file mode 100644 (file)
index 0000000..110f32c
--- /dev/null
@@ -0,0 +1,12 @@
+# artikel3.perl by Tuomo Valkonen, <tuomov at iki.fi>, 2003-05-10
+#
+# Implementation of the documentclass for latex2html. Just load
+# article.
+#
+
+package main;
+
+&do_require_package("article");
+
+1;
+
diff --git a/conf-bindings.tex b/conf-bindings.tex
new file mode 100644 (file)
index 0000000..9afb2b8
--- /dev/null
@@ -0,0 +1,269 @@
+\section{Keys and rodents}
+\label{sec:bindings}
+
+In the stock configuration file setup, most key and mouse bindings are set
+from the file \file{cfg\_ioncore.lua} while module-specific bindings
+are set from the modules' main configuration files (\file{cfg\_modname.lua}).
+This, however, does not have to be so as long as the module has been
+loaded prior to defining any module-specific bindings.
+
+Bindings are defined by calling the function 
+\fnrefx{ioncore}{defbindings} with the ''context'' of the
+bindings and the a table of new bindings to make. The context is simply
+string indicating one of the classes of regions (or modes such as
+\type{WMoveresMode}) introduced in section \ref{sec:objects}, and fully
+listed in appendix \ref{app:fullhierarchy}, although not all define
+a binding map. For example, the following skeleton would be used to 
+define new bindings for all frames:
+
+\begin{verbatim}
+defbindings("WFrame", {
+    -- List of bindings to make goes here.
+})
+\end{verbatim}
+
+There has been some confusion among users about the need to define the
+''context'' for each binding, so let me try to explain this design
+decision here. The thing is that if there was a just a simple 'bind this 
+key to this action' method without knowledge of the context, some 
+limitations would have to be made on the available actions and writing 
+custom handlers would be more complicated. In addition one may want to 
+bind the same function to different key for different types of objects.
+Indeed, the workspace and frame tab switching functions are the same both
+classes being based on \type{WMPlex}, and in the stock configuration the 
+switch to $n$:th workspaces is bound to \key{Mod1+n} while the switch to 
+$n$:th tab is bound to the sequence \key{Mod1+k n}.
+
+Currently known ''contexts'' include: 
+\code{WScreen},
+\code{WMPlex},
+\code{WMPlex.toplevel},
+\code{WFrame},
+\code{WFrame.toplevel},
+\code{WFrame.floating},
+\code{WFrame.tiled},
+\code{WFrame.transient},
+\code{WMoveresMode},
+\code{WGroup},
+\code{WGroupCW},
+\code{WGroupWS},
+\code{WClientWin},
+\code{WTiling}, and
+\code{WStatusBar}.
+Most of these should be self-explanatory, corresponding to objects
+of class with the same name. The ones with \code{.toplevel} suffix
+refer to screens and ''toplevel''  frames, i.e. frames that are
+not used for transient windows. Likewise \code{.transient} refers
+to frames in transient mode, and \code{.tiled} and \code{.floating}
+to frames in, respectively, tiled and floating modes. 
+
+                                                        
+
+The following subsections describe how to construct elements of the
+binding table. Note that \fnrefx{ioncore}{defbindings} adds
+the the newly defined bindings to the previous bindings of the context,
+overriding duplicates. To unbind an event, set the handler parameter
+to \code{nil} for each of the functions to be described in the following
+subsections.
+
+Also note that when multiple objects want to handle a binding, the 
+innermost (when the root window is considered the outermost) active object
+in the parent--child hierarchy (see Figure \ref{fig:parentship}) of objects 
+gets to handle the action.
+
+
+\subsection{Binding handlers and special variables}
+
+Unlike in Ion2, in Ion3 binding handlers are not normally passed as
+''anonymous functions'', although this is still possible. The preferred
+method now is to pass the code of the handler as a string. Two special 
+variables are available in this code. These are
+
+\begin{tabularx}{\linewidth}{lX}
+    \tabhead{Variable & Description}
+    \code{_} (underscore) &
+      Reference to the object on which the 
+      binding was triggered. The object is of the same class as the the
+      context of the \fnrefx{ioncore}{defbindings} call
+      defining the binding. \\
+    \code{_sub} &
+      Usually, the currently active \emph{managed object} of the 
+      object referred to by \code{_}, but sometimes (e.g. mouse actions
+      on tabs of frames) something else relevant to the action triggering
+      the binding. \\
+    \code{_chld} &
+      Object corresponding to the currently active child window of the
+       object referred to by \code{_}.
+\end{tabularx}
+
+For example, supposing '\code{_}' is a \type{WFrame}, the following
+handler should move the active window to the right, if possible:
+
+\begin{verbatim}
+"_:inc_index(_sub)"
+\end{verbatim}
+
+\subsection{Guards}
+
+To suppress error messages, each binding handler may also be accompanied
+by a ''guard'' expression that blocks the handler from being called when
+the guard condition is not met. Currently the following guard expressions
+are supported (for both \code{_sub} and \code{_chld}):
+
+\begin{tabularx}{\linewidth}{lX}
+    \tabhead{Guard & Description}
+    \code{"_sub:non-nil"} & The \code{_sub} parameter must be set. \\
+    \code{"_sub:SomeClass"} & The \code{_sub} parameter must be member
+      of class \type{SomeClass}. \\
+\end{tabularx}
+
+
+\subsection{Defining the bindings}
+\label{sec:binddef}
+
+The descriptions of the individual bindings in the binding table argument
+to \fnrefx{ioncore}{defbindings} should be constructed with the following
+functions.
+
+Key presses:
+\begin{itemize}
+    \item \fnref{kpress}\code{(keyspec, handler [, guard])},
+    \item \fnref{kpress_wait}\code{(keyspec, handler [, guard])} and
+    \item \fnref{submap}\code{(keyspec, \{ ... more key bindings ... \})}.
+\end{itemize}
+Mouse actions:
+\begin{itemize}
+    \item \fnref{mclick}\code{(buttonspec, handler [, guard])},
+    \item \fnref{mdblclick}\code{(buttonspec, handler [, guard])}, 
+    \item \fnref{mpress}\code{(buttonspec, handler [, guard])} and
+    \item \fnref{mdrag}\code{(buttonspec, handler [, guard])}.
+\end{itemize}
+
+The actions that most of these functions correspond to should be clear
+and as explained in the reference, \fnref{kpress_wait} is simply
+\fnref{kpress} with a flag set instructing Ioncore wait for all
+modifiers to be released before processing any further actions.
+This is to stop one from accidentally calling e.g.
+\fnref{WRegion.rqclose} multiple times in a row. The \fnref{submap}
+function is used to define submaps or ''prefix maps''. The second
+argument to this function is table listing the key press actions
+(\fnref{kpress}) in the submap
+
+The parameters \var{keyspec} and \var{buttonspec} are explained below
+in detail. The parameter \var{handler} is the handler for the binding,
+and the optional parameter \var{guard} its guard. These should normally
+be strings as explained above. 
+
+\subsection{Examples}
+
+For example, to just bind the key \key{Mod1+1} to switch to the first
+workspace and \key{Mod1+Right} to the next workspace, you would make the
+following call
+\begin{verbatim}
+defbindings("WScreen", {
+    kpress("Mod1+Right", "_:switch_next()"),
+    kpress("Mod1+1", "_:switch_nth(1)"),
+})
+\end{verbatim}
+
+Note that \code{_:switch_nth(1)} is the same as calling
+\fnref{WMPlex.switch_next}\code{(_, 1)} as \type{WScreen} inherits
+\type{WMPlex} and this is where the function is actually defined.
+
+Similarly to the above example, to bind the key sequence \key{Mod1+k n} 
+switch to the next managed object within a frame, and \key{Mod1+k 1} to the
+first, you would issue the following call:
+\begin{verbatim}
+defbindings("WFrame", {
+    submap("Mod1+K", {
+        kpress("Right", "_:switch_next()"),
+        kpress("1", "_:switch_nth(1)"),
+   }),
+})
+\end{verbatim}
+
+
+\subsection{Key specifications}
+
+As seen above, the functions that create key binding specifications require
+a \var{keyspec} argument. This argument should be a string containing the
+name of a key as listed in the X header file \file{keysymdef.h}%
+\footnote{This file can usually be found in the directory
+\file{/usr/X11R6/include/X11/}.} without the \code{XK_} prefix.
+\index{keysymdef.h@\file{keysymdef.h}}
+Most of the key names are quite intuitive while some are not. For example,
+the \key{Enter} key on the main part of the keyboard has the less common
+name \key{Return} while the one the numpad is called \key{KP\_Enter}.
+
+The \var{keyspec} string may optionally have multiple ''modifier'' names
+followed by a plus sign (\code{+}) as a prefix. X defines the following
+modifiers:
+\begin{quotation}
+\key{Shift}, \key{Control}, \key{Mod1} to \key{Mod5},
+\key{AnyModifier} and \key{Lock}.
+\index{Shift@\key{Shift}}
+\index{Control@\key{Control}}
+\index{ModN@\key{ModN}}
+\index{AnyModifier@\key{AnyModifier}}
+\index{Lock@\key{Lock}}
+\end{quotation}
+
+X allows binding all of these modifiers to almost any key and while this
+list of modifiers does not explicitly list keys such as 
+\key{Alt}\index{Alt@\key{Alt}} that are common on modern keyboards, such
+keys are bound to one of the \key{ModN}. On systems running XFree86
+\key{Alt} is usually \key{Mod1}. On Suns \key{Mod1} is the diamond key
+and \key{Alt} something else. One of the ''flying window'' keys on so
+called Windows-keyboards is probably mapped to \key{Mod3} if you have
+such a key. Use the program \file{xmodmap}\index{xmodmap@\file{xmodmap}}
+to find out what exactly is bound where. 
+
+Ion defaults to \key{AnyModifier} in submaps. This can sometimes lead to
+unwanted effects when the same key is used with and without explicitly
+specified modifiers in nested regions. For this reason, Ion recognises
+\key{NoModifier} as a special modifier that can be used to reset this
+default.
+
+Ion ignores the \key{Lock} modifier and any \key{ModN} ($N=1{\ldots} 5$)
+bound to \key{NumLock}\index{NumLock@\key{NumLock}} or
+\key{ScrollLock}\index{ScrollLock@\key{ScrollLock}}
+by default because such\footnote{Completely useless keys that should be
+gotten rid of in the author's opinion.} locking keys may otherwise
+cause confusion.
+
+
+\subsection{Button specifications}
+
+Button specifications are similar to key definitions but now
+instead of specifying modifiers and a key, you specify modifiers
+and one of the button names \key{Button1} to
+\key{Button5}\index{Button-n@\key{Button-n}}. Additionally the
+specification may end with an optional area name following an @-sign.
+Only frames currently support areas, and the supported values in this
+case are
+\code{"border"}, \code{"tab"}, \code{"empty_tab"}, \code{"client"} and
+\code{nil} (for the whole frame).
+
+For example, the following code binds dragging a tab with the first 
+button pressed to initiate tab drag\&drop handling:
+
+\begin{verbatim}
+defbindings("WFrame", {
+    mdrag("Button1@tab", "_:p_tabdrag()"),
+})
+\end{verbatim}
+
+
+\subsection{A further note on the default binding configuration}
+
+The default binding configuration contains references to the variables
+\code{META} and \code{ALTMETA} instead of directly using the default
+values of \code{"Mod1+"} and \code{""} (nothing). As explained in
+section \ref{sec:walkthrough}, the definitions of these variables
+appear in \file{cfg\_ion.lua}. This way you can easily change the the
+modifiers used by all bindings in the default configuration without 
+changing the whole binding configuration. Quite a few people prefer 
+to use the Windows keys as modifiers because many applications already
+use \key{Alt}. Nevertheless, \key{Mod1} is the default as a key bound 
+to it is available virtually everywhere.
+
diff --git a/conf-menus.tex b/conf-menus.tex
new file mode 100644 (file)
index 0000000..3f9ee17
--- /dev/null
@@ -0,0 +1,120 @@
+\section{Menus}
+\label{sec:menus}
+
+\subsection{Defining menus}
+
+\index{menus}
+\index{defmenu@\code{defmenu}}
+\index{menuentry@\code{menuentry}}
+\index{submenu@\code{submenu}}
+In the stock configuration file setup, menus are defined in the file
+\file{cfg\_menus.lua} as previously mentioned. The \file{mod\_menu} module
+must be loaded for one to be able to define menus, and this is done with
+the function \fnrefx{mod_menu}{defmenu} provided by it.
+
+Here's an example of the definition of a rather simple menu with a submenu:
+
+\begin{verbatim}
+defmenu("exitmenu", {
+    menuentry("Restart", "ioncore.restart()"),
+    menuentry("Exit", "ioncore.shutdown()"),
+})
+
+defmenu("mainmenu", {
+    menuentry("Lock screen", "ioncore.exec('xlock')"),
+    menuentry("Help", "mod_query.query_man(_)"),
+    submenu("Exit", "exitmenu"),
+})
+\end{verbatim}
+
+
+The \fnrefx{mod_menu}{menuentry} function is used to create an entry in the 
+menu with a title and an entry handler to be called when the menu entry
+is activated. The parameters to the handler are similar to those of binding
+handlers, and usually the same as those of the binding that opened the menu.
+
+The \fnrefx{mod_menu}{submenu} function is used to insert a submenu at that 
+point in the menu. (One could as well just pass a table with the menu
+entries, but it is not encouraged.)
+
+\subsection{Special menus}
+
+The menu module predefines the following special menus. These can be used
+just like the menus defined as above.
+
+\begin{tabularx}{\linewidth}{lX}
+    \tabhead{Menu name & Description}
+    \code{windowlist} & 
+    List of all client windows. Activating an entry jumps to that window. \\
+    \code{workspacelist} & 
+    List of all workspaces. Activating an entry jumps to that workspaces. \\
+    \code{stylemenu} &
+    List of available \file{look\_*.lua} style files. Activating an entry
+    loads that style and ask to save the selection. \\
+    \code{ctxmenu} &
+    Context menu for given object. \\
+\end{tabularx}
+
+
+\subsection{Defining context menus}
+
+The ''ctxmenu'' is a special menu that is assembled from a defined context
+menu for the object for which the menu was opened for, but also includes
+the context menus for the manager objects as submenus.
+
+Context menus for a given region class are defined with the
+\fnrefx{mod_menu}{defctxmenu} function. This is other ways similar to
+\fnrefx{mod_menu}{defmenu}, but the first argument instead being the name
+of the menu, the name of the region class to define context menu for.
+For example, here's part of the stock \type{WFrame} context menu 
+definition:
+
+\begin{verbatim}
+defctxmenu("WFrame", {
+    menuentry("Close", "WRegion.rqclose_propagate(_, _sub)"),
+    menuentry("Kill",  "WClientWin.kill(_sub)", "_sub:WClientWin"),
+})
+\end{verbatim}
+
+Some of the same ''modes'' as were available for some bindings
+may also be used: \code{WFrame.tiled}, \code{WFrame.floating},
+and \code{WFrame.transient}.
+
+
+\subsection{Displaying menus}
+\label{sec:menudisp}
+
+The following functions may be used to display menus from binding
+handlers (and elsewhere):
+
+\begin{tabularx}{\linewidth}{lX}
+    \tabhead{Function & Description}
+    \fnref{mod_menu.menu} &
+      Keyboard (or mouse) operated menus that open in the bottom-left corner
+      of a screen or frame. \\
+    \fnref{mod_menu.bigmenu} &
+      Same as previous, but uses another graphical style. \\
+    \fnref{mod_menu.pmenu} &
+      Mouse-operated drop-down menus. This function can only be called from a
+      mouse press or drag handler. \\
+    \fnref{mod_menu.grabmenu} &
+      A special version of \fnref{mod_menu.menu} that grabs the keyboard
+      and is scrolled with a given key until all modifiers have been released,
+      after which the selected entry is activated. This function is meant to 
+      be used for implementing, for example, Win***s-style \key{Alt-Tab} 
+      handling.\footnote{See the \file{wcirculate.lua} script in the Ion 
+        scripts repository \url{http://iki.fi/tuomov/repos/ion-scripts-3/}.} \\
+\end{tabularx}
+
+The \fnrefx{mod_menu}{grabmenu} function takes the extra key parameter, but
+aside from that each of these functions takes three arguments, which when
+called from a binding handler, should be the parameters to the handler, and
+the name of the menu. For example, the following snippet of of code binds
+the both ways to open a context menu for a frame:
+
+\begin{verbatim}
+defbindings("WFrame", {
+    kpress(MOD1.."M", "mod_menu.menu(_, _sub, 'ctxmenu')"),
+    mpress("Button3", "mod_menu.pmenu(_, _sub, 'ctxmenu')"),
+})
+\end{verbatim}
diff --git a/conf-winprops.tex b/conf-winprops.tex
new file mode 100644 (file)
index 0000000..10c1c10
--- /dev/null
@@ -0,0 +1,279 @@
+\section{Winprops}
+\label{sec:winprops}
+
+The so-called ''winprops''\index{Winprops} can be used to change how
+specific windows are handled and to set up some kludges to deal with
+badly behaving applications. They are defined by calling the function
+\code{defwinprop} with a table containing the properties to set and the
+necessary information to identify a window. The currently supported
+winprops are listed below, and the subsequent subsections explain the
+usual method of identifying windows, and how to obtain this information.
+
+%\begin{table}
+%\begin{htmlonly}
+%\docode % latex2html kludge
+%\end{htmlonly}
+%\caption{Supported winprops}
+%\label{tab:winprops}
+
+\newenvironment{winprop}[2]{
+  \begin{function}%
+      % Sigh. (La)TeX is a mess.
+      %\index{%
+      %  \ifx\\#1\\%
+      %  #2\else#1\fi%
+      %  @\expandafter\var{#2}}
+      \item[Winprop:] \var{#1} (#2)
+      \item[Description:]
+}
+{
+  \end{function}
+}
+
+
+\begin{winprop}{acrobatic}{boolean}
+    \index{acrobatic@\var{acrobatic}}
+    Set this to \code{true} for Acrobat Reader. It has an annoying
+    habit of trying to manage its dialogs instead of setting them as
+    transients and letting the window manager do its job, causing
+    Ion and acrobat go a window-switching loop when a dialog is
+    opened. 
+\end{winprop}
+
+
+\begin{winprop}{aspect}{table}
+    \index{aspect@\var{aspect}}
+    The table should contain the entries \var{w} and \var{h} that
+    override application-supplied aspect ratio hint.
+\end{winprop}
+
+
+\begin{winprop}{float}{boolean}
+    \index{float@\var{float}}
+    Set this to open the window in a floating frame, when
+    in a group.
+\end{winprop}
+
+
+\begin{winprop}{fullscreen}{boolean}
+    \index{fullscreen@\var{fullscreen}}
+    Should the window be initially in full screen mode?
+\end{winprop}
+
+
+\begin{winprop}{ignore_cfgrq}{boolean}
+    \index{ignore-cfgrq@\var{ignore_cfgrq}}
+    Should configure requests on the window be ignored?
+    Only has effect on floating windows.
+\end{winprop}
+
+
+\begin{winprop}{ignore_net_active_window}{boolean}
+    \index{ignore-net-active-window@\var{ignore_net_active_window}}
+    Ignore extended WM hints \code{_NET_ACTIVE_WINDOW} request. 
+\end{winprop}
+
+
+\begin{winprop}{ignore_resizeinc}{boolean}
+    \index{ignore-resizeinc@\var{ignore_resizeinc}}
+    Should application supplied size increments be ignored?
+\end{winprop}
+
+
+\begin{winprop}{jumpto}{boolean}
+    \index{jumpto@\var{jumpto}}
+    Should a newly created client window always be made
+    active, even if the allocated frame isn't. 
+\end{winprop}
+
+
+\begin{winprop}{max_size}{table}
+    \index{max-size@\var{max_size}}
+    The table should contain the entries \var{w} and \var{h} that
+    override application-supplied maximum size hint. 
+\end{winprop}
+
+
+\begin{winprop}{min_size}{table}
+    \index{min-size@\var{min_size}}
+    Similar to \var{max_size} but for the minimum size hint. 
+\end{winprop}
+
+
+\begin{winprop}{oneshot}{boolean}
+    \index{oneshot@\var{oneshot}}
+    Discard this winprop after first use. 
+\end{winprop}
+
+
+\begin{winprop}{switchto}{boolean}
+    \index{switchto@\var{switchto}}
+    Should a newly mapped client window be switched to within
+    its frame.
+\end{winprop}
+        
+
+\begin{winprop}{target}{string}
+    \index{target@\var{target}}
+    The name of an object (workspace, frame) that should manage 
+    windows of this type. 
+\end{winprop}
+
+        
+\begin{winprop}{transient_mode}{string}
+    \index{transient-mode@\var{transient_mode}}
+    "normal": No change in behaviour. "current": The window
+    should be thought of as a transient for the current active
+    client window (if any) even if it is not marked as a
+    transient by the application. "off": The window should be
+    handled as a normal window even if it is marked as a
+    transient by the application. 
+\end{winprop}
+
+
+\begin{winprop}{transients_at_top}{boolean}
+    \index{transients-at-top@\var{transients_at_top}}
+    When transients are managed by the client window itself (as it
+    is the case on tiled workspaces), should the transients be
+    placed at the top of the window instead of bottom? 
+\end{winprop}
+
+
+\begin{winprop}{transparent}{boolean}
+    \index{transparent@\var{transparent}}
+    Should frames be made transparent when this window is selected? \\
+\end{winprop}
+
+
+
+\subsection{Classes, roles and instances}
+\label{sec:classesrolesinstances}
+
+The identification information in the winprop specification is usually the
+\var{class}\index{class@\var{class}!winprop},
+\var{role}\index{role@\var{role}!winprop},
+\var{instance}\index{instance@\var{instance}!winprop} and
+\var{name}
+of the window. The \var{name} field is a Lua-style regular expression
+matched against the window's title and the rest are strings that must
+exactly match the corresponding window information. It is not necessary
+to specify all of these fields.
+
+Ion looks for a matching winprop in the order listed by the following
+table. An 'E' indicates that the field must be set in the winprop
+and it must match the window's corresponding property exactly or, in
+case of \var{name}, the regular expression must match the window
+title. An asterisk '*' indicates that a winprop where the field is
+not specified (or is itself an asterisk in case of the first three
+fields) is tried.
+
+\begin{center}
+\begin{tabular}{llll}
+  \tabhead{\var{class} & \var{role} & \var{instance} & \var{name}}
+  E           & E          & E              & E \\
+  E           & E          & E              & * \\
+  E           & E          & *              & E \\
+  E           & E          & *              & * \\
+  E           & *          & E              & E \\
+  E           & *          & E              & * \\
+  E           & *          & *              & E \\
+  \vdots       & \vdots     & \vdots         & etc. \\
+\end{tabular}
+\end{center}
+
+If there are multiple winprops with other identification information 
+the same but different \var{name}, the longest match is chosen.
+
+\subsection{Finding window identification}
+
+The 'Window info' context menu entry (\key{Mod1+M} or \key{Button3} on a tab)
+can be used to list the identification information required to set winprops
+for a window and all the transient windows managed within it. 
+
+\index{xprop} 
+Another way to get the identification information is to use \command{xprop}.
+Simply run To get class and instance, simply run \command{xprop WM_CLASS}
+and click on the particular window of interest. The class is the latter of
+the strings while the instance is the former.  To get the role -- few
+windows have this property -- use the command \command{xprop WM_ROLE}. 
+This method, however, will not work on transients. 
+
+\index{transient}
+So-called ''transient windows'' are usually short-lived dialogs (although
+some programs abuse this property) that have a parent window that they are
+''transient for''. On tiled workspaces Ion displays these windows 
+simulatenously with the parent window at the bottom of the same frame.
+Unfortunately \command{xprop} is stupid and can't cope with this situation,
+returning the parent window's properties when the transient is clicked on.
+For this reason you'll have to do a little extra work to get the properties
+for that window.\footnote{There's a patch to \command{xprop} to
+fix this, but nothing seems to be happening with respect to including it in 
+XFree86.}
+
+Finally, it should be mentioned that too many authors these days
+''forget'' to set this vital identification to anything meaningful:
+everything except name is the same for all of the programs's 
+windows, for example.
+
+\subsection{Some common examples}
+
+\subsubsection{Acrobat Reader}
+
+The following is absolutely necessary for Acrobat reader:
+
+\begin{verbatim}
+defwinprop{
+    class = "AcroRead",
+    instance = "documentShell",
+    acrobatic = true,
+}
+\end{verbatim}
+
+\subsubsection{Fixing a Mozilla Firebird transient}
+
+Mozilla Firebird (0.7) incorrectly does not set the \code{WM_TRANSIENT_FOR} 
+property for the dialog that is used to ask the action to take for a file.
+It, however, sets the the property point to the main window for the save
+dialog. This can be annoying and confusing, as the first dialog is not 
+closed before the second is displayed.
+
+We'd like the first dialog to be transient to the main window. The closest
+we can get to that is to consider it transient to the current window (if
+there's one). Unfortunately Firebird does not set any meaningful classes, 
+instances or roles for the windows, so we'll have to rely on an ugly title
+match.
+
+\begin{verbatim}
+defwinprop{
+    class = "MozillaFirebird-bin",
+    name = "Opening .*",
+    transient_mode = "current",
+}
+\end{verbatim}
+
+\subsubsection{Forcing newly created windows in named frames}
+
+The following winprop should place xterm started with command-line parameter
+\mbox{\code{-name sysmon}} and running a system monitoring program in a
+particular frame:
+\begin{verbatim}
+defwinprop{
+    class = "XTerm",
+    instance = "sysmon",
+    target = "sysmonframe",
+}
+\end{verbatim}
+
+For this example to work, we have to somehow create a frame named
+\code{sysmonframe}. One way to do this is to make the following
+call in the \key{Mod1+F3} Lua code query:
+
+\begin{verbatim}
+mod_query.query_renameframe(_)
+\end{verbatim}
+
+Recall that \code{_} points to the multiplexer (frame or screen) in which 
+the query was opened. Running this code should open a new query prefilled
+with the current name of the frame. In our example we would change the 
+name to \code{sysmonframe}, but we could just as well have used the 
+default name formed from the frame's class name and an instance number.
diff --git a/conf.tex b/conf.tex
new file mode 100644 (file)
index 0000000..109093b
--- /dev/null
+++ b/conf.tex
@@ -0,0 +1,178 @@
+
+\chapter{Basic configuration}
+\label{chap:config}
+
+This chapter should help your configure Ion to your liking. As  the your
+probably already know, Ion uses Lua as a configuration and extension 
+language. If you're new to it, you might first want to read some Lua 
+documentation as already suggested and pointed to in the Introduction
+before continuing with this chapter.
+
+Section \ref{sec:conffiles}┬áis an overview of the multiple configuration
+files Ion uses and as a perhaps more understandable introduction to the
+general layout of the configuration files, a walk-through of the main 
+configuration file \file{ion.lua} is provided in section 
+\ref{sec:walkthrough}.
+How keys and mouse action are bound to functions is described in detail
+in \ref{sec:bindings} and in section \ref{sec:winprops} winprops are
+explained. For a reference on exported functions, see section
+\ref{sec:exports}.
+
+\section{The configuration files}
+\label{sec:conffiles}
+
+Ion3, to which document applies, stores its stock configuration files in
+\file{/usr/local/etc/ion3/} unless you, the OS package maintainer or 
+whoever  installed the package on the system has modified the variables
+\code{PREFIX}\index{PREFIX@\code{PREFIX}} or
+\code{ETCDIR}\index{ETCDIR@\code{ETCDIR}} in
+\file{system.mk}\index{system.mk@\file{system.mk}} before compiling Ion.
+In the first case you probably know where to find the files and in 
+the other case the system administrator or the OS package maintainer
+should  have provided documentation to point to the correct location. 
+If these instructions are no help in locating the correct directory, 
+the command \code{locate cfg_ion.lua} might help provided \code{updatedb} 
+has been run recently. 
+
+User configuration files go in \file{\~{}/.ion3/}. 
+Ion always searches the user configuration file directory before the stock
+configuration file directory for files. Therefore, if you want to change
+some setting, it is advised against that you modify the stock configuration
+files in-place as subsequent installs of Ion will restore the stock
+configuration files. Instead you should always make a copy of the stock
+file in \file{\~{}/.ion3/} and modify this file. When searching
+for a file, if no extension or path component is given, compiled \file{.lc} 
+files are attempted before \file{.lua} files.
+
+All the configuration files are named \file{cfg\_*.lua} with the ''\file{*}''
+part varying. The configuration file for each module \file{mod\_modname} is
+\file{cfg\_modname.lua}, with \file{modname} varying by the module in
+question. The following table summarises these and other configuration
+files:
+
+\begin{tabularx}{\linewidth}{
+      p{\widthof{cfg-bindings.lua}}%
+      X}
+    \hline
+    File & Description \\
+    \hline
+    \file{cfg\_ion.lua} & 
+    The main configuration file \\
+    %
+    \file{cfg\_ioncore.lua} & 
+    Configuration file for Ion's core library.
+    Most of the bindings and menus are configured here. Bindings that are
+    specific to some module are configured in the module's configuration
+    file. For details, see section \ref{sec:bindings}. \\
+    %
+    \file{cfg\_kludges.lua} & 
+    Settings to get some applications behave more nicely have been 
+    collected here. See section \ref{sec:winprops}. \\
+    %
+    \file{cfg\_tiling.lua} 
+    \file{cfg\_query.lua} 
+    \file{cfg\_menu.lua} 
+    \file{cfg\_dock.lua} 
+    \file{cfg\_statusbar.lua} 
+    \dots & Configuration files for different modules. \\
+\end{tabularx}
+
+Additionally, there's the file \file{look.lua} that configures the 
+drawing engine, but it is covered in chapter \ref{chap:gr}.
+
+\section{A walk through \file{cfg\_ion.lua}}
+\label{sec:walkthrough}
+
+As already mentioned \file{cfg\_ion.lua} is Ion's main configuration
+file. Some basic 'feel' settings are usually configured there and
+the necessary modules and other configuration files configuring some 
+more specific aspects of Ion are loaded there. In this section we
+take a walk through the stock \file{cfg\_ion.lua}.
+Notice that most of the settings are commented-out (\code{--} is a 
+line comment in Lua) in the actual file, as they're the defaults
+nevertheless.
+
+The first thing one in the file is to set
+\begin{verbatim}
+META="Mod1+"
+ALTMETA=""
+\end{verbatim}
+These settings cause most of Ion's key bindings to use \key{Mod1} as the
+modifier key. If \code{ALTMETA} is set, it is used as modifier for the keys
+that don't normally use a modifier. for details on modifiers and key 
+binding setup in general see section \ref{sec:bindings}.
+
+Next we do some basic feel configuration:
+
+\begin{verbatim}
+ioncore.set{
+    dblclick_delay=250,
+    kbresize_delay=1500,
+}
+\end{verbatim}
+
+These two will set the delay between button presses in a double click, and
+the timeout to quit resize mode in milliseconds.
+
+\begin{verbatim}
+ioncore.set{
+    opaque_resize=true,
+    warp=true
+}
+\end{verbatim}
+
+The first of these two settings enables opaque resize mode: in move/resize
+move frames and other objects mirror you actions immediately. If opaque
+resize is disabled, a XOR rubber band is shown during the mode instead.
+This will, unfortunately, cause Ion to also grab the X server and has some
+side effects.
+
+Next we load the configuration for Ion's core, and some kludges:
+
+\begin{verbatim}
+dopath("cfg_ioncore")
+dopath("cfg_kludges")
+\end{verbatim}
+
+Most bindings and menus are defined in \file{cfg\_ioncore.lua}.
+Details on making such definitions follow in sections \ref{sec:bindings} 
+and \ref{sec:menus}, respectively. 
+some kludges or ''winprops'' to make some applications behave better
+under Ion are colledted in \file{cfg\_kludges.lua}; see section
+\ref{sec:winprops} for details. In addition to these, this file
+lists quite a few statements of the form
+\begin{verbatim}
+ioncore.defshortening("[^:]+: (.*)(<[0-9]+>)", "$1$2$|$1$<...$2")
+\end{verbatim}
+These are used to configure how Ion attempts to shorten window titles
+when they do not fit in a Tab. The first argument is a POSIX regular
+expression that is used to match against the title and the next is
+a rule to construct a new title of a match occurs. This particular
+rule is used to shorten e.g. 'Foo: barbaz<3>' to 'barba{\ldots}<3>'; for
+details see the function reference entry for \fnref{ioncore.defshortening}.
+
+To actually be able to do something besides display windows in full screen
+mode, we must next load some modules:
+
+\begin{verbatim}
+dopath("cfg_modules")
+--dopath("mod_query")
+--dopath("mod_menu")
+--dopath("mod_tiling")
+--dopath("mod_statusbar")
+--dopath("mod_dock")
+--dopath("mod_sp")
+\end{verbatim}
+
+We actually load there another file listing the default selection of
+modules. If you only want to load additional modules, just uncomment
+the corresponding line. If you want to disable loading some modules,
+comment out the the line loading \file{cfg\_modules}, and uncomment
+the lines for the modules you want, or add more.
+
+
+\input{conf-bindings.tex}
+
+\input{conf-menus.tex}
+
+\input{conf-winprops.tex}
diff --git a/confintro.tex b/confintro.tex
new file mode 100644 (file)
index 0000000..9331614
--- /dev/null
@@ -0,0 +1,52 @@
+
+\chapter{Introduction}
+
+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 
+to these files and how to write more complex extensions in Lua, the 
+lightweight configuration and scripting language used by Ion. 
+
+Readers unfamiliar with Lua is advised to first glance at the Lua manual at 
+
+\centerurl{http://www.lua.org/docs.html}
+
+and perhaps some tutorial pages at the lua-users wiki:
+
+\centerurl{http://lua-users.org/wiki/LuaTutorial}
+
+Back in this document, first in chapter \ref{chap:prelim} 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 \emph{configure} 
+a program, this  material is essential because of the object-oriented 
+nature of most of Ion's scripting interface.
+
+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. 
+
+In chapter \ref{chap:config} 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 \ref{chap:gr}
+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 \ref{chap:tricks} (a work in 
+progress).
+
+Finally, most of the functions provided by Ion's scripting interface
+are listed and documented in the Function reference in chapter
+\ref{sec:exports}. At the end of the document is an alphabetical
+listing of all these functions.
+
+
diff --git a/cstyle.tex b/cstyle.tex
new file mode 100644 (file)
index 0000000..328a7c3
--- /dev/null
@@ -0,0 +1,118 @@
+\section{C coding style}
+
+If you want to submit patches to Ion, you MUST follow my coding 
+style, even if you think it is the root of all evil. We don't want
+the code to be an incomprehensible mess of styles and I have better
+things to do than fix other people's style to match mine. The style
+should be obvious by studying the source, but here's a list of some
+things to take note of.
+
+\subsection{Whitespace}
+
+\begin{itemize}
+  \item Indentations of 4 with \emph{tab size=4}. 
+    
+  \item No extra spaces between operators, delimiters etc. except
+    \begin{itemize}
+      \item around logical and, or (\code{&&}, \code{||})
+      \item around the conditional \code{a ? b : c}
+      \item after commas and semicolons
+    \end{itemize}  
+    In my opinion this helps pointing out arithmetic or other
+    expressions within logical expressions or parameter lists.
+    
+  \item All kinds of labels are out-tended to the level of the higher
+    level block. For example:
+
+\begin{verbatim}    
+void foo()
+{
+again:
+    switch(asdf){
+    case 1:
+        ...
+        break;
+    default:
+        ...
+        break;
+    }
+}
+\end{verbatim}
+\end{itemize}
+
+\subsection{Braces}
+
+\begin{itemize}
+\item Opening brace is at the end of the line, except in function
+    bodies, where it is at the beginning of the line following
+    the definition.
+
+\item Never put the body of a control statement on the same line
+    with the statement (e.g. \verb!if(foo){ bar() }!).
+
+For example, the block
+\begin{verbatim}    
+void foo(int a, int b)
+{
+    if(a==b && c+d==e){
+        ...
+    }
+}
+\end{verbatim}
+
+has correct style while the block
+
+\begin{verbatim}   
+void foo(int a,int b) {
+    if (a == b && c + d == e) {
+        ...
+    }
+}
+\end{verbatim}
+
+does not.
+
+  \item The \code{else} keyword follows immediately after the closing brace of
+    previous \code{if}, if any. (This might change so I don't care if you put
+    it on the next line.)
+    
+  \item I have used the convention that control statement bodies containing
+    a single statement do not need braces around the block if, in case of
+    the \code{if} all the blocks in  \code{if ...  else if ... else}
+    contain just one statement. If you want to, just use braces in every 
+    case.
+\end{itemize}
+
+\subsection{Names}
+
+\begin{itemize}
+  \item Function and variable names only have lower case letters. Type
+    names are in mixed case while constants and macros (\code{#define}s)
+    are in upper case letters.
+\end{itemize}
+
+\subsection{Miscellaneous}
+
+\begin{itemize}
+  \item In the definition of a pointer variable, the asterisk is attached
+    to the variable name: \code{char *s;}. (One could claim this an 
+    exception to the second rule.)
+    
+  \item You might optionally want to use Jed's foldings to group blocks
+    of related code in a file to keep it organized:
+
+\begin{verbatim}    
+/*{{{ Many related functions */
+       
+void code()
+{
+    ...        
+}
+
+...
+
+/*}}}*/
+\end{verbatim}
+\end{itemize}
+
+I think that's mostly it. Study the source when in doubt.
diff --git a/de.tex b/de.tex
new file mode 100644 (file)
index 0000000..6c8c2b4
--- /dev/null
+++ b/de.tex
@@ -0,0 +1,388 @@
+
+\chapter{Graphical styles}
+\label{chap:gr}
+
+This chapter first gives in section \ref{sec:engines} a general outline 
+of how drawing engines are used, of style specifications and then
+in section \ref{sec:defaultde} describes how to specify styles
+for the default drawing engine.
+
+\section{Drawing engines, style specifications and sub-styles}
+\label{sec:engines}
+\index{style}\index{drawing engine}
+
+Ion's drawing routines are abstracted into so-called drawing engine
+modules that can, again depending on the system, be dynamically
+loaded as needed. The drawing engine modules provide ''brushes''
+that objects can use to draw some high-level primitives such
+as borders and text boxes (in addition to simple text and rectangle
+drawing) on their windows and configure e.g. the shape and 
+background of the window. While the drawing engines therefore
+do not directly implement looks for each possible object (that
+would hardly be maintainable), different brush styles can be
+used to give a distinctive look to different objects and engines
+could interpret some styles as special cases. Style specifications 
+are strings of the form
+
+\begin{verbatim}
+element1-element2-...-elementn
+\end{verbatim}
+
+An example of such a style specification is \code{tab-frame};
+see the table in subsection \ref{sec:styles} for more styles.
+
+When an object asks for a brush of certain style, the selected
+drawing engine will attempt to find the closest match to this
+specification. The styles/brushes defined by the drawing engines 
+may have asterisks (\verb!*!) as some of the elements indicating
+a match to anything. Exact matches are preferred to asterisk
+matches and longer matches to shorter. For example, let a brush
+for style \code{foo-bar-baz} be queried, then the following
+brushes are in order of preference:
+
+\begin{verbatim}
+foo-bar-baz
+foo-*-baz
+foo-bar
+*
+foo-baz   -- Doesn't match, not selected!
+\end{verbatim}
+
+Some of the drawing primitives allow extra attributes to be
+specified, also in the form
+\begin{verbatim}
+attr1-attr2-...-attrn
+\end{verbatim}
+These extra attributes are called \emph{substyles}\index{substyle}
+and allow, for example, the state of the object to be indicated 
+by  different colour sets while keeping the interface at an 
+abstract level and the drawing engine completely ignorant 
+of the semantics -- only the writer of the drawing engine
+configuration file has to know them. However the drawing 
+engine can again interpret known substyles as special cases
+and the default engine indeed does so with frame tab 
+tag and drag states.)
+
+
+\subsection{Known styles and substyles}
+\label{sec:styles}
+
+\subsubsection{Frames}
+
+\begin{tabularx}{\linewidth}{lX}
+\tabhead{Style name & Description}
+\code{frame} & Style for frames. 
+       Substyles: \code{active}, \code{inactive}. \\
+\code{frame-tiled} & A more specific style for tiled frames.
+        Substyles as for \code{frame}. \\
+\code{frame-tiled-alt} & An alternative style for tiled frames.
+        Often used to disable the tab-bar. \\
+\code{frame-floating} & A more specific style for floating
+        frames. \\
+\code{frame-transient} & A more specific style for frames
+        containing transient windows. \\
+\end{tabularx}
+
+\subsubsection{Tabs and menu entries}
+
+\begin{tabularx}{\linewidth}{lX}
+\tabhead{Style name & Description}
+\code{tab} & Style for frames' tabs and menu entries. 
+       Substyles: combinations of the form \code{a-s} where
+       \code{a} is one of \code{active}\nobreak/\code{inactive} and
+       \code{s} is one of \code{selected}\nobreak/\code{unselected} \\
+\code{tab-frame} & A more specific style for frames' tabs.
+       Substyles: combinations of the form \code{a-s-t-d-u} where
+       \code{a} and \code{s} are as above and
+       \code{t} is one of \code{tagged}\nobreak/\code{not_tagged},
+       \code{d} is one of \code{dragged}\nobreak/\code{not_dragged} and
+       \code{u} is one of \code{activity}\nobreak/\code{no_activity}. \\
+\code{tab-frame-tiled}, & \\
+\code{tab-frame-tiled-alt}, & \\
+\code{tab-frame-floating}, & \\
+\code{tab-frame-transient} & More specific styles for frames in the
+        different modes. \\
+\code{tab-menuentry} & A more specific style for entries in \type{WMenu}s. \\
+\code{tab-menuentry-bigmenu} & An alternate style for entries in \type{WMenu}s. \\
+\end{tabularx}
+
+\subsubsection{The rest}
+
+\begin{tabularx}{\linewidth}{lX}
+\tabhead{Style name & Description}
+\code{input} & A style for \type{WInput}s. \\
+\code{input-edln} & A more specific style for \type{WEdln}s. 
+       Substyles: \code{selection} for selected text and
+       \code{cursor} for the cursor indicating current editing point. \\
+\code{input-message} & A more specific style for \type{WMessage}s. \\
+\code{input-menu} & A more specific style for \type{WMenu}s. \\
+\code{input-menu-bigmenu} & An alternate style for \type{WMenu}s. \\
+\code{moveres_display} & The box displaying position/size when
+       moving or resizing frames. \\
+\code{dock} & The dock. \\     
+\end{tabularx}
+
+
+\section{Defining styles for the default drawing engine}
+\label{sec:defaultde}
+
+Drawing engine style files are usually named
+\file{look\_foo.lua} where \file{foo} is the name of the
+style. The file that Ion loads on startup or when
+\fnref{gr.read_config} is called, however, is \file{look.lua}
+and should usually be symlinked to or a copy of of some
+\file{look\_foo.lua}.
+
+\subsection{The structure of the configuration files}
+
+The first thing to do in a stylefile is to choose the drawing
+engine, possibly loading the module as well. This is done
+with the following chunk of code.
+
+\begin{verbatim}
+if not gr.select_engine("de") then 
+    return 
+end
+\end{verbatim}
+
+The \fnref{gr.select_engine} function sees if the engine
+given as argument is registered (the default drawing engine is
+simply called ''de''). If the engine could not be found, it
+tries to load a module of the same name. If the engine still
+is not registered, \fnref{gr.select_engine} returns \code{false}
+and in this case we also exit the style setup script.
+If the engine was found, \fnref{gr.select_engine} sees that
+further requests for brushes are forwarded to that engine
+and returns \code{true}.
+
+Before defining new styles it may be a good idea to clear old
+styles from memory so if the old configuration defines more
+specific styles than the new, the old styles don't override 
+those specified by the new configuration. That can be done by
+calling
+
+\begin{verbatim}
+de.reset()
+\end{verbatim}
+
+After this the new styles can be defined with \fnref{de.defstyle}
+as explained in the next subsection. Finally, after the styles have
+been defined we must ask objects on the screen to look up new brushes
+to reflect the changes in configuration. This is done with
+
+\begin{verbatim}
+gr.refresh()
+\end{verbatim}
+
+\subsection{Defining the styles}
+
+Styles for the default drawing engine are defined with the
+function \fnref{de.defstyle}. It has two arguments the first being
+a style specification as explained in previous sections and the second
+a table whose fields describe the style:
+
+\begin{verbatim}
+de.defstyle("some-style", {
+    attribute = value,
+    ...
+})
+\end{verbatim}
+
+The supported attributes are described in tables below. The different
+border elements and styles referred to there are explained in Figure
+\ref{fig:borders}.
+
+\begin{figure}
+\begin{htmlonly}
+\docode % Kludge to make latex2html interpret contents instead of
+       % creating an image.
+\end{htmlonly}    
+\begin{verbatim}
+Elevated:        Inlaid:         Ridge:            Groove:        
+  hhhhhhhhhhhs     ............           hhhhhhhhhhhs      sssssssssssh
+  h..........s     .sssssssssh.           h..........s      s..........h
+  h.        .s     .s        h.           h.sssssssh.s      s.hhhhhhhs.h
+  h.        .s     .s        h.           h.s      h.s      s.h      s.h
+  h.        .s     .s        h.           h.shhhhhhh.s      s.hsssssss.h
+  h..........s     .shhhhhhhhh.           h..........s      s..........h
+  hsssssssssss     ............           hsssssssssss      shhhhhhhhhhh
+
+h = highlight, s = shadow, . = padding
+\end{verbatim}
+\caption{Sketch of different border styles and elements}
+\label{fig:borders}
+\end{figure}
+
+\subsubsection{Colours}
+
+Each of these fields a string of the form that can be
+passed to \code{XAllocNamedColor}. Valid strings are e.g.
+hexadecimal RGB specifications of the form
+\code{#RRGGBB} and colour names as specified
+in \file{/usr/X11R6/lib/X11/rgb.txt} (exact path varying).
+
+\begin{tabularx}{\linewidth}{lX}
+\tabhead{Field  & Description}
+\var{highlight_colour} &  
+       Colour for the ''highlight'' part of a border. \\
+\var{shadow_colour}    &  
+       Colour for the ''highlight'' part of a border. \\
+\var{foreground_colour} &  
+       Colour for the normal drawing operations, e.g. text. \\
+\var{background_colour} &  
+       Window background colour (unless transparency is enabled) and
+       background colour boxes. \\
+\var{padding_colour} &  
+       Colour for the ''padding'' part of a border border. Set to 
+       \var{background_colour} if unset. \\
+\end{tabularx}
+
+
+\subsubsection{Borders and widths}
+
+All other fields below except \var{border_style} are non-negative integers
+indicating a number of pixels.
+
+\begin{tabularx}{\linewidth}{lX}
+\tabhead{Field  & Description}
+\var{border_style} & A string indicating the style of border; one of
+                    elevated/inlaid/ridge/groove as seen in the
+                    above sketch. \\
+\var{highlight_pixels} &  
+       Width of the highlight part of the border in pixels. \\
+\var{shadow_pixels}    &  
+       Width of the shadow part of the border in pixels. \\
+\var{padding_pixels} &  
+       Width of the padding part of the border in pixels. \\
+\var{spacing} &
+       Space to be left between all kinds of boxes. \\
+\end{tabularx}
+
+
+\subsubsection{Text}
+
+\begin{tabularx}{\linewidth}{lX}
+\tabhead{Field  & Description}
+\var{font} & Font to be used in text-drawing operations; standard X font
+            name. \\
+\var{text_align} & How text is to be aligned in text boxes/tabs; one of
+                  the strings left\nobreak/right\nobreak/center. \\
+\end{tabularx}
+
+
+\subsubsection{Miscellaneous}
+
+
+\begin{tabularx}{\linewidth}{lX}
+\tabhead{Field  & Description}
+\var{transparent_background} & Should windows' that use this style
+       background be transparent? true/false. \\
+\var{based_on} & The name of a previously defined style that this
+       style should be based on. \\
+\end{tabularx}
+
+
+\subsubsection{Substyles}
+
+As discussed in previous sections, styles may have substyles to e.g.
+indicate different states of the object being drawn. The ''de'' engine
+limits what can be configured in substyles to the set of colours in the
+first table above, but also specifically interprets for the main style
+\code{tab-frame} the substyles \code{*-*-tagged} and \code{*-*-*-dragged}
+by, respectively, drawing a right angle shape at the top right corner 
+of a tab and by shading the tab with a stipple pattern. Also for
+menus the substyles \code{*-*-submenu} are handled as a special case.
+
+Substyles are defined with the function \fnref{de.substyle} within the
+table defining the main style. The parameters to this function are 
+similar to those of \fnref{de.defstyle}.
+
+\begin{verbatim}
+de.defstyle("some-style", {
+   ...
+   de.substyle("some-substyle", {
+      ...
+   }),
+   ...
+})
+\end{verbatim}
+
+
+\subsection{An example}
+
+The following shortened segment from \file{look\_cleanviolet.lua}
+should help to clarify the matters discussed in the previous
+subsection.
+
+\begin{verbatim}
+de.defstyle("*", {
+    -- Gray background
+    highlight_colour = "#eeeeee",
+    shadow_colour = "#eeeeee",
+    background_colour = "#aaaaaa",
+    foreground_colour = "#000000",
+    
+    shadow_pixels = 1,
+    highlight_pixels = 1,
+    padding_pixels = 1,
+    spacing = 0,
+    border_style = "elevated",
+    
+    font = "-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*",
+    text_align = "center",
+})
+
+de.defstyle("tab-frame", {
+    based_on = "*",
+    
+    de.substyle("active-selected", {
+        -- Violet tab
+        highlight_colour = "#aaaacc",
+        shadow_colour = "#aaaacc",
+        background_colour = "#666699",
+        foreground_colour = "#eeeeee",
+    }),
+
+    --  More substyles would follow ...
+})
+\end{verbatim}
+
+
+\section{Miscellaneous settings}
+
+The following style fields are independent of the drawing engine used,
+but are related to objects' styles and therefore configured in the drawing
+engine configuration file.
+
+\subsection{Extra fields for style \code{frame}}
+
+\begin{tabularx}{\linewidth}{lX}
+\tabhead{Field  & Description}
+\code{bar} & Controls the style of the tab-bar. Possible values
+        are the strings \code{"none"}, \code{"inside"}, \code{"outside"}
+        and \code{"shaped"}, with the last providing the PWM-style
+        tab-bars for floating frames. \\
+\code{floatframe_tab_min_w} & Minimum tab width in pixels for
+        the shaped style, given that this number times number of tabs
+        doesn't exceed frame width. \\
+\code{floatframe_bar_max_w_q} & Maximum tab-bar width quotient of
+       frame width for the shaped styles. A number in the 
+       interval $(0, 1]$.
+\end{tabularx}
+
+\subsection{Extra fields for style \code{dock}}
+
+\begin{tabularx}{\linewidth}{lX}
+\tabhead{Field  & Description}
+\code{outline_style} & How borders are drawn:
+                       \code{"none"} -- no border,
+                       \code{"all"} -- border around whole dock,
+                       \code{"each"} -- border around each dockapp. \\
+\code{tile_size} & A table with entries \code{width} and \code{height},
+       indicating the width and height of tiles in pixels.
+\end{tabularx}
+
+
+Hopefully that's enough to get you started in writing new style
+configuration files for Ion. When in doubt, study the existing
+style configuration files.
diff --git a/designnotes.tex b/designnotes.tex
new file mode 100644 (file)
index 0000000..4bb6485
--- /dev/null
@@ -0,0 +1,54 @@
+\section{Miscellaneous design notes}
+
+\subsection{Destroying \type{WObj}:s}
+
+To keep Ion's code as simple as possible yet safe, there are restrictions
+when the \type{WObj}
+\code{destroy_obj}\index{destroy-obj@\code{destroy_obj}}
+function that calls watches, the deinit routine and frees memory may
+be called directly. In all other cases the 
+\code{defer_destroy}\index{defer-destroy@\code{defer_destroy}}
+function should be used to defer the call of \code{destroy_obj} until
+Ioncore returns to its main event loop. 
+
+Calling the \code{destroy_obj} function directly is allowed in the
+following cases:
+\begin{itemize}
+    \item In the deinit handler for another object. Usually managed objects
+      are destroyed this way.
+    \item The object was created during the current call to the function
+      that wants to get rid of the object. This is the case, for example,
+      when the function created a frame to manage some other object but for
+      some reason failed to reparent the object to this frame.
+    \item In a deferred action handler set with
+      \code{defer_action}\index{defer-action@\code{defer_action}}.
+      Like deferred destroys, other deferred actions are called when
+      Ioncore has returned to the main loop.
+    \item You are absolute sure that C code outside your code has no
+      references to the object.
+\end{itemize}
+
+If there are no serious side effects from deferring destroying the
+object or you're unsure whether it is safe to destroy the object
+immediately, use \code{defer_destroy}.
+
+\subsection{The types \code{char*} and \code{const char*} as function
+  parameters and return values}
+
+The following rules should apply to using strings as return values and
+parameters to functions. 
+
+\begin{tabularx}{\linewidth}{lXX}
+    \tabhead{Type & Return value & Parameter}
+    \code{const char*} & The string is owned by the called function
+       and the caller is only quaranteed short-term read access to the
+       string. &
+       The called function may only read the string during its execution.
+       For further reference a copy must be made. \\
+    \code{char*} & The string is the caller's responsibility and it
+       \emph{must} free it when no longer needed. &
+       The called function may modify the string but the ''owner'' of
+       the string is case-dependant. \\
+\end{tabularx}
+
+
diff --git a/exact-version b/exact-version
new file mode 100644 (file)
index 0000000..0413a6b
--- /dev/null
@@ -0,0 +1,5 @@
+
+Context:
+
+[TAG ion-doc-3ds-20061223
+Tuomo Valkonen <tuomov@iki.fi>**20061223150012] 
diff --git a/fnref.tex b/fnref.tex
new file mode 100644 (file)
index 0000000..c270a5a
--- /dev/null
+++ b/fnref.tex
@@ -0,0 +1,38 @@
+\chapter{Function reference}
+\label{sec:exports}
+
+\section{Functions defined in \file{ioncore}}
+\label{sec:ioncoreref}
+\input{ioncore-fns.tex}
+
+\section{Functions defined in \file{mod\_tiling}}
+\label{sec:tilingref}
+\input{mod_tiling-fns.tex}
+
+%\section{Functions defined in \file{mod\_panews}}
+%\label{sec:panewsref}
+%\input{mod_panews-fns.tex}
+
+\section{Functions defined in \file{mod\_query}}
+\label{sec:queryref}
+\input{mod_query-fns.tex}
+
+\section{Functions defined in \file{mod\_menu}}
+\label{sec:menuref}
+\input{mod_menu-fns.tex}
+
+\section{Functions defined in \file{mod\_dock}}
+\label{sec:dockref}
+\input{mod_dock-fns.tex}
+
+\section{Functions defined in \file{mod\_sp}}
+\label{sec:spref}
+\input{mod_sp-fns.tex}
+
+\section{Functions defined in \file{de}}
+\label{sec:deref}
+\input{de-fns.tex}
+
+\section{Hooks}
+\label{sec:hookref}
+\input{hookref}
diff --git a/fullhierarchy.tex b/fullhierarchy.tex
new file mode 100644 (file)
index 0000000..d5d5a39
--- /dev/null
@@ -0,0 +1,43 @@
+\chapter{Full class hierarchy visible to Lua-side}
+\label{app:fullhierarchy}
+  
+%\begin{figure}
+%\begin{htmlonly}
+%\docode % latex2html kludge
+%\end{htmlonly}
+{\small
+\begin{verbatim}
+    Obj
+     |-->WHook
+     |-->WTimer
+     |-->WMoveresMode
+     |-->WMgmtMode (mod_mgmtmode)
+     |-->WRegion
+     |    |-->WClientWin
+     |    |-->WWindow
+     |    |    |-->WRootWin
+     |    |    |-->WMPlex
+     |    |    |    |-->WScreen
+     |    |    |    |-->WFrame
+     |    |    |-->WInfoWin
+     |    |    |    |-->WStatusBar (mod_statusbar)
+     |    |    |-->WMenu (mod_menu)
+     |    |    |-->WInput (mod_query)
+     |    |         |-->WEdln (mod_query)
+     |    |         |-->WMessage (mod_query)
+     |    |-->WGroup
+     |    |    |-->WGroupWS
+     |    |    |-->WGroupCW
+     |    |-->WTiling (mod_tiling)
+     |-->WSplit (mod_tiling)
+          |-->WSplitInner (mod_tiling)
+          |    |-->WSplitSplit (mod_tiling)
+          |         |-->WSplitFloat (mod_tiling)
+          |-->WSplitRegion (mod_tiling)
+               |-->WSplitST (mod_tiling)
+\end{verbatim}
+}
+%\caption{Full Ioncore and most common modules' class hierarchy
+%  visible to Lua side.}
+%\label{fig:fullclasshierarchy}
+%\end{figure}
diff --git a/gpl.tex b/gpl.tex
new file mode 100644 (file)
index 0000000..d4de1de
--- /dev/null
+++ b/gpl.tex
@@ -0,0 +1,416 @@
+\xchapter{The GNU General Public License}
+
+\begin{center}
+{\parindent 0in
+
+Version 2, June 1991
+
+Copyright \copyright\ 1989, 1991 Free Software Foundation, Inc.
+
+\bigskip
+
+59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+
+\bigskip
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+}
+\end{center}
+
+\begin{center}
+{\bf\large Preamble}
+\end{center}
+
+
+The licenses for most software are designed to take away your freedom to
+share and change it.  By contrast, the GNU General Public License is
+intended to guarantee your freedom to share and change free software---to
+make sure the software is free for all its users.  This General Public
+License applies to most of the Free Software Foundation's software and to
+any other program whose authors commit to using it.  (Some other Free
+Software Foundation software is covered by the GNU Library General Public
+License instead.)  You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price.
+Our General Public Licenses are designed to make sure that you have the
+freedom to distribute copies of free software (and charge for this service
+if you wish), that you receive source code or can get it if you want it,
+that you can change the software or use pieces of it in new free programs;
+and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to
+deny you these rights or to ask you to surrender the rights.  These
+restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or
+for a fee, you must give the recipients all the rights that you have.  You
+must make sure that they, too, receive or can get the source code.  And
+you must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2)
+offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that
+everyone understands that there is no warranty for this free software.  If
+the software is modified by someone else and passed on, we want its
+recipients to know that what they have is not the original, so that any
+problems introduced by others will not reflect on the original authors'
+reputations.
+
+Finally, any free program is threatened constantly by software patents.
+We wish to avoid the danger that redistributors of a free program will
+individually obtain patent licenses, in effect making the program
+proprietary.  To prevent this, we have made it clear that any patent must
+be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and
+modification follow.
+
+\begin{center}
+{\Large \sc Terms and Conditions For Copying, Distribution and
+  Modification}
+\end{center}
+
+
+%\renewcommand{\theenumi}{\alpha{enumi}}
+\begin{enumerate}
+
+\addtocounter{enumi}{-1}
+
+\item 
+
+This License applies to any program or other work which contains a notice
+placed by the copyright holder saying it may be distributed under the
+terms of this General Public License.  The ``Program'', below, refers to
+any such program or work, and a ``work based on the Program'' means either
+the Program or any derivative work under copyright law: that is to say, a
+work containing the Program or a portion of it, either verbatim or with
+modifications and/or translated into another language.  (Hereinafter,
+translation is included without limitation in the term ``modification''.)
+Each licensee is addressed as ``you''.
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+\item You may copy and distribute verbatim copies of the Program's source
+  code as you receive it, in any medium, provided that you conspicuously
+  and appropriately publish on each copy an appropriate copyright notice
+  and disclaimer of warranty; keep intact all the notices that refer to
+  this License and to the absence of any warranty; and give any other
+  recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
+
+\item
+
+You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+\begin{enumerate}
+
+\item 
+
+You must cause the modified files to carry prominent notices stating that
+you changed the files and the date of any change.
+
+\item
+
+You must cause any work that you distribute or publish, that in
+whole or in part contains or is derived from the Program or any
+part thereof, to be licensed as a whole at no charge to all third
+parties under the terms of this License.
+
+\item
+If the modified program normally reads commands interactively
+when run, you must cause it, when started running for such
+interactive use in the most ordinary way, to print or display an
+announcement including an appropriate copyright notice and a
+notice that there is no warranty (or else, saying that you provide
+a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this
+License.  (Exception: if the Program itself is interactive but
+does not normally print such an announcement, your work based on
+the Program is not required to print an announcement.)
+
+\end{enumerate}
+
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+\item
+You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+\begin{enumerate}
+
+\item
+
+Accompany it with the complete corresponding machine-readable
+source code, which must be distributed under the terms of Sections
+1 and 2 above on a medium customarily used for software interchange; or,
+
+\item
+
+Accompany it with a written offer, valid for at least three
+years, to give any third party, for a charge no more than your
+cost of physically performing source distribution, a complete
+machine-readable copy of the corresponding source code, to be
+distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
+
+\item
+
+Accompany it with the information you received as to the offer
+to distribute corresponding source code.  (This alternative is
+allowed only for noncommercial distribution and only if you
+received the program in object code or executable form with such
+an offer, in accord with Subsection b above.)
+
+\end{enumerate}
+
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+\item
+You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+\item
+You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+\item
+Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+\item
+If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+\item
+If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+\item
+The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and ``any
+later version'', you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+\item
+If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+\begin{center}
+{\Large\sc
+No Warranty
+}
+\end{center}
+
+\item
+{\sc Because the program is licensed free of charge, there is no warranty
+for the program, to the extent permitted by applicable law.  Except when
+otherwise stated in writing the copyright holders and/or other parties
+provide the program ``as is'' without warranty of any kind, either expressed
+or implied, including, but not limited to, the implied warranties of
+merchantability and fitness for a particular purpose.  The entire risk as
+to the quality and performance of the program is with you.  Should the
+program prove defective, you assume the cost of all necessary servicing,
+repair or correction.}
+
+\item
+{\sc In no event unless required by applicable law or agreed to in writing
+will any copyright holder, or any other party who may modify and/or
+redistribute the program as permitted above, be liable to you for damages,
+including any general, special, incidental or consequential damages arising
+out of the use or inability to use the program (including but not limited
+to loss of data or data being rendered inaccurate or losses sustained by
+you or third parties or a failure of the program to operate with any other
+programs), even if such holder or other party has been advised of the
+possibility of such damages.}
+
+\end{enumerate}
+
+
+\begin{center}
+{\Large\sc End of Terms and Conditions}
+\end{center}
+
+
+\pagebreak[2]
+
+\xsectionstar{Appendix: How to Apply These Terms to Your New Programs}
+
+If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
+terms.
+
+  To do so, attach the following notices to the program.  It is safest to
+  attach them to the start of each source file to most effectively convey
+  the exclusion of warranty; and each file should have at least the
+  ``copyright'' line and a pointer to where the full notice is found.
+
+\begin{quote}
+one line to give the program's name and a brief idea of what it does. \\
+Copyright (C) yyyy  name of author \\
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+\end{quote}
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+\begin{quote}
+Gnomovision version 69, Copyright (C) yyyy  name of author \\
+Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. \\
+This is free software, and you are welcome to redistribute it
+under certain conditions; type `show c' for details.
+\end{quote}
+
+
+The hypothetical commands {\tt show w} and {\tt show c} should show the
+appropriate parts of the General Public License.  Of course, the commands
+you use may be called something other than {\tt show w} and {\tt show c};
+they could even be mouse-clicks or menu items---whatever suits your
+program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a ``copyright disclaimer'' for the program, if
+necessary.  Here is a sample; alter the names:
+
+\begin{quote}
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program \\
+`Gnomovision' (which makes passes at compilers) written by James Hacker. \\
+
+signature of Ty Coon, 1 April 1989 \\
+Ty Coon, President of Vice
+\end{quote}
+
+
+This General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications
+with the library.  If this is what you want to do, use the GNU Library
+General Public License instead of this License.
diff --git a/hookref.tex b/hookref.tex
new file mode 100644 (file)
index 0000000..f4f2a9e
--- /dev/null
@@ -0,0 +1,241 @@
+
+\begin{function}
+    \index{clientwin-do-manage-alt@\code{clientwin_do_manage_alt}}
+    \hookname{clientwin_do_manage_alt}
+    \hookparams{(WClientWin, table)}
+    \begin{funcdesc}
+      Called when we want to manage a new client window.
+      The table argument contains the following fields:
+      
+      \begin{tabularx}{\linewidth}{llX}
+          \tabhead{Field & Type & Description}
+          \var{switchto} & bool & Do we want to switch to the client window. \\
+          \var{jumpto} & bool & Do we want to jump to the client window. \\
+          \var{userpos} & bool & Geometry set by user. \\
+          \var{dockapp} & bool & Client window is a dockapp. \\
+          \var{maprq} & bool & Map request (and not initialisation scan). \\
+          \var{gravity} & number & Window gravity. \\
+          \var{geom} & table & Requested geometry; \var{x}, \var{y}, \var{w}, \var{h}.\\
+          \var{tfor} & WClientWin & Transient for window.
+      \end{tabularx}
+
+      This hook is not called in protected mode and can be used for
+      arbitrary placement policies (deciding in which workspace a new
+      \type{WClientWin} should go). In this case, you can call
+\begin{verbatim}
+reg:attach(cwin)
+\end{verbatim}
+      where \var{reg} is the region where the window should go, and
+      \var{cwin} is the first argument of the function added to the
+      hook.
+    \end{funcdesc}
+\end{function}
+
+
+\begin{function}
+    \index{clientwin-mapped-hook@\code{clientwin_mapped_hook}}
+    \hookname{clientwin_mapped_hook}
+    \hookparams{WClientWin}
+    \begin{funcdesc}
+      Called when we have started to manage a client window.
+    \end{funcdesc}
+\end{function}
+
+
+\begin{function}
+    \index{clientwin-unmapped-hook@\code{clientwin_unmapped_hook}}
+    \hookname{clientwin_unmapped_hook}
+    \hookparams{number}
+    \begin{funcdesc}
+      Called when we no longer manage a client window. The parameter
+      is the X ID of the window; see \fnref{WClientWin.xid}.
+    \end{funcdesc}
+\end{function}
+
+
+\begin{function}
+    \index{frame-managed-changed-hook@\code{frame_managed_changed_hook}}
+    \hookname{frame_managed_changed_hook}
+    \hookparams{table}
+    \begin{funcdesc}
+      Called when there are changes in the objects managed by a frame
+      or their order. The table parameter has the following fields:
+
+      \begin{tabularx}{\linewidth}{llX}
+          \tabhead{Field & Type & Description}
+          \var{reg} & WFrame & The frame in question \\
+          \var{mode} & string & \var{"switchonly"}, \var{"reorder"},
+                                \var{"add"} or \var{"remove"} \\
+          \var{sw} & bool & Switch occured \\
+          \var{sub} & WRegion & The managed region (primarily) affected \\
+      \end{tabularx}
+    \end{funcdesc}
+\end{function}
+
+
+\begin{function}
+    \index{ioncore-sigchld-hook@\code{ioncore_sigchld_hook}}
+    \hookname{ioncore_sigchld_hook}
+    \hookparams{integer}
+    \begin{funcdesc}
+      Called when a child process has exited. The parameter
+      is the PID of the process.
+    \end{funcdesc}
+\end{function}
+
+\begin{function}
+    \index{ioncore-deinit-hook@\code{ioncore_deinit_hook}}
+    \hookname{ioncore_deinit_hook}
+    \hookparams{()}
+    \begin{funcdesc}
+      Called when Ion is deinitialising and about to quit.
+    \end{funcdesc}
+\end{function}
+
+%ioncore_handle_event_alt -- not available to lua side
+
+\begin{function}
+    \index{ioncore-post-layout-setup-hook@\code{ioncore_post_layout_setup_hook}}
+    \hookname{ioncore_post_layout_setup_hook}
+    \hookparams{()}
+    \begin{funcdesc}
+      Called when Ion has done all initialisation and is almost ready to
+      enter the mainloop, except no windows are yet being managed.
+    \end{funcdesc}
+\end{function}
+
+
+\begin{function}
+    \index{ioncore-snapshot-hook@\code{ioncore_snapshot_hook}}
+    \hookname{ioncore_snapshot_hook}
+    \hookparams{()}
+    \begin{funcdesc}
+      Called to signal scripts and modules to save their state (if any).
+    \end{funcdesc}
+\end{function}
+
+
+\begin{function}
+    \index{tiling-placement-alt@\code{tiling_placement_alt}}
+    \hookname{tiling_placement_alt}
+    \hookparams{table}
+    \begin{funcdesc}
+      Called when a client window is about to be managed by a \type{WTiling}
+      to allow for alternative placement policies. The table has the
+      following fields:
+      \begin{tabularx}{\linewidth}{llX}
+          \tabhead{Field & Type & Description}
+          \var{tiling} & \type{WTiling} & The tiling \\
+          \var{reg} & \type{WRegion} & The region (always a WClientWin at 
+              the moment) to be placed \\
+          \var{mp} & \type{table} & This table contains the same fields as
+            the parameter of \fnref{clientwin_do_manage_alt} \\
+          \var{res_frame} & \type{WFrame} & A succesfull handler should 
+            return the target frame here. \\
+      \end{tabularx}
+      This hook is just for placing within a given workspace after the
+      workspace has been decided by the default workspace selection
+      policy. It is called in protected mode. For arbitrary placement
+      policies, \fnref{clientwin_do_manage_alt} should be used; it
+      isn't called in protected mode,
+    \end{funcdesc}
+\end{function}
+
+
+%\begin{function}
+%    \index{panews-init-layout-alt@\code{panews_init_layout_alt}}
+%    \hookname{panews_init_layout_alt}
+%    \hookparams{table}
+%    \begin{funcdesc}
+%      Called to initialise panews layout. The table parameter has
+%      initially a single field \var{ws} pointing to the workspace,
+%      but the succesfull handler should set the field \var{layout}
+%      to a proper layout (as those saved in the layout savefiles).
+%    \end{funcdesc}
+%\end{function}
+
+
+\begin{function}
+    \index{panews-make-placement-alt@\code{panews_make_placement_alt}}
+    \hookname{panews_make_placement_alt}
+    \hookparams{table}
+    \begin{funcdesc}
+      Called to make a placement on panews. The parameter table has
+      the following fields:
+      
+      \begin{tabularx}{\linewidth}{llX}
+          \tabhead{Field & Type & Description}
+          \var{ws} & \type{WPaneWS} & The workspace \\
+          \var{frame} & \type{WFrame} & A frame initially allocated for the
+              region to be placed \\
+          \var{reg} & \type{WRegion} & The region to be placed \\
+          \var{specifier} & \type{WRegion} & For drag\&drop on handling empty areas\\
+      \end{tabularx}
+      
+      The handler should set some of these fields on success:
+
+      \begin{tabularx}{\linewidth}{llX}
+          \tabhead{Field & Type & Description}
+          \var{res_node} & \type{WSplit} & Target split \\
+          \var{res_config} & \type{WFrame} &  New configuration for it, unless
+              \type{WSplitRegion} \\
+          \var{res_w} & integer & New width for target split (optional) \\
+          \var{res_h} & integer & New height for target split (optional) \\
+      \end{tabularx}
+    \end{funcdesc}
+\end{function}
+
+
+\begin{function}
+    \index{region-activated-hook@\code{region_activated_hook}}
+    \hookname{region_activated_hook}
+    \hookparams{WRegion}
+    \begin{funcdesc}
+      Signalled when a region or one of its children has received the focus.
+    \end{funcdesc}
+\end{function}
+
+
+\begin{function}
+    \index{region-activity-hook@\code{region_activity_hook}}
+    \hookname{region_activity_hook}
+    \hookparams{WRegion}
+    \begin{funcdesc}
+      This hook is triggered when the activity flag of the parameter 
+      region has been changed.
+    \end{funcdesc}
+\end{function}
+
+
+\begin{function}
+    \index{region-do-warp-alt@\code{region_do_warp_alt}}
+    \hookname{region_do_warp_alt}
+    \hookparams{WRegion}
+    \begin{funcdesc}
+      This alt-hook exist to allow for alternative pointer warping
+      implementations.
+    \end{funcdesc}
+\end{function}
+
+
+\begin{function}
+    \index{region-inactivated-hook@\code{region_inactivated_hook}}
+    \hookname{region_inactivated_hook}
+    \hookparams{WRegion}
+    \begin{funcdesc}
+      Signalled when the focus has moved from the parameter region or
+      one of its children to a non-child region of the parameter region.
+    \end{funcdesc}
+\end{function}
+
+
+\begin{function}
+    \index{screen-managed-changed-hook@\code{screen_managed_changed_hook}}
+    \hookname{screen_managed_changed_hook}
+    \hookparams{table}
+    \begin{funcdesc}
+      Called when there are changes in the objects managed by a screen
+      or their order. The table parameter is similar to that of
+      \fnref{frame_managed_changed_hook}.
+    \end{funcdesc}
+\end{function}
diff --git a/ionconf.dvi.gz b/ionconf.dvi.gz
new file mode 100644 (file)
index 0000000..905ef66
Binary files /dev/null and b/ionconf.dvi.gz differ
diff --git a/ionconf.out b/ionconf.out
new file mode 100644 (file)
index 0000000..060a02d
--- /dev/null
@@ -0,0 +1,82 @@
+\BOOKMARK [0][-]{chapter.1}{ Introduction}{}
+\BOOKMARK [0][-]{chapter.2}{ Preliminaries: Key concepts and relations}{}
+\BOOKMARK [1][-]{section.2.1}{ Modules}{chapter.2}
+\BOOKMARK [1][-]{section.2.2}{ Class and object hierarchies}{chapter.2}
+\BOOKMARK [2][-]{subsection.2.2.1}{ Class hierarchy}{section.2.2}
+\BOOKMARK [2][-]{subsection.2.2.2}{ Object hierarchies: WRegion parents and managers}{section.2.2}
+\BOOKMARK [2][-]{subsection.2.2.3}{ Summary}{section.2.2}
+\BOOKMARK [0][-]{chapter.3}{ Basic configuration}{}
+\BOOKMARK [1][-]{section.3.1}{ The configuration files}{chapter.3}
+\BOOKMARK [1][-]{section.3.2}{ A walk through cfg\137ion.lua}{chapter.3}
+\BOOKMARK [1][-]{section.3.3}{ Keys and rodents}{chapter.3}
+\BOOKMARK [2][-]{subsection.3.3.1}{ Binding handlers and special variables}{section.3.3}
+\BOOKMARK [2][-]{subsection.3.3.2}{ Guards}{section.3.3}
+\BOOKMARK [2][-]{subsection.3.3.3}{ Defining the bindings}{section.3.3}
+\BOOKMARK [2][-]{subsection.3.3.4}{ Examples}{section.3.3}
+\BOOKMARK [2][-]{subsection.3.3.5}{ Key specifications}{section.3.3}
+\BOOKMARK [2][-]{subsection.3.3.6}{ Button specifications}{section.3.3}
+\BOOKMARK [2][-]{subsection.3.3.7}{ A further note on the default binding configuration}{section.3.3}
+\BOOKMARK [1][-]{section.3.4}{ Menus}{chapter.3}
+\BOOKMARK [2][-]{subsection.3.4.1}{ Defining menus}{section.3.4}
+\BOOKMARK [2][-]{subsection.3.4.2}{ Special menus}{section.3.4}
+\BOOKMARK [2][-]{subsection.3.4.3}{ Defining context menus}{section.3.4}
+\BOOKMARK [2][-]{subsection.3.4.4}{ Displaying menus}{section.3.4}
+\BOOKMARK [1][-]{section.3.5}{ Winprops}{chapter.3}
+\BOOKMARK [2][-]{subsection.3.5.1}{ Classes, roles and instances}{section.3.5}
+\BOOKMARK [2][-]{subsection.3.5.2}{ Finding window identification}{section.3.5}
+\BOOKMARK [2][-]{subsection.3.5.3}{ Some common examples}{section.3.5}
+\BOOKMARK [0][-]{chapter.4}{ Graphical styles}{}
+\BOOKMARK [1][-]{section.4.1}{ Drawing engines, style specifications and sub-styles}{chapter.4}
+\BOOKMARK [2][-]{subsection.4.1.1}{ Known styles and substyles}{section.4.1}
+\BOOKMARK [1][-]{section.4.2}{ Defining styles for the default drawing engine}{chapter.4}
+\BOOKMARK [2][-]{subsection.4.2.1}{ The structure of the configuration files}{section.4.2}
+\BOOKMARK [2][-]{subsection.4.2.2}{ Defining the styles}{section.4.2}
+\BOOKMARK [2][-]{subsection.4.2.3}{ An example}{section.4.2}
+\BOOKMARK [1][-]{section.4.3}{ Miscellaneous settings}{chapter.4}
+\BOOKMARK [2][-]{lstlisting.4.-385}{ Extra fields for style !frame!}{section.4.3}
+\BOOKMARK [2][-]{lstlisting.4.-407}{ Extra fields for style !dock!}{section.4.3}
+\BOOKMARK [0][-]{chapter.5}{ Scripting}{}
+\BOOKMARK [1][-]{section.5.1}{ Hooks}{chapter.5}
+\BOOKMARK [1][-]{section.5.2}{ Referring to regions}{chapter.5}
+\BOOKMARK [2][-]{subsection.5.2.1}{ Direct object references}{section.5.2}
+\BOOKMARK [2][-]{subsection.5.2.2}{ Name-based lookups}{section.5.2}
+\BOOKMARK [1][-]{section.5.3}{ Alternative winprop selection criteria}{chapter.5}
+\BOOKMARK [1][-]{lstlisting.5.-448}{ Writing !ion-statusd! monitors}{chapter.5}
+\BOOKMARK [0][-]{chapter.6}{ Function reference}{}
+\BOOKMARK [1][-]{section.6.1}{ Functions defined in ioncore}{chapter.6}
+\BOOKMARK [2][-]{subsection.6.1.1}{ WClientWin functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.2}{ WFrame functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.3}{ WGroup functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.4}{ WGroupCW functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.5}{ WGroupWS functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.6}{ WInfoWin functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.7}{ WMPlex functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.8}{ WMoveresMode functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.9}{ WRegion functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.10}{ WRootWin functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.11}{ WScreen functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.12}{ WWindow functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.13}{ global functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.14}{ gr functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.15}{ string functions}{section.6.1}
+\BOOKMARK [2][-]{subsection.6.1.16}{ table functions}{section.6.1}
+\BOOKMARK [1][-]{section.6.2}{ Functions defined in mod\137tiling}{chapter.6}
+\BOOKMARK [2][-]{subsection.6.2.1}{ WSplit functions}{section.6.2}
+\BOOKMARK [2][-]{subsection.6.2.2}{ WSplitInner functions}{section.6.2}
+\BOOKMARK [2][-]{subsection.6.2.3}{ WSplitRegion functions}{section.6.2}
+\BOOKMARK [2][-]{subsection.6.2.4}{ WSplitSplit functions}{section.6.2}
+\BOOKMARK [2][-]{subsection.6.2.5}{ WTiling functions}{section.6.2}
+\BOOKMARK [1][-]{section.6.3}{ Functions defined in mod\137query}{chapter.6}
+\BOOKMARK [2][-]{subsection.6.3.1}{ WComplProxy functions}{section.6.3}
+\BOOKMARK [2][-]{subsection.6.3.2}{ WEdln functions}{section.6.3}
+\BOOKMARK [2][-]{subsection.6.3.3}{ WInput functions}{section.6.3}
+\BOOKMARK [1][-]{section.6.4}{ Functions defined in mod\137menu}{chapter.6}
+\BOOKMARK [2][-]{subsection.6.4.1}{ WMenu functions}{section.6.4}
+\BOOKMARK [1][-]{section.6.5}{ Functions defined in mod\137dock}{chapter.6}
+\BOOKMARK [2][-]{subsection.6.5.1}{ WDock functions}{section.6.5}
+\BOOKMARK [1][-]{section.6.6}{ Functions defined in mod\137sp}{chapter.6}
+\BOOKMARK [1][-]{section.6.7}{ Functions defined in de}{chapter.6}
+\BOOKMARK [1][-]{section.6.8}{ Hooks}{chapter.6}
+\BOOKMARK [0][-]{appendix.A}{ The GNU General Public License}{}
+\BOOKMARK [0][-]{appendix.B}{ Full class hierarchy visible to Lua-side}{}
+\BOOKMARK [0][-]{section*.17}{Index}{}
diff --git a/ionconf.ps.gz b/ionconf.ps.gz
new file mode 100644 (file)
index 0000000..055828e
Binary files /dev/null and b/ionconf.ps.gz differ
diff --git a/ionconf.tex b/ionconf.tex
new file mode 100644 (file)
index 0000000..9dd71c8
--- /dev/null
@@ -0,0 +1,73 @@
+\documentclass[english,a4paper,11pt,oldtoc,mctitle]{rapport3}
+\input{macros}
+
+% For including some files from articles
+\newcommand{\xchapter}[1]{\chapter{#1}}
+\newcommand{\xsection}[1]{\section{#1}}
+\newcommand{\xsectionstar}[1]{\section*{#1}}
+\newcommand{\xsubsection}[1]{\subsection{#1}}
+
+
+\title{Configuring and extending Ion3 with Lua}
+\author{Tuomo Valkonen \\ tuomov at iki.fi}
+\date{2006-12-23}
+
+\makeindex
+
+
+\begin{document}
+
+\maketitle
+
+Configuring and extending Ion3 with Lua\\
+Copyright \copyright\  2003--2005 Tuomo Valkonen.
+
+This document is free; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This document is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+chapter entitled ''GNU General Public License'' for more details.
+
+\tableofcontents
+
+\input{confintro}
+
+\input{prelim}
+
+\input{conf}
+
+\input{de}
+
+\input{tricks}
+
+\input{fnref}
+
+\appendix
+
+\input{gpl}
+
+\input{fullhierarchy}
+
+\chapter*{List of functions}
+\markboth{\MakeUppercase{List of functions}}%
+         {\MakeUppercase{List of functions}}%
+
+%begin{latexonly}
+\makeatletter
+\def\fnlisti#1{\@dottedtocline{1}{0em}{1.5em}{\lstinline!#1!}{\pageref{fn:#1}}}
+{\parskip\z@\input{fnlist}}
+\makeatother
+%end{latexonly}
+
+\begin{htmlonly}
+\newcommand{\fnlisti}[1]{\fnref{#1}\\}
+\input{fnlist}
+\end{htmlonly}
+
+\printindex
+
+\end{document}
diff --git a/ionconf/WARNINGS b/ionconf/WARNINGS
new file mode 100644 (file)
index 0000000..726c0ef
--- /dev/null
@@ -0,0 +1,8 @@
+No implementation found for style `hyperref'
+No implementation found for style `ae'
+No implementation found for style `url'
+No implementation found for style `tocbibind'
+No implementation found for style `geometry'
+No implementation found for style `calc'
+
+Substitution of arg to newlabelxx delayed.
diff --git a/ionconf/contents.png b/ionconf/contents.png
new file mode 100644 (file)
index 0000000..0c752c6
Binary files /dev/null and b/ionconf/contents.png differ
diff --git a/ionconf/images.aux b/ionconf/images.aux
new file mode 100644 (file)
index 0000000..3b687b9
--- /dev/null
@@ -0,0 +1,19 @@
+\relax 
+\ifx\hyper@anchor\@undefined
+\global \let \oldcontentsline\contentsline
+\gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
+\global \let \oldnewlabel\newlabel
+\gdef \newlabel#1#2{\newlabelxx{#1}#2}
+\gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
+\AtEndDocument{\let \contentsline\oldcontentsline
+\let \newlabel\oldnewlabel}
+\else
+\global \let \hyper@last\relax 
+\fi
+
+\select@language{english}
+\@writefile{toc}{\select@language{english}}
+\@writefile{lof}{\select@language{english}}
+\@writefile{lot}{\select@language{english}}
+\@ifundefined{unitindent}{\newdimen\unitindent\let \@indentset\relax }{}
+\global \unitindent=38.41783pt\relax\@indentset\relax
diff --git a/ionconf/images.idx b/ionconf/images.idx
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ionconf/images.log b/ionconf/images.log
new file mode 100644 (file)
index 0000000..952589a
--- /dev/null
@@ -0,0 +1,396 @@
+This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=latex 2006.11.18)  23 DEC 2006 17:03
+entering extended mode
+**./images.tex
+(./images.tex
+LaTeX2e <2003/12/01>
+Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b
+ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e
+stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis
+h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur
+kish, ukrainian, nohyphenation, loaded.
+
+(/usr/share/texmf-tetex/tex/latex/ntgclass/rapport3.cls
+Document Class: rapport3 2004/06/07 v2.1a NTG LaTeX document class
+(/usr/share/texmf-tetex/tex/latex/ntgclass/ntg11.clo
+File: ntg11.clo 2004/06/07 v2.1a NTG LaTeX file (size option)
+)
+\unitindent=\dimen102
+\othermargin=\dimen103
+\c@part=\count79
+\c@chapter=\count80
+\c@section=\count81
+\c@subsection=\count82
+\c@subsubsection=\count83
+\c@paragraph=\count84
+\c@subparagraph=\count85
+\c@figure=\count86
+\c@table=\count87
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+LaTeX Info: Redefining \em on input line 826.
+\bibindent=\dimen104
+) (/usr/share/texmf-tetex/tex/latex/base/ifthen.sty
+Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
+) (/usr/share/texmf-tetex/tex/generic/babel/babel.sty
+Package: babel 2004/11/20 v3.8d The Babel package
+(/usr/share/texmf-tetex/tex/generic/babel/english.ldf
+Language: english 2004/06/14 v3.3o English support from the babel system
+(/usr/share/texmf-tetex/tex/generic/babel/babel.def
+File: babel.def 2004/11/20 v3.8d Babel common definitions
+\babel@savecnt=\count88
+\U@D=\dimen105
+)
+\l@british = a dialect from \language\l@english 
+\l@UKenglish = a dialect from \language\l@english 
+\l@canadian = a dialect from \language\l@american 
+\l@australian = a dialect from \language\l@british 
+\l@newzealand = a dialect from \language\l@british 
+)) (/usr/share/texmf-tetex/tex/latex/base/inputenc.sty
+Package: inputenc 2004/02/05 v1.0d Input encoding file
+(/usr/share/texmf-tetex/tex/latex/base/latin1.def
+File: latin1.def 2004/02/05 v1.0d Input encoding file
+)) (/usr/share/texmf-tetex/tex/latex/hyperref/hyperref.sty
+Package: hyperref 2003/11/30 v6.74m Hypertext links for LaTeX
+(/usr/share/texmf-tetex/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks14
+)
+\@linkdim=\dimen106
+\Hy@linkcounter=\count89
+\Hy@pagecounter=\count90
+(/usr/share/texmf-tetex/tex/latex/hyperref/pd1enc.def
+File: pd1enc.def 2003/11/30 v6.74m Hyperref: PDFDocEncoding definition (HO)
+) (/usr/share/texmf-tetex/tex/latex/hyperref/hyperref.cfg
+File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive and teTeX
+)
+Package hyperref Info: Hyper figures OFF on input line 1880.
+Package hyperref Info: Link nesting OFF on input line 1885.
+Package hyperref Info: Hyper index ON on input line 1888.
+Package hyperref Info: Plain pages ON on input line 1893.
+Package hyperref Info: Backreferencing OFF on input line 1900.
+Implicit mode ON; LaTeX internals redefined
+Package hyperref Info: Bookmarks ON on input line 2004.
+(/usr/share/texmf/tex/latex/latex2html/url.sty
+Package: url 1999/03/02  ver 1.4  Verb mode for urls, email addresses, and file
+ names
+)
+LaTeX Info: Redefining \url on input line 2143.
+\Fld@menulength=\count91
+\Field@Width=\dimen107
+\Fld@charsize=\dimen108
+\Choice@toks=\toks15
+\Field@toks=\toks16
+Package hyperref Info: Hyper figures OFF on input line 2618.
+Package hyperref Info: Link nesting OFF on input line 2623.
+Package hyperref Info: Hyper index ON on input line 2626.
+Package hyperref Info: backreferencing OFF on input line 2633.
+Package hyperref Info: Link coloring OFF on input line 2638.
+\c@Item=\count92
+\c@Hfootnote=\count93
+)
+*hyperref using driver hdvipdfm*
+(/usr/share/texmf-tetex/tex/latex/hyperref/hdvipdfm.def
+File: hdvipdfm.def 2003/11/30 v6.74m Hyperref driver for dvipdfm
+\pdfm@box=\box26
+\Fld@listcount=\count94
+\@outlinefile=\write3
+) (/usr/share/texmf-tetex/tex/latex/ae/ae.sty
+Package: ae 2001/02/12 1.3 Almost European Computer Modern
+(/usr/share/texmf-tetex/tex/latex/base/fontenc.sty
+Package: fontenc 2004/02/22 v1.99f Standard LaTeX package
+(/usr/share/texmf-tetex/tex/latex/base/t1enc.def
+File: t1enc.def 2004/02/22 v1.99f Standard LaTeX file
+LaTeX Font Info:    Redeclaring font encoding T1 on input line 43.
+)
+LaTeX Font Info:    Try loading font information for T1+aer on input line 100.
+(/usr/share/texmf-tetex/tex/latex/ae/t1aer.fd
+File: t1aer.fd 1997/11/16 Font definitions for T1/aer.
+))) (/usr/share/texmf/tex/latex/html/html.sty
+Package: html 1999/07/19 v1.38 hypertext commands for latex2html (nd, hws, rrm)
+
+\c@lpart=\count95
+\c@lchapter=\count96
+\c@lsection=\count97
+\c@lsubsection=\count98
+\c@lsubsubsection=\count99
+\c@lparagraph=\count100
+\c@lsubparagraph=\count101
+\c@lsubsubparagraph=\count102
+\ptrfile=\write4
+) (/usr/share/texmf-tetex/tex/latex/base/makeidx.sty
+Package: makeidx 2000/03/29 v1.0m Standard LaTeX package
+) (/usr/share/texmf-tetex/tex/latex/tools/tabularx.sty
+Package: tabularx 1999/01/07 v2.07 `tabularx' package (DPC)
+(/usr/share/texmf-tetex/tex/latex/tools/array.sty
+Package: array 2003/12/17 v2.4a Tabular extension package (FMi)
+\col@sep=\dimen109
+\extrarowheight=\dimen110
+\NC@list=\toks17
+\extratabsurround=\skip43
+\backup@length=\skip44
+)
+\TX@col@width=\dimen111
+\TX@old@table=\dimen112
+\TX@old@col=\dimen113
+\TX@target=\dimen114
+\TX@delta=\dimen115
+\TX@cols=\count103
+\TX@ftn=\toks18
+) (/usr/share/texmf-tetex/tex/latex/base/textcomp.sty
+Package: textcomp 2004/02/22 v1.99f Standard LaTeX package
+Package textcomp Info: Sub-encoding information:
+(textcomp)               5 = only ISO-Adobe without \textcurrency
+(textcomp)               4 = 5 + \texteuro
+(textcomp)               3 = 4 + \textohm
+(textcomp)               2 = 3 + \textestimated + \textcurrency
+(textcomp)               1 = TS1 - \textcircled - \t
+(textcomp)               0 = TS1 (full)
+(textcomp)             Font families with sub-encoding setting implement
+(textcomp)             only a restricted character set as indicated.
+(textcomp)             Family '?' is the default used for unknown fonts.
+(textcomp)             See the documentation for details.
+Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 71.
+(/usr/share/texmf-tetex/tex/latex/base/ts1enc.def
+File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file
+)
+LaTeX Info: Redefining \oldstylenums on input line 266.
+Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 281.
+Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 282.
+Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 283.
+Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 284.
+Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 285.
+Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 286.
+Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 287.
+Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 288.
+Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 289.
+Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 290.
+Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 291.
+Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 292.
+Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 293.
+Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 294.
+Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 295.
+Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 296.
+Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 297.
+Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 298.
+Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 299.
+Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 300.
+Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 301.
+Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 302.
+Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 303.
+Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 304.
+
+Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 305.
+Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 306.
+Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 307.
+Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 308.
+Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 309.
+Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 310.
+Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 311.
+Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 312.
+Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 313.
+Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 314.
+Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 315.
+Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 316.
+Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 317.
+Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 318.
+Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 319.
+Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 320.
+Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 321.
+Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 322.
+Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 323.
+Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 324.
+Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 325.
+Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 326.
+) (/usr/share/texmf-tetex/tex/latex/tocbibind/tocbibind.sty
+Package: tocbibind 2003/03/13 v1.5g extra ToC listings
+
+Package tocbibind Note: The document has chapter divisions.
+
+
+Package tocbibind Note: Using chapter style headings, unless overridden.
+
+) (/usr/share/texmf-tetex/tex/latex/tools/enumerate.sty
+Package: enumerate 1999/03/05 v3.00 enumerate extensions (DPC)
+\@enLab=\toks19
+) (/usr/share/texmf-tetex/tex/latex/geometry/geometry.sty
+Package: geometry 2002/07/08 v3.2 Page Geometry
+\Gm@cnth=\count104
+\Gm@cntv=\count105
+\c@Gm@tempcnt=\count106
+\Gm@bindingoffset=\dimen116
+\Gm@wd@mp=\dimen117
+\Gm@odd@mp=\dimen118
+\Gm@even@mp=\dimen119
+\Gm@dimlist=\toks20
+(/usr/share/texmf-tetex/tex/latex/geometry/geometry.cfg)) (/usr/share/texmf-tet
+ex/tex/latex/tools/calc.sty
+Package: calc 1998/07/07 v4.1b Infix arithmetic (KKT,FJ)
+\calc@Acount=\count107
+\calc@Bcount=\count108
+\calc@Adimen=\dimen120
+\calc@Bdimen=\dimen121
+\calc@Askip=\skip45
+\calc@Bskip=\skip46
+LaTeX Info: Redefining \setlength on input line 59.
+LaTeX Info: Redefining \addtolength on input line 60.
+\calc@denominator=\count109
+)
+\@indexfile=\write5
+\openout5 = `images.idx'.
+
+Writing index file images.idx
+(/usr/share/texmf-tetex/tex/latex/graphics/color.sty
+Package: color 1999/02/16 v1.0i Standard LaTeX Color (DPC)
+(/usr/share/texmf-tetex/tex/latex/graphics/color.cfg
+File: color.cfg 2005/02/03 v1.3 color configuration of teTeX/TeXLive
+)
+Package color Info: Driver file: dvips.def on input line 125.
+(/usr/share/texmf-tetex/tex/latex/graphics/dvips.def
+File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
+) (/usr/share/texmf-tetex/tex/latex/graphics/dvipsnam.def
+File: dvipsnam.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
+))
+\sizebox=\box27
+\lthtmlwrite=\write6
+(./images.aux)
+\openout1 = `images.aux'.
+
+LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 198.
+LaTeX Font Info:    ... okay on input line 198.
+LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 198.
+LaTeX Font Info:    ... okay on input line 198.
+LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 198.
+LaTeX Font Info:    ... okay on input line 198.
+LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 198.
+LaTeX Font Info:    ... okay on input line 198.
+LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 198.
+LaTeX Font Info:    ... okay on input line 198.
+LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 198.
+LaTeX Font Info:    ... okay on input line 198.
+LaTeX Font Info:    Checking defaults for PD1/pdf/m/n on input line 198.
+LaTeX Font Info:    ... okay on input line 198.
+LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 198.
+LaTeX Font Info:    Try loading font information for TS1+cmr on input line 198.
+
+(/usr/share/texmf-tetex/tex/latex/base/ts1cmr.fd
+File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
+)
+LaTeX Font Info:    ... okay on input line 198.
+Package hyperref Info: Link coloring OFF on input line 198.
+(/usr/share/texmf-tetex/tex/latex/hyperref/nameref.sty
+Package: nameref 2003/12/03 v2.21 Cross-referencing by name of section
+\c@section@level=\count110
+)
+LaTeX Info: Redefining \ref on input line 198.
+LaTeX Info: Redefining \pageref on input line 198.
+\openout3 = `images.out'.
+
+-------------------- Geometry parameters
+paper: a4paper
+landscape: --
+twocolumn: --
+twoside: --
+asymmetric: --
+h-parts: 89.62709pt, 0.7\paperwidth , 89.6271pt (default)
+v-parts: 101.40665pt, 0.7\paperheight , 152.11pt (default)
+hmarginratio: 1:1
+vmarginratio: 2:3
+lines: --
+heightrounded: --
+bindingoffset: 0.0pt
+truedimen: --
+includehead: --
+includefoot: --
+includemp: --
+driver: 
+-------------------- Page layout dimensions and switches
+\paperwidth  597.50787pt
+\paperheight 845.04684pt
+\textwidth  349.0pt
+\textheight 650.66685pt
+\oddsidemargin  17.3571pt
+\evensidemargin 17.3571pt
+\topmargin  0.0pt
+\headheight 0.0pt
+\headsep    0.0pt
+\footskip   0.0pt
+\marginparwidth 71.0pt
+\marginparsep   10.0pt
+\columnsep  10.0pt
+\skip\footins  10.0pt plus 4.0pt minus 2.0pt
+\hoffset 0.0pt
+\voffset 0.0pt
+\mag 1000
+
+(1in=72.27pt, 1cm=28.45pt)
+-----------------------
+
+latex2htmlLength hsize=349.0pt
+
+latex2htmlLength vsize=650.66685pt
+
+latex2htmlLength hoffset=0.0pt
+
+latex2htmlLength voffset=0.0pt
+
+latex2htmlLength topmargin=0.0pt
+
+latex2htmlLength topskip=0.00003pt
+
+latex2htmlLength headheight=0.0pt
+
+latex2htmlLength headsep=0.0pt
+
+latex2htmlLength parskip=6.8pt plus 1.36008pt minus 1.36008pt
+
+latex2htmlLength oddsidemargin=17.3571pt
+
+latex2htmlLength evensidemargin=17.3571pt
+
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <10.95> on input line 235.
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <8> on input line 235.
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <6> on input line 235.
+l2hSize :tex2html_wrap_inline1028:7.0626pt::0.0pt::7.1201pt.
+[1
+
+
+
+]
+l2hSize :tex2html_wrap_inline1032:7.48248pt::0.0pt::48.86426pt.
+[2
+
+
+]
+l2hSize :tex2html_wrap_inline1981:8.7125pt::8.7125pt::23.6642pt.
+[3
+
+
+]
+l2hSize :tex2html_wrap_inline6076:7.5626pt::7.5626pt::14.53923pt.
+[4
+
+
+]
+l2hSize :tex2html_wrap_inline6080:7.5626pt::7.5626pt::14.53923pt.
+[5
+
+
+]
+l2hSize :tex2html_wrap_inline9064:8.7125pt::8.7125pt::86.9574pt.
+[6
+
+
+] (./images.aux) ) 
+Here is how much of TeX's memory you used:
+ 4428 strings out of 94501
+ 62627 string characters out of 1175793
+ 121207 words of memory out of 1000000
+ 7572 multiletter control sequences out of 10000+50000
+ 7874 words of font info for 24 fonts, out of 500000 for 2000
+ 580 hyphenation exceptions out of 8191
+ 28i,5n,21p,200b,182s stack positions out of 1500i,500n,5000p,200000b,5000s
+
+Output written on images.dvi (6 pages, 3608 bytes).
diff --git a/ionconf/images.out b/ionconf/images.out
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ionconf/images.pl b/ionconf/images.pl
new file mode 100644 (file)
index 0000000..6d0ccb4
--- /dev/null
@@ -0,0 +1,6 @@
+# LaTeX2HTML 2002-2-1 (1.71)
+# Associate images original text with physical files.
+
+
+1;
+
diff --git a/ionconf/images.tex b/ionconf/images.tex
new file mode 100644 (file)
index 0000000..d950261
--- /dev/null
@@ -0,0 +1,371 @@
+\batchmode
+\documentclass[english,a4paper,11pt,oldtoc,mctitle]{rapport3}
+\RequirePackage{ifthen}
+
+
+\usepackage{babel}
+\usepackage[latin1]{inputenc}
+\usepackage[dvipdfm]{hyperref}
+\usepackage{ae}
+\usepackage{url}
+\usepackage{html}
+\usepackage{makeidx}
+\usepackage{tabularx}
+\usepackage{textcomp}
+\usepackage[nottoc]{tocbibind}
+\usepackage{enumerate} 
+\usepackage[a4paper]{geometry}
+\usepackage{calc}
+
+
+\urlstyle{rm}%
+\providecommand{\centerurl}[1]{\begin{center}\url{#1}\end{center}} 
+
+%
+\providecommand{\note}[1]{\color{red}**#1**}%
+\providecommand{\file}[1]{\emph{#1}}%
+\providecommand{\type}[1]{#1}%
+\providecommand{\spec}[1]{#1}%
+\providecommand{\indextype}[1]{\index{#1@#1}} 
+
+%
+\providecommand{\key}[1]{\textbf{#1}}%
+\providecommand{\code}[1]{\texttt{#1}}%
+\providecommand{\var}[1]{\texttt{#1}}%
+\providecommand{\command}[1]{\texttt{#1}} 
+
+%
+\providecommand{\hyperlabel}[1]{\label{#1}}%
+\providecommand{\fnref}[1]{\htmlref{\texttt{#1}}{fn:#1}}%
+\providecommand{\fnrefx}[2]{\htmlref{\texttt{#2}}{fn:#1.#2}}%
+\providecommand{\myhref}[2]{\htmlref{#2}{#1}} 
+
+%
+\providecommand{\tabhead}[1]{\hline #1 \\\hline} 
+
+
+
+%
+\newenvironment{function}{
+  \begin{description}
+}{
+  \end{description}
+} 
+
+%
+\providecommand{\synopsis}[1]{
+  \item[Synopsis:] \texttt{#1}
+}%
+\providecommand{\funcname}[1]{
+  \item[Function:] \texttt{#1}
+}%
+\providecommand{\hookname}[1]{
+  \item[Hook name:] \label{#1}\texttt{#1}
+}%
+\providecommand{\hookparams}[1]{
+  \item[Parameters:] \texttt{#1}
+} 
+
+%
+\newenvironment{funcdesc}{
+  \item[Description:]
+}{} 
+
+
+
+%
+\providecommand{\xchapter}[1]{\chapter{#1}}%
+\providecommand{\xsection}[1]{\section{#1}}%
+\providecommand{\xsectionstar}[1]{\section*{#1}}%
+\providecommand{\xsubsection}[1]{\subsection{#1}} 
+
+
+\title{Configuring and extending Ion3 with Lua}
+\author{Tuomo Valkonen \\tuomov at iki.fi}
+\date{2006-12-23}
+
+
+\makeindex
+
+
+
+
+\usepackage[dvips]{color}
+
+
+\pagecolor[gray]{.7}
+
+\usepackage[latin1]{inputenc}
+
+
+
+\makeatletter
+
+\makeatletter
+\count@=\the\catcode`\_ \catcode`\_=8 
+\newenvironment{tex2html_wrap}{}{}%
+\catcode`\<=12\catcode`\_=\count@
+\newcommand{\providedcommand}[1]{\expandafter\providecommand\csname #1\endcsname}%
+\newcommand{\renewedcommand}[1]{\expandafter\providecommand\csname #1\endcsname{}%
+  \expandafter\renewcommand\csname #1\endcsname}%
+\newcommand{\newedenvironment}[1]{\newenvironment{#1}{}{}\renewenvironment{#1}}%
+\let\newedcommand\renewedcommand
+\let\renewedenvironment\newedenvironment
+\makeatother
+\let\mathon=$
+\let\mathoff=$
+\ifx\AtBeginDocument\undefined \newcommand{\AtBeginDocument}[1]{}\fi
+\newbox\sizebox
+\setlength{\hoffset}{0pt}\setlength{\voffset}{0pt}
+\addtolength{\textheight}{\footskip}\setlength{\footskip}{0pt}
+\addtolength{\textheight}{\topmargin}\setlength{\topmargin}{0pt}
+\addtolength{\textheight}{\headheight}\setlength{\headheight}{0pt}
+\addtolength{\textheight}{\headsep}\setlength{\headsep}{0pt}
+\setlength{\textwidth}{349pt}
+\newwrite\lthtmlwrite
+\makeatletter
+\let\realnormalsize=\normalsize
+\global\topskip=2sp
+\def\preveqno{}\let\real@float=\@float \let\realend@float=\end@float
+\def\@float{\let\@savefreelist\@freelist\real@float}
+\def\liih@math{\ifmmode$\else\bad@math\fi}
+\def\end@float{\realend@float\global\let\@freelist\@savefreelist}
+\let\real@dbflt=\@dbflt \let\end@dblfloat=\end@float
+\let\@largefloatcheck=\relax
+\let\if@boxedmulticols=\iftrue
+\def\@dbflt{\let\@savefreelist\@freelist\real@dbflt}
+\def\adjustnormalsize{\def\normalsize{\mathsurround=0pt \realnormalsize
+ \parindent=0pt\abovedisplayskip=0pt\belowdisplayskip=0pt}%
+ \def\phantompar{\csname par\endcsname}\normalsize}%
+\def\lthtmltypeout#1{{\let\protect\string \immediate\write\lthtmlwrite{#1}}}%
+\newcommand\lthtmlhboxmathA{\adjustnormalsize\setbox\sizebox=\hbox\bgroup\kern.05em }%
+\newcommand\lthtmlhboxmathB{\adjustnormalsize\setbox\sizebox=\hbox to\hsize\bgroup\hfill }%
+\newcommand\lthtmlvboxmathA{\adjustnormalsize\setbox\sizebox=\vbox\bgroup %
+ \let\ifinner=\iffalse \let\)\liih@math }%
+\newcommand\lthtmlboxmathZ{\@next\next\@currlist{}{\def\next{\voidb@x}}%
+ \expandafter\box\next\egroup}%
+\newcommand\lthtmlmathtype[1]{\gdef\lthtmlmathenv{#1}}%
+\newcommand\lthtmllogmath{\dimen0\ht\sizebox \advance\dimen0\dp\sizebox
+  \ifdim\dimen0>.95\vsize
+   \lthtmltypeout{%
+*** image for \lthtmlmathenv\space is too tall at \the\dimen0, reducing to .95 vsize ***}%
+   \ht\sizebox.95\vsize \dp\sizebox\z@ \fi
+  \lthtmltypeout{l2hSize %
+:\lthtmlmathenv:\the\ht\sizebox::\the\dp\sizebox::\the\wd\sizebox.\preveqno}}%
+\newcommand\lthtmlfigureA[1]{\let\@savefreelist\@freelist
+       \lthtmlmathtype{#1}\lthtmlvboxmathA}%
+\newcommand\lthtmlpictureA{\bgroup\catcode`\_=8 \lthtmlpictureB}%
+\newcommand\lthtmlpictureB[1]{\lthtmlmathtype{#1}\egroup
+       \let\@savefreelist\@freelist \lthtmlhboxmathB}%
+\newcommand\lthtmlpictureZ[1]{\hfill\lthtmlfigureZ}%
+\newcommand\lthtmlfigureZ{\lthtmlboxmathZ\lthtmllogmath\copy\sizebox
+       \global\let\@freelist\@savefreelist}%
+\newcommand\lthtmldisplayA{\bgroup\catcode`\_=8 \lthtmldisplayAi}%
+\newcommand\lthtmldisplayAi[1]{\lthtmlmathtype{#1}\egroup\lthtmlvboxmathA}%
+\newcommand\lthtmldisplayB[1]{\edef\preveqno{(\theequation)}%
+  \lthtmldisplayA{#1}\let\@eqnnum\relax}%
+\newcommand\lthtmldisplayZ{\lthtmlboxmathZ\lthtmllogmath\lthtmlsetmath}%
+\newcommand\lthtmlinlinemathA{\bgroup\catcode`\_=8 \lthtmlinlinemathB}
+\newcommand\lthtmlinlinemathB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA
+  \vrule height1.5ex width0pt }%
+\newcommand\lthtmlinlineA{\bgroup\catcode`\_=8 \lthtmlinlineB}%
+\newcommand\lthtmlinlineB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA}%
+\newcommand\lthtmlinlineZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
+  \expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetinline}
+\newcommand\lthtmlinlinemathZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
+  \expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetmath}
+\newcommand\lthtmlindisplaymathZ{\egroup %
+  \centerinlinemath\lthtmllogmath\lthtmlsetmath}
+\def\lthtmlsetinline{\hbox{\vrule width.1em \vtop{\vbox{%
+  \kern.1em\copy\sizebox}\ifdim\dp\sizebox>0pt\kern.1em\else\kern.3pt\fi
+  \ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
+\def\lthtmlsetmath{\hbox{\vrule width.1em\kern-.05em\vtop{\vbox{%
+  \kern.1em\kern0.8 pt\hbox{\hglue.17em\copy\sizebox\hglue0.8 pt}}\kern.3pt%
+  \ifdim\dp\sizebox>0pt\kern.1em\fi \kern0.8 pt%
+  \ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
+\def\centerinlinemath{%
+  \dimen1=\ifdim\ht\sizebox<\dp\sizebox \dp\sizebox\else\ht\sizebox\fi
+  \advance\dimen1by.5pt \vrule width0pt height\dimen1 depth\dimen1 
+ \dp\sizebox=\dimen1\ht\sizebox=\dimen1\relax}
+
+\def\lthtmlcheckvsize{\ifdim\ht\sizebox<\vsize 
+  \ifdim\wd\sizebox<\hsize\expandafter\hfill\fi \expandafter\vfill
+  \else\expandafter\vss\fi}%
+\providecommand{\selectlanguage}[1]{}%
+\makeatletter \tracingstats = 1 
+
+
+\begin{document}
+\pagestyle{empty}\thispagestyle{empty}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hsize=\the\hsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength vsize=\the\vsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hoffset=\the\hoffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength voffset=\the\voffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topmargin=\the\topmargin}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topskip=\the\topskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headheight=\the\headheight}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headsep=\the\headsep}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength parskip=\the\parskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength oddsidemargin=\the\oddsidemargin}\lthtmltypeout{}%
+\makeatletter
+\if@twoside\lthtmltypeout{latex2htmlLength evensidemargin=\the\evensidemargin}%
+\else\lthtmltypeout{latex2htmlLength evensidemargin=\the\oddsidemargin}\fi%
+\lthtmltypeout{}%
+\makeatother
+\setcounter{page}{1}
+\onecolumn
+
+% !!! IMAGES START HERE !!!
+
+\stepcounter{chapter}
+\stepcounter{chapter}
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsection}
+\stepcounter{chapter}
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{section}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline1028}%
+$n$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline1032}%
+$N=1{\ldots} 5$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{section}
+
+
+\newedenvironment{winprop}[2]{
+  
+  \begin{description}
+%
+      \item[Winprop:] \texttt{#1} (#2)
+      \item[Description:]
+}
+{
+  
+  \end{description}
+}%
+
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{chapter}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsection}
+\stepcounter{section}
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline1981}%
+$(0, 1]$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+\stepcounter{chapter}
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{chapter}
+\stepcounter{section}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline6076}%
+$-1$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline6080}%
+$-2$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{section}
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline9064}%
+$\{t,m,b\}\times\{t,c,b\}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{section}
+\appendix
+\stepcounter{chapter}
+\addtocounter{enumi}{-1}
+\stepcounter{chapter}
+
+%
+\providecommand{\fnlisti}[1]{\htmlref{\texttt{#1}}{fn:#1}\\}%
+
+
+\end{document}
diff --git a/ionconf/img1.png b/ionconf/img1.png
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ionconf/img2.png b/ionconf/img2.png
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ionconf/img3.png b/ionconf/img3.png
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ionconf/img4.png b/ionconf/img4.png
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ionconf/img5.png b/ionconf/img5.png
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ionconf/img6.png b/ionconf/img6.png
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ionconf/index.html b/ionconf/index.html
new file mode 100644 (file)
index 0000000..7a0a20d
--- /dev/null
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
+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>Configuring and extending Ion3 with Lua</TITLE>
+<META NAME="description" CONTENT="Configuring and extending Ion3 with Lua">
+<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-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="ionconf.css">
+
+<LINK REL="next" HREF="node1.html">
+</HEAD>
+
+<BODY >
+
+<DIV CLASS="navigation"><!--Navigation Panel-->
+<A NAME="tex2html19"
+  HREF="node1.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
+<A NAME="tex2html13"
+  HREF="http://iki.fi/tuomov/ion/">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev_g.png"> 
+<A NAME="tex2html15"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
+<A NAME="tex2html17"
+  HREF="node11.html">
+<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
+<BR>
+<B> Next:</B> <A NAME="tex2html20"
+  HREF="node1.html">Contents</A>
+<B> Up:</B> <A NAME="tex2html14"
+  HREF="http://iki.fi/tuomov/ion/">Ion homepage</A>
+ &nbsp; <B>  <A NAME="tex2html16"
+  HREF="node1.html">Contents</A></B> 
+ &nbsp; <B>  <A NAME="tex2html18"
+  HREF="node11.html">Index</A></B> 
+<BR>
+<BR></DIV>
+<!--End of Navigation Panel-->
+
+<P>
+<H1 ALIGN="CENTER">Configuring and extending Ion3 with Lua</H1>
+<DIV CLASS="author_info">
+
+<P ALIGN="CENTER"><STRONG>Tuomo Valkonen</STRONG></P>
+<P ALIGN="CENTER"><I>tuomov at iki.fi</I></P>
+<P ALIGN="CENTER"><STRONG>2006-12-23</STRONG></P>
+</DIV>
+
+<P>
+Configuring and extending Ion3 with Lua
+<BR>
+Copyright &#169;  2003-2005 Tuomo Valkonen.
+
+<P>
+This document is free; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+<P>
+This document is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+chapter entitled ''GNU General Public License'' for more details.
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"></A>
+
+<UL CLASS="ChildLinks">
+<LI><A NAME="tex2html21"
+  HREF="node1.html">Contents</A>
+<LI><A NAME="tex2html22"
+  HREF="node2.html"><SPAN CLASS="arabic">1</SPAN>. Introduction</A>
+<LI><A NAME="tex2html23"
+  HREF="node3.html"><SPAN CLASS="arabic">2</SPAN>. Preliminaries: Key concepts and relations</A>
+<UL>
+<LI><A NAME="tex2html24"
+  HREF="node3.html#SECTION00310000000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> Modules</A>
+<LI><A NAME="tex2html25"
+  HREF="node3.html#SECTION00320000000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> Class and object hierarchies</A>
+<UL>
+<LI><A NAME="tex2html26"
+  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="tex2html27"
+  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="tex2html28"
+  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="tex2html29"
+  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="tex2html30"
+  HREF="node3.html#SECTION00323000000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">3</SPAN> Summary</A>
+</UL>
+</UL>
+<BR>
+<LI><A NAME="tex2html31"
+  HREF="node4.html"><SPAN CLASS="arabic">3</SPAN>. Basic configuration</A>
+<UL>
+<LI><A NAME="tex2html32"
+  HREF="node4.html#SECTION00410000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> The configuration files</A>
+<LI><A NAME="tex2html33"
+  HREF="node4.html#SECTION00420000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> A walk through <SPAN  CLASS="textit">cfg_ion.lua</SPAN></A>
+<LI><A NAME="tex2html34"
+  HREF="node4.html#SECTION00430000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> Keys and rodents</A>
+<UL>
+<LI><A NAME="tex2html35"
+  HREF="node4.html#SECTION00431000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> Binding handlers and special variables</A>
+<LI><A NAME="tex2html36"
+  HREF="node4.html#SECTION00432000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> Guards</A>
+<LI><A NAME="tex2html37"
+  HREF="node4.html#SECTION00433000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> Defining the bindings</A>
+<LI><A NAME="tex2html38"
+  HREF="node4.html#SECTION00434000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN> Examples</A>
+<LI><A NAME="tex2html39"
+  HREF="node4.html#SECTION00435000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN> Key specifications</A>
+<LI><A NAME="tex2html40"
+  HREF="node4.html#SECTION00436000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">6</SPAN> Button specifications</A>
+<LI><A NAME="tex2html41"
+  HREF="node4.html#SECTION00437000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">7</SPAN> A further note on the default binding configuration</A>
+</UL>
+<LI><A NAME="tex2html42"
+  HREF="node4.html#SECTION00440000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN> Menus</A>
+<UL>
+<LI><A NAME="tex2html43"
+  HREF="node4.html#SECTION00441000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN> Defining menus</A>
+<LI><A NAME="tex2html44"
+  HREF="node4.html#SECTION00442000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN> Special menus</A>
+<LI><A NAME="tex2html45"
+  HREF="node4.html#SECTION00443000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">3</SPAN> Defining context menus</A>
+<LI><A NAME="tex2html46"
+  HREF="node4.html#SECTION00444000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">4</SPAN> Displaying menus</A>
+</UL>
+<LI><A NAME="tex2html47"
+  HREF="node4.html#SECTION00450000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN> Winprops</A>
+<UL>
+<LI><A NAME="tex2html48"
+  HREF="node4.html#SECTION00451000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN> Classes, roles and instances</A>
+<LI><A NAME="tex2html49"
+  HREF="node4.html#SECTION00452000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN> Finding window identification</A>
+<LI><A NAME="tex2html50"
+  HREF="node4.html#SECTION00453000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN> Some common examples</A>
+<UL>
+<LI><A NAME="tex2html51"
+  HREF="node4.html#SECTION00453100000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> Acrobat Reader</A>
+<LI><A NAME="tex2html52"
+  HREF="node4.html#SECTION00453200000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> Fixing a Mozilla Firebird transient</A>
+<LI><A NAME="tex2html53"
+  HREF="node4.html#SECTION00453300000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> Forcing newly created windows in named frames</A>
+</UL>
+</UL>
+</UL>
+<BR>
+<LI><A NAME="tex2html54"
+  HREF="node5.html"><SPAN CLASS="arabic">4</SPAN>. Graphical styles</A>
+<UL>
+<LI><A NAME="tex2html55"
+  HREF="node5.html#SECTION00510000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN> Drawing engines, style specifications and sub-styles</A>
+<UL>
+<LI><A NAME="tex2html56"
+  HREF="node5.html#SECTION00511000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN> Known styles and substyles</A>
+<UL>
+<LI><A NAME="tex2html57"
+  HREF="node5.html#SECTION00511100000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN> Frames</A>
+<LI><A NAME="tex2html58"
+  HREF="node5.html#SECTION00511200000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">2</SPAN> Tabs and menu entries</A>
+<LI><A NAME="tex2html59"
+  HREF="node5.html#SECTION00511300000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">3</SPAN> The rest</A>
+</UL>
+</UL>
+<LI><A NAME="tex2html60"
+  HREF="node5.html#SECTION00520000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN> Defining styles for the default drawing engine</A>
+<UL>
+<LI><A NAME="tex2html61"
+  HREF="node5.html#SECTION00521000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> The structure of the configuration files</A>
+<LI><A NAME="tex2html62"
+  HREF="node5.html#SECTION00522000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> Defining the styles</A>
+<UL>
+<LI><A NAME="tex2html63"
+  HREF="node5.html#SECTION00522100000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> Colours</A>
+<LI><A NAME="tex2html64"
+  HREF="node5.html#SECTION00522200000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> Borders and widths</A>
+<LI><A NAME="tex2html65"
+  HREF="node5.html#SECTION00522300000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">3</SPAN> Text</A>
+<LI><A NAME="tex2html66"
+  HREF="node5.html#SECTION00522400000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">4</SPAN> Miscellaneous</A>
+<LI><A NAME="tex2html67"
+  HREF="node5.html#SECTION00522500000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">5</SPAN> Substyles</A>
+</UL>
+<LI><A NAME="tex2html68"
+  HREF="node5.html#SECTION00523000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">3</SPAN> An example</A>
+</UL>
+<LI><A NAME="tex2html69"
+  HREF="node5.html#SECTION00530000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">3</SPAN> Miscellaneous settings</A>
+<UL>
+<LI><A NAME="tex2html70"
+  HREF="node5.html#SECTION00531000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> Extra fields for style <TT>frame</TT></A>
+<LI><A NAME="tex2html71"
+  HREF="node5.html#SECTION00532000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> Extra fields for style <TT>dock</TT></A>
+</UL>
+</UL>
+<BR>
+<LI><A NAME="tex2html72"
+  HREF="node6.html"><SPAN CLASS="arabic">5</SPAN>. Scripting</A>
+<UL>
+<LI><A NAME="tex2html73"
+  HREF="node6.html#SECTION00610000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN> Hooks</A>
+<LI><A NAME="tex2html74"
+  HREF="node6.html#SECTION00620000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN> Referring to regions</A>
+<UL>
+<LI><A NAME="tex2html75"
+  HREF="node6.html#SECTION00621000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> Direct object references</A>
+<LI><A NAME="tex2html76"
+  HREF="node6.html#SECTION00622000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> Name-based lookups</A>
+</UL>
+<LI><A NAME="tex2html77"
+  HREF="node6.html#SECTION00630000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN> Alternative winprop selection criteria</A>
+<LI><A NAME="tex2html78"
+  HREF="node6.html#SECTION00640000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">4</SPAN> Writing <TT>ion-statusd</TT> monitors</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html79"
+  HREF="node7.html"><SPAN CLASS="arabic">6</SPAN>. Function reference</A>
+<UL>
+<LI><A NAME="tex2html80"
+  HREF="node7.html#SECTION00710000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN> Functions defined in <SPAN  CLASS="textit">ioncore</SPAN></A>
+<UL>
+<LI><A NAME="tex2html81"
+  HREF="node7.html#SECTION00711000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN> WClientWin functions</A>
+<LI><A NAME="tex2html82"
+  HREF="node7.html#SECTION00712000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">2</SPAN> WFrame functions</A>
+<LI><A NAME="tex2html83"
+  HREF="node7.html#SECTION00713000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">3</SPAN> WGroup functions</A>
+<LI><A NAME="tex2html84"
+  HREF="node7.html#SECTION00714000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">4</SPAN> WGroupCW functions</A>
+<LI><A NAME="tex2html85"
+  HREF="node7.html#SECTION00715000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">5</SPAN> WGroupWS functions</A>
+<LI><A NAME="tex2html86"
+  HREF="node7.html#SECTION00716000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">6</SPAN> WInfoWin functions</A>
+<LI><A NAME="tex2html87"
+  HREF="node7.html#SECTION00717000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">7</SPAN> WMPlex functions</A>
+<LI><A NAME="tex2html88"
+  HREF="node7.html#SECTION00718000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">8</SPAN> WMoveresMode functions</A>
+<LI><A NAME="tex2html89"
+  HREF="node7.html#SECTION00719000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">9</SPAN> WRegion functions</A>
+<LI><A NAME="tex2html90"
+  HREF="node7.html#SECTION007110000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">10</SPAN> WRootWin functions</A>
+<LI><A NAME="tex2html91"
+  HREF="node7.html#SECTION007111000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">11</SPAN> WScreen functions</A>
+<LI><A NAME="tex2html92"
+  HREF="node7.html#SECTION007112000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">12</SPAN> WWindow functions</A>
+<LI><A NAME="tex2html93"
+  HREF="node7.html#SECTION007113000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">13</SPAN> global functions</A>
+<LI><A NAME="tex2html94"
+  HREF="node7.html#SECTION007114000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">14</SPAN> gr functions</A>
+<LI><A NAME="tex2html95"
+  HREF="node7.html#SECTION007115000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">15</SPAN> string functions</A>
+<LI><A NAME="tex2html96"
+  HREF="node7.html#SECTION007116000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">16</SPAN> table functions</A>
+</UL>
+<LI><A NAME="tex2html97"
+  HREF="node7.html#SECTION00720000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN> Functions defined in <SPAN  CLASS="textit">mod_tiling</SPAN></A>
+<UL>
+<LI><A NAME="tex2html98"
+  HREF="node7.html#SECTION00721000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> WSplit functions</A>
+<LI><A NAME="tex2html99"
+  HREF="node7.html#SECTION00722000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> WSplitInner functions</A>
+<LI><A NAME="tex2html100"
+  HREF="node7.html#SECTION00723000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">3</SPAN> WSplitRegion functions</A>
+<LI><A NAME="tex2html101"
+  HREF="node7.html#SECTION00724000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">4</SPAN> WSplitSplit functions</A>
+<LI><A NAME="tex2html102"
+  HREF="node7.html#SECTION00725000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">5</SPAN> WTiling functions</A>
+</UL>
+<LI><A NAME="tex2html103"
+  HREF="node7.html#SECTION00730000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN> Functions defined in <SPAN  CLASS="textit">mod_query</SPAN></A>
+<UL>
+<LI><A NAME="tex2html104"
+  HREF="node7.html#SECTION00731000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> WComplProxy functions</A>
+<LI><A NAME="tex2html105"
+  HREF="node7.html#SECTION00732000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> WEdln functions</A>
+<LI><A NAME="tex2html106"
+  HREF="node7.html#SECTION00733000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> WInput functions</A>
+</UL>
+<LI><A NAME="tex2html107"
+  HREF="node7.html#SECTION00740000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN> Functions defined in <SPAN  CLASS="textit">mod_menu</SPAN></A>
+<UL>
+<LI><A NAME="tex2html108"
+  HREF="node7.html#SECTION00741000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN> WMenu functions</A>
+</UL>
+<LI><A NAME="tex2html109"
+  HREF="node7.html#SECTION00750000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">5</SPAN> Functions defined in <SPAN  CLASS="textit">mod_dock</SPAN></A>
+<UL>
+<LI><A NAME="tex2html110"
+  HREF="node7.html#SECTION00751000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN> WDock functions</A>
+</UL>
+<LI><A NAME="tex2html111"
+  HREF="node7.html#SECTION00760000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">6</SPAN> Functions defined in <SPAN  CLASS="textit">mod_sp</SPAN></A>
+<LI><A NAME="tex2html112"
+  HREF="node7.html#SECTION00770000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">7</SPAN> Functions defined in <SPAN  CLASS="textit">de</SPAN></A>
+<LI><A NAME="tex2html113"
+  HREF="node7.html#SECTION00780000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">8</SPAN> Hooks</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html114"
+  HREF="node8.html">A. The GNU General Public License</A>
+<UL>
+<LI><A NAME="tex2html115"
+  HREF="node8.html#SECTION00810000000000000000">Appendix: How to Apply These Terms to Your New Programs</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html116"
+  HREF="node9.html">B. Full class hierarchy visible to Lua-side</A>
+<LI><A NAME="tex2html117"
+  HREF="node10.html">List of functions</A>
+<LI><A NAME="tex2html118"
+  HREF="node11.html">Index</A>
+<LI><A NAME="tex2html119"
+  HREF="node12.html">About this document ...</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
diff --git a/ionconf/index.png b/ionconf/index.png
new file mode 100644 (file)
index 0000000..698f09c
Binary files /dev/null and b/ionconf/index.png differ
diff --git a/ionconf/internals.pl b/ionconf/internals.pl
new file mode 100644 (file)
index 0000000..d2d476e
--- /dev/null
@@ -0,0 +1,1306 @@
+# LaTeX2HTML 2002-2-1 (1.71)
+# Associate internals original text with physical files.
+
+
+$key = q/sec:queryref/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.version/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_nth/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:gr.select_engine/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_get_window_property/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.context/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_exec/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_first/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.insstr/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.quote_next/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_renameworkspace/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.is_shaded/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_list/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_activity/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.farthest/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.create_ws/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.finish/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.bskip_word/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.mark/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.switch_prev/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.unsplit_at/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.dec_index/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.current/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:hookref/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:config/;
+$ref_files{$key} = "$dir".q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.kpress/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_mapped/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.is_fullscreen/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_prev_screen/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.transpose_words/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:ioncoreref/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defbindings/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WWindow.p_resize/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WComplProxy.set_completions/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.shutdown/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getbindings/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:styles/;
+$ref_files{$key} = "$dir".q|node5.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.get_stdisp/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defmenu/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set_get_winprop_fn/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:borders/;
+$ref_files{$key} = "$dir".q|node5.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.navi_next/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.reset/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_get/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.lookup_script/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WScreen.id/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.set_mode/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.resize/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.select_nth/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.mode/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.warn_traced/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.select_next/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:modules/;
+$ref_files{$key} = "$dir".q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.tl/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.mkbottom/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defctxmenu/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set_selection/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInput.scrollup/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_name_exact/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.switch_nth/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.prev_completion/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.exec_on/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.menuentry/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.forward/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.menu/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.set/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_sp.set_shown/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.find_screen_id/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:bindings/;
+$ref_files{$key} = "$dir".q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInfoWin.set_text/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.snapshot/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_do_warp_alt/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.resign/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/clientwin_unmapped_hook/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.write_savefile/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/panews_make_placement_alt/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:exports/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:hooks/;
+$ref_files{$key} = "$dir".q|node6.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WWindow.xid/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.activity_list/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.get_ident/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:classhierarchy/;
+$ref_files{$key} = "$dir".q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_sp.set_shown_on/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.set_floating/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.history_prev/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:binddef/;
+$ref_files{$key} = "$dir".q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_to_eol/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_editfile/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:gr.read_config/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split_at/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.p_tabdrag/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.screen_of/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.switch_next/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.bottom/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_search/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.node_of/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRootWin.current_scr/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.navi_first/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_to_bol/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.load_module/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:menuref/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:menudisp/;
+$ref_files{$key} = "$dir".q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.maximize_vert/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitInner.current/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.attach/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_tagged/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/app:fullhierarchy/;
+$ref_files{$key} = "$dir".q|node9.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/frame_managed_changed_hook/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:tricks/;
+$ref_files{$key} = "$dir".q|node6.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get_savefile/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_push/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.get/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.lookup_clientwin/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.restart/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_set_text_property/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:winprops/;
+$ref_files{$key} = "$dir".q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.parent/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getctxmenu/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_inactivated_hook/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.maximize_horiz/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WWindow.p_move/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:objects/;
+$ref_files{$key} = "$dir".q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WScreen.set_managed_offset/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.set/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get_dir_for/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.point/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.select_prev/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_next/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:engines/;
+$ref_files{$key} = "$dir".q|node5.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.pmenu/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_dock.set_floating_shown_on/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_ssh/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_get_atom_name/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_workspace/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.typeahead_clear/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.copy/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.rqgeom/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.tags_first/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.set_mark/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/screen_managed_changed_hook/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_count/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.attach/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:managership/;
+$ref_files{$key} = "$dir".q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_menu/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.move/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.get/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.flip_at/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.lookup_region/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defshortening/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.refresh_stylelist/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.show_about_ion/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.inc_index/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_delete_property/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqclose/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_activity/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_runfile/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.set_context/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.show_tree/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.contents/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.exec/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.region_list/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_current/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.message/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.compile_cmd/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:deref/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.bol/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.submenu/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.attach_tagged/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.br/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.managed_list/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:string.shell_safe/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_restart/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.managed_list/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.set/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.backspace/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.defstyle/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroupWS.attach_framed/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:dockref/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.set_floating_at/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.warn/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.current/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqclose_propagate/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.clear_mark/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/tiling_placement_alt/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.warn/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.begin_kbresize/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:classesrolesinstances/;
+$ref_files{$key} = "$dir".q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_tagged/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.next_completion/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.set_hidden/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.cancel/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.nudge/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_nth_screen/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/clientwin_mapped_hook/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.set_fullscreen/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.paste/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.xid/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.name/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_get_text_property/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_attachclient/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.append/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mclick/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.set_index/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_clear/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.p_switch_tab/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_intern_atom/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.finish/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_gotoclient/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_deinit_hook/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.geom/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_previous/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.find_manager/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get_paths/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:walkthrough/;
+$ref_files{$key} = "$dir".q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.set_numbers/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.cancel/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.submap/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_active/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.bkill_word/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.attach_new/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.attach/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mdblclick/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.flip/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split_top/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_activity_hook/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.progname/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.popen_completions/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defwinprop/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.popen_bgread/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mdrag/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.kill/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.transpose/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_snapshot_hook/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.clear_tags/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.map/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.dir/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.set_shaded/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.set_stdisp/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.manager/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_change_property/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInput.cancel/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.parent/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.finish/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.back/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.TR/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:menus/;
+$ref_files{$key} = "$dir".q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_renameframe/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.geom/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.kpress_wait/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/clientwin_do_manage_alt/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rootwin_of/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.transpose_at/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_sigchld_hook/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.match_winprop_name/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.nextto/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.get/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.substyle/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.copy/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.is_histcompl/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getmenu/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.is_i18n/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:gr.refresh/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqorder/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.grabmenu/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitRegion.reg/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.size_hints/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.delete/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getwinprop/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.tagged_list/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.request_selection/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_man/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.cut/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.goto/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_next_screen/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set_paths/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:conffiles/;
+$ref_files{$key} = "$dir".q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.clientwin_list/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.aboutmsg/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:prelim/;
+$ref_files{$key} = "$dir".q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.managed_list/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:parentship/;
+$ref_files{$key} = "$dir".q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.read_savefile/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.restart_other/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_activity/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqgeom/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInput.scrolldown/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_activated_hook/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_table/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:defaultde/;
+$ref_files{$key} = "$dir".q|node5.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mpress/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:tilingref/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.detach/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_name/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.join/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.activity_first/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:spref/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.is_hidden/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.get/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_yesno/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.history_next/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.eol/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.defcmd/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.bdoc/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.chdir_for/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_lua/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:export/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:gr/;
+$ref_files{$key} = "$dir".q|node5.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.set/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_word/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.defstyle_rootwin/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_post_layout_setup_hook/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.icat/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_line/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.resize/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_shutdown/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.get_index/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.skip_word/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.complete/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.attach_new/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.transpose_chars/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split_tree/;
+$ref_files{$key} = "$dir".q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+1;
+
diff --git a/ionconf/ionconf.css b/ionconf/ionconf.css
new file mode 100644 (file)
index 0000000..f0cd026
--- /dev/null
@@ -0,0 +1,38 @@
+/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
+.MATH    { font-family: "Century Schoolbook", serif; }
+.MATH I  { font-family: "Century Schoolbook", serif; font-style: italic }
+.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
+
+/* implement both fixed-size and relative sizes */
+SMALL.XTINY            { font-size : xx-small }
+SMALL.TINY             { font-size : x-small  }
+SMALL.SCRIPTSIZE       { font-size : smaller  }
+SMALL.FOOTNOTESIZE     { font-size : small    }
+SMALL.SMALL            {  }
+BIG.LARGE              {  }
+BIG.XLARGE             { font-size : large    }
+BIG.XXLARGE            { font-size : x-large  }
+BIG.HUGE               { font-size : larger   }
+BIG.XHUGE              { font-size : xx-large }
+
+/* heading styles */
+H1             {  }
+H2             {  }
+H3             {  }
+H4             {  }
+H5             {  }
+
+/* mathematics styles */
+DIV.displaymath                { }     /* math displays */
+TD.eqno                        { }     /* equation-number cells */
+
+
+/* document-specific styles come next */
+DIV.navigation         {   }
+DIV.center             {   }
+SPAN.sc                {   }
+DIV.quote              {   }
+PRE.preform            {   }
+SPAN.textit            { font-style: italic  }
+SPAN.arabic            {   }
+SPAN.textbf            { font-weight: bold  }
diff --git a/ionconf/ionconf.html b/ionconf/ionconf.html
new file mode 100644 (file)
index 0000000..7a0a20d
--- /dev/null
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
+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>Configuring and extending Ion3 with Lua</TITLE>
+<META NAME="description" CONTENT="Configuring and extending Ion3 with Lua">
+<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-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="ionconf.css">
+
+<LINK REL="next" HREF="node1.html">
+</HEAD>
+
+<BODY >
+
+<DIV CLASS="navigation"><!--Navigation Panel-->
+<A NAME="tex2html19"
+  HREF="node1.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
+<A NAME="tex2html13"
+  HREF="http://iki.fi/tuomov/ion/">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev_g.png"> 
+<A NAME="tex2html15"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
+<A NAME="tex2html17"
+  HREF="node11.html">
+<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
+<BR>
+<B> Next:</B> <A NAME="tex2html20"
+  HREF="node1.html">Contents</A>
+<B> Up:</B> <A NAME="tex2html14"
+  HREF="http://iki.fi/tuomov/ion/">Ion homepage</A>
+ &nbsp; <B>  <A NAME="tex2html16"
+  HREF="node1.html">Contents</A></B> 
+ &nbsp; <B>  <A NAME="tex2html18"
+  HREF="node11.html">Index</A></B> 
+<BR>
+<BR></DIV>
+<!--End of Navigation Panel-->
+
+<P>
+<H1 ALIGN="CENTER">Configuring and extending Ion3 with Lua</H1>
+<DIV CLASS="author_info">
+
+<P ALIGN="CENTER"><STRONG>Tuomo Valkonen</STRONG></P>
+<P ALIGN="CENTER"><I>tuomov at iki.fi</I></P>
+<P ALIGN="CENTER"><STRONG>2006-12-23</STRONG></P>
+</DIV>
+
+<P>
+Configuring and extending Ion3 with Lua
+<BR>
+Copyright &#169;  2003-2005 Tuomo Valkonen.
+
+<P>
+This document is free; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+<P>
+This document is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+chapter entitled ''GNU General Public License'' for more details.
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"></A>
+
+<UL CLASS="ChildLinks">
+<LI><A NAME="tex2html21"
+  HREF="node1.html">Contents</A>
+<LI><A NAME="tex2html22"
+  HREF="node2.html"><SPAN CLASS="arabic">1</SPAN>. Introduction</A>
+<LI><A NAME="tex2html23"
+  HREF="node3.html"><SPAN CLASS="arabic">2</SPAN>. Preliminaries: Key concepts and relations</A>
+<UL>
+<LI><A NAME="tex2html24"
+  HREF="node3.html#SECTION00310000000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> Modules</A>
+<LI><A NAME="tex2html25"
+  HREF="node3.html#SECTION00320000000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> Class and object hierarchies</A>
+<UL>
+<LI><A NAME="tex2html26"
+  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="tex2html27"
+  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="tex2html28"
+  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="tex2html29"
+  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="tex2html30"
+  HREF="node3.html#SECTION00323000000000000000"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">3</SPAN> Summary</A>
+</UL>
+</UL>
+<BR>
+<LI><A NAME="tex2html31"
+  HREF="node4.html"><SPAN CLASS="arabic">3</SPAN>. Basic configuration</A>
+<UL>
+<LI><A NAME="tex2html32"
+  HREF="node4.html#SECTION00410000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> The configuration files</A>
+<LI><A NAME="tex2html33"
+  HREF="node4.html#SECTION00420000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> A walk through <SPAN  CLASS="textit">cfg_ion.lua</SPAN></A>
+<LI><A NAME="tex2html34"
+  HREF="node4.html#SECTION00430000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> Keys and rodents</A>
+<UL>
+<LI><A NAME="tex2html35"
+  HREF="node4.html#SECTION00431000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> Binding handlers and special variables</A>
+<LI><A NAME="tex2html36"
+  HREF="node4.html#SECTION00432000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> Guards</A>
+<LI><A NAME="tex2html37"
+  HREF="node4.html#SECTION00433000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> Defining the bindings</A>
+<LI><A NAME="tex2html38"
+  HREF="node4.html#SECTION00434000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN> Examples</A>
+<LI><A NAME="tex2html39"
+  HREF="node4.html#SECTION00435000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN> Key specifications</A>
+<LI><A NAME="tex2html40"
+  HREF="node4.html#SECTION00436000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">6</SPAN> Button specifications</A>
+<LI><A NAME="tex2html41"
+  HREF="node4.html#SECTION00437000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">7</SPAN> A further note on the default binding configuration</A>
+</UL>
+<LI><A NAME="tex2html42"
+  HREF="node4.html#SECTION00440000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN> Menus</A>
+<UL>
+<LI><A NAME="tex2html43"
+  HREF="node4.html#SECTION00441000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN> Defining menus</A>
+<LI><A NAME="tex2html44"
+  HREF="node4.html#SECTION00442000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN> Special menus</A>
+<LI><A NAME="tex2html45"
+  HREF="node4.html#SECTION00443000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">3</SPAN> Defining context menus</A>
+<LI><A NAME="tex2html46"
+  HREF="node4.html#SECTION00444000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">4</SPAN> Displaying menus</A>
+</UL>
+<LI><A NAME="tex2html47"
+  HREF="node4.html#SECTION00450000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN> Winprops</A>
+<UL>
+<LI><A NAME="tex2html48"
+  HREF="node4.html#SECTION00451000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN> Classes, roles and instances</A>
+<LI><A NAME="tex2html49"
+  HREF="node4.html#SECTION00452000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN> Finding window identification</A>
+<LI><A NAME="tex2html50"
+  HREF="node4.html#SECTION00453000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN> Some common examples</A>
+<UL>
+<LI><A NAME="tex2html51"
+  HREF="node4.html#SECTION00453100000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> Acrobat Reader</A>
+<LI><A NAME="tex2html52"
+  HREF="node4.html#SECTION00453200000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> Fixing a Mozilla Firebird transient</A>
+<LI><A NAME="tex2html53"
+  HREF="node4.html#SECTION00453300000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> Forcing newly created windows in named frames</A>
+</UL>
+</UL>
+</UL>
+<BR>
+<LI><A NAME="tex2html54"
+  HREF="node5.html"><SPAN CLASS="arabic">4</SPAN>. Graphical styles</A>
+<UL>
+<LI><A NAME="tex2html55"
+  HREF="node5.html#SECTION00510000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN> Drawing engines, style specifications and sub-styles</A>
+<UL>
+<LI><A NAME="tex2html56"
+  HREF="node5.html#SECTION00511000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN> Known styles and substyles</A>
+<UL>
+<LI><A NAME="tex2html57"
+  HREF="node5.html#SECTION00511100000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN> Frames</A>
+<LI><A NAME="tex2html58"
+  HREF="node5.html#SECTION00511200000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">2</SPAN> Tabs and menu entries</A>
+<LI><A NAME="tex2html59"
+  HREF="node5.html#SECTION00511300000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">3</SPAN> The rest</A>
+</UL>
+</UL>
+<LI><A NAME="tex2html60"
+  HREF="node5.html#SECTION00520000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN> Defining styles for the default drawing engine</A>
+<UL>
+<LI><A NAME="tex2html61"
+  HREF="node5.html#SECTION00521000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> The structure of the configuration files</A>
+<LI><A NAME="tex2html62"
+  HREF="node5.html#SECTION00522000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> Defining the styles</A>
+<UL>
+<LI><A NAME="tex2html63"
+  HREF="node5.html#SECTION00522100000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> Colours</A>
+<LI><A NAME="tex2html64"
+  HREF="node5.html#SECTION00522200000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> Borders and widths</A>
+<LI><A NAME="tex2html65"
+  HREF="node5.html#SECTION00522300000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">3</SPAN> Text</A>
+<LI><A NAME="tex2html66"
+  HREF="node5.html#SECTION00522400000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">4</SPAN> Miscellaneous</A>
+<LI><A NAME="tex2html67"
+  HREF="node5.html#SECTION00522500000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">5</SPAN> Substyles</A>
+</UL>
+<LI><A NAME="tex2html68"
+  HREF="node5.html#SECTION00523000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">3</SPAN> An example</A>
+</UL>
+<LI><A NAME="tex2html69"
+  HREF="node5.html#SECTION00530000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">3</SPAN> Miscellaneous settings</A>
+<UL>
+<LI><A NAME="tex2html70"
+  HREF="node5.html#SECTION00531000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> Extra fields for style <TT>frame</TT></A>
+<LI><A NAME="tex2html71"
+  HREF="node5.html#SECTION00532000000000000000"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> Extra fields for style <TT>dock</TT></A>
+</UL>
+</UL>
+<BR>
+<LI><A NAME="tex2html72"
+  HREF="node6.html"><SPAN CLASS="arabic">5</SPAN>. Scripting</A>
+<UL>
+<LI><A NAME="tex2html73"
+  HREF="node6.html#SECTION00610000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN> Hooks</A>
+<LI><A NAME="tex2html74"
+  HREF="node6.html#SECTION00620000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN> Referring to regions</A>
+<UL>
+<LI><A NAME="tex2html75"
+  HREF="node6.html#SECTION00621000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> Direct object references</A>
+<LI><A NAME="tex2html76"
+  HREF="node6.html#SECTION00622000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> Name-based lookups</A>
+</UL>
+<LI><A NAME="tex2html77"
+  HREF="node6.html#SECTION00630000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN> Alternative winprop selection criteria</A>
+<LI><A NAME="tex2html78"
+  HREF="node6.html#SECTION00640000000000000000"><SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">4</SPAN> Writing <TT>ion-statusd</TT> monitors</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html79"
+  HREF="node7.html"><SPAN CLASS="arabic">6</SPAN>. Function reference</A>
+<UL>
+<LI><A NAME="tex2html80"
+  HREF="node7.html#SECTION00710000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN> Functions defined in <SPAN  CLASS="textit">ioncore</SPAN></A>
+<UL>
+<LI><A NAME="tex2html81"
+  HREF="node7.html#SECTION00711000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN> WClientWin functions</A>
+<LI><A NAME="tex2html82"
+  HREF="node7.html#SECTION00712000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">2</SPAN> WFrame functions</A>
+<LI><A NAME="tex2html83"
+  HREF="node7.html#SECTION00713000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">3</SPAN> WGroup functions</A>
+<LI><A NAME="tex2html84"
+  HREF="node7.html#SECTION00714000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">4</SPAN> WGroupCW functions</A>
+<LI><A NAME="tex2html85"
+  HREF="node7.html#SECTION00715000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">5</SPAN> WGroupWS functions</A>
+<LI><A NAME="tex2html86"
+  HREF="node7.html#SECTION00716000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">6</SPAN> WInfoWin functions</A>
+<LI><A NAME="tex2html87"
+  HREF="node7.html#SECTION00717000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">7</SPAN> WMPlex functions</A>
+<LI><A NAME="tex2html88"
+  HREF="node7.html#SECTION00718000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">8</SPAN> WMoveresMode functions</A>
+<LI><A NAME="tex2html89"
+  HREF="node7.html#SECTION00719000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">9</SPAN> WRegion functions</A>
+<LI><A NAME="tex2html90"
+  HREF="node7.html#SECTION007110000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">10</SPAN> WRootWin functions</A>
+<LI><A NAME="tex2html91"
+  HREF="node7.html#SECTION007111000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">11</SPAN> WScreen functions</A>
+<LI><A NAME="tex2html92"
+  HREF="node7.html#SECTION007112000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">12</SPAN> WWindow functions</A>
+<LI><A NAME="tex2html93"
+  HREF="node7.html#SECTION007113000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">13</SPAN> global functions</A>
+<LI><A NAME="tex2html94"
+  HREF="node7.html#SECTION007114000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">14</SPAN> gr functions</A>
+<LI><A NAME="tex2html95"
+  HREF="node7.html#SECTION007115000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">15</SPAN> string functions</A>
+<LI><A NAME="tex2html96"
+  HREF="node7.html#SECTION007116000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">16</SPAN> table functions</A>
+</UL>
+<LI><A NAME="tex2html97"
+  HREF="node7.html#SECTION00720000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN> Functions defined in <SPAN  CLASS="textit">mod_tiling</SPAN></A>
+<UL>
+<LI><A NAME="tex2html98"
+  HREF="node7.html#SECTION00721000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> WSplit functions</A>
+<LI><A NAME="tex2html99"
+  HREF="node7.html#SECTION00722000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> WSplitInner functions</A>
+<LI><A NAME="tex2html100"
+  HREF="node7.html#SECTION00723000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">3</SPAN> WSplitRegion functions</A>
+<LI><A NAME="tex2html101"
+  HREF="node7.html#SECTION00724000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">4</SPAN> WSplitSplit functions</A>
+<LI><A NAME="tex2html102"
+  HREF="node7.html#SECTION00725000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">5</SPAN> WTiling functions</A>
+</UL>
+<LI><A NAME="tex2html103"
+  HREF="node7.html#SECTION00730000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN> Functions defined in <SPAN  CLASS="textit">mod_query</SPAN></A>
+<UL>
+<LI><A NAME="tex2html104"
+  HREF="node7.html#SECTION00731000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> WComplProxy functions</A>
+<LI><A NAME="tex2html105"
+  HREF="node7.html#SECTION00732000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> WEdln functions</A>
+<LI><A NAME="tex2html106"
+  HREF="node7.html#SECTION00733000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> WInput functions</A>
+</UL>
+<LI><A NAME="tex2html107"
+  HREF="node7.html#SECTION00740000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN> Functions defined in <SPAN  CLASS="textit">mod_menu</SPAN></A>
+<UL>
+<LI><A NAME="tex2html108"
+  HREF="node7.html#SECTION00741000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN> WMenu functions</A>
+</UL>
+<LI><A NAME="tex2html109"
+  HREF="node7.html#SECTION00750000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">5</SPAN> Functions defined in <SPAN  CLASS="textit">mod_dock</SPAN></A>
+<UL>
+<LI><A NAME="tex2html110"
+  HREF="node7.html#SECTION00751000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN> WDock functions</A>
+</UL>
+<LI><A NAME="tex2html111"
+  HREF="node7.html#SECTION00760000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">6</SPAN> Functions defined in <SPAN  CLASS="textit">mod_sp</SPAN></A>
+<LI><A NAME="tex2html112"
+  HREF="node7.html#SECTION00770000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">7</SPAN> Functions defined in <SPAN  CLASS="textit">de</SPAN></A>
+<LI><A NAME="tex2html113"
+  HREF="node7.html#SECTION00780000000000000000"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">8</SPAN> Hooks</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html114"
+  HREF="node8.html">A. The GNU General Public License</A>
+<UL>
+<LI><A NAME="tex2html115"
+  HREF="node8.html#SECTION00810000000000000000">Appendix: How to Apply These Terms to Your New Programs</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html116"
+  HREF="node9.html">B. Full class hierarchy visible to Lua-side</A>
+<LI><A NAME="tex2html117"
+  HREF="node10.html">List of functions</A>
+<LI><A NAME="tex2html118"
+  HREF="node11.html">Index</A>
+<LI><A NAME="tex2html119"
+  HREF="node12.html">About this document ...</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
diff --git a/ionconf/labels.pl b/ionconf/labels.pl
new file mode 100644 (file)
index 0000000..cbfa297
--- /dev/null
@@ -0,0 +1,2613 @@
+# LaTeX2HTML 2002-2-1 (1.71)
+# Associate labels original text with physical files.
+
+
+$key = q/sec:queryref/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.version/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_nth/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:gr.select_engine/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_get_window_property/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.context/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_exec/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_first/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.insstr/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.quote_next/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_renameworkspace/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.is_shaded/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_list/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_activity/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.farthest/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.create_ws/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.finish/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.bskip_word/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.mark/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.switch_prev/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.unsplit_at/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.dec_index/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.current/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:hookref/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:config/;
+$external_labels{$key} = "$URL/" . q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.kpress/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_mapped/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.is_fullscreen/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_prev_screen/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.transpose_words/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:ioncoreref/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defbindings/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WWindow.p_resize/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WComplProxy.set_completions/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.shutdown/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getbindings/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:styles/;
+$external_labels{$key} = "$URL/" . q|node5.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.get_stdisp/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defmenu/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set_get_winprop_fn/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:borders/;
+$external_labels{$key} = "$URL/" . q|node5.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.navi_next/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.reset/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_get/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.lookup_script/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WScreen.id/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.set_mode/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.resize/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.select_nth/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.mode/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.warn_traced/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.select_next/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:modules/;
+$external_labels{$key} = "$URL/" . q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.tl/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.mkbottom/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defctxmenu/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set_selection/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInput.scrollup/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_name_exact/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.switch_nth/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.prev_completion/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.exec_on/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.menuentry/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.forward/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.menu/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.set/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_sp.set_shown/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.find_screen_id/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:bindings/;
+$external_labels{$key} = "$URL/" . q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInfoWin.set_text/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.snapshot/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_do_warp_alt/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.resign/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/clientwin_unmapped_hook/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.write_savefile/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/panews_make_placement_alt/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:exports/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:hooks/;
+$external_labels{$key} = "$URL/" . q|node6.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WWindow.xid/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.activity_list/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.get_ident/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:classhierarchy/;
+$external_labels{$key} = "$URL/" . q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_sp.set_shown_on/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.set_floating/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.history_prev/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:binddef/;
+$external_labels{$key} = "$URL/" . q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_to_eol/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_editfile/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:gr.read_config/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split_at/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.p_tabdrag/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.screen_of/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.switch_next/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.bottom/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_search/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.node_of/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRootWin.current_scr/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.navi_first/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_to_bol/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.load_module/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:menuref/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:menudisp/;
+$external_labels{$key} = "$URL/" . q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.maximize_vert/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitInner.current/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.attach/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_tagged/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/app:fullhierarchy/;
+$external_labels{$key} = "$URL/" . q|node9.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/frame_managed_changed_hook/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:tricks/;
+$external_labels{$key} = "$URL/" . q|node6.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get_savefile/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_push/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.get/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.lookup_clientwin/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.restart/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_set_text_property/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:winprops/;
+$external_labels{$key} = "$URL/" . q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.parent/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getctxmenu/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_inactivated_hook/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.maximize_horiz/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WWindow.p_move/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:objects/;
+$external_labels{$key} = "$URL/" . q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WScreen.set_managed_offset/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.set/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get_dir_for/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.point/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.select_prev/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_next/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:engines/;
+$external_labels{$key} = "$URL/" . q|node5.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.pmenu/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_dock.set_floating_shown_on/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_ssh/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_get_atom_name/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_workspace/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.typeahead_clear/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.copy/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.rqgeom/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.tags_first/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.set_mark/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/screen_managed_changed_hook/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_count/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.attach/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:managership/;
+$external_labels{$key} = "$URL/" . q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_menu/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.move/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.get/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.flip_at/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.lookup_region/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defshortening/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.refresh_stylelist/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.show_about_ion/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.inc_index/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_delete_property/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqclose/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_activity/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_runfile/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.set_context/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.show_tree/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.contents/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.exec/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.region_list/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_current/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.message/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.compile_cmd/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:deref/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.bol/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.submenu/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.attach_tagged/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.br/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.managed_list/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:string.shell_safe/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_restart/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.managed_list/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.set/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.backspace/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.defstyle/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroupWS.attach_framed/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:dockref/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.set_floating_at/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.warn/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.current/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqclose_propagate/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.clear_mark/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/tiling_placement_alt/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.warn/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.begin_kbresize/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:classesrolesinstances/;
+$external_labels{$key} = "$URL/" . q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_tagged/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.next_completion/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.set_hidden/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.cancel/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.nudge/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_nth_screen/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/clientwin_mapped_hook/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.set_fullscreen/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.paste/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.xid/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.name/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_get_text_property/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_attachclient/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.append/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mclick/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.set_index/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_clear/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.p_switch_tab/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_intern_atom/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.finish/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_gotoclient/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_deinit_hook/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.geom/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_previous/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.find_manager/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get_paths/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:walkthrough/;
+$external_labels{$key} = "$URL/" . q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.set_numbers/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.cancel/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.submap/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_active/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.bkill_word/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.attach_new/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.attach/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mdblclick/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.flip/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split_top/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_activity_hook/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.progname/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.popen_completions/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defwinprop/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.popen_bgread/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mdrag/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.kill/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.transpose/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_snapshot_hook/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.clear_tags/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.map/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.dir/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.set_shaded/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.set_stdisp/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.manager/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_change_property/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInput.cancel/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.parent/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.finish/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.back/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.TR/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:menus/;
+$external_labels{$key} = "$URL/" . q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_renameframe/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.geom/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.kpress_wait/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/clientwin_do_manage_alt/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rootwin_of/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.transpose_at/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_sigchld_hook/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.match_winprop_name/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.nextto/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.get/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.substyle/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.copy/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.is_histcompl/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getmenu/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.is_i18n/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:gr.refresh/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqorder/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.grabmenu/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitRegion.reg/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.size_hints/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.delete/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getwinprop/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.tagged_list/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.request_selection/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_man/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.cut/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.goto/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_next_screen/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set_paths/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:conffiles/;
+$external_labels{$key} = "$URL/" . q|node4.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.clientwin_list/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.aboutmsg/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:prelim/;
+$external_labels{$key} = "$URL/" . q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.managed_list/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:parentship/;
+$external_labels{$key} = "$URL/" . q|node3.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.read_savefile/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.restart_other/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_activity/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqgeom/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInput.scrolldown/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_activated_hook/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_table/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:defaultde/;
+$external_labels{$key} = "$URL/" . q|node5.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mpress/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:tilingref/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.detach/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_name/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.join/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.activity_first/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:spref/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.is_hidden/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.get/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_yesno/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.history_next/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.eol/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.defcmd/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.bdoc/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.chdir_for/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_lua/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:export/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:gr/;
+$external_labels{$key} = "$URL/" . q|node5.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.set/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_word/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.defstyle_rootwin/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_post_layout_setup_hook/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.icat/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_line/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.resize/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_shutdown/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.get_index/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.skip_word/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.complete/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.attach_new/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.transpose_chars/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split_tree/;
+$external_labels{$key} = "$URL/" . q|node7.html|; 
+$noresave{$key} = "$nosave";
+
+1;
+
+
+# LaTeX2HTML 2002-2-1 (1.71)
+# labels from external_latex_labels array.
+
+
+$key = q/sec:queryref/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.version/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_nth/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:gr.select_engine/;
+$external_latex_labels{$key} = q|6.1.14|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_get_window_property/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.context/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_exec/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_first/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.insstr/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.quote_next/;
+$external_latex_labels{$key} = q|6.1.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_renameworkspace/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.is_shaded/;
+$external_latex_labels{$key} = q|6.1.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_list/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_activity/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.farthest/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.create_ws/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.finish/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.bskip_word/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.mark/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.switch_prev/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.unsplit_at/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.dec_index/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.current/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:hookref/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:config/;
+$external_latex_labels{$key} = q|3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.kpress/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_mapped/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.is_fullscreen/;
+$external_latex_labels{$key} = q|6.1.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_prev_screen/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.transpose_words/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:ioncoreref/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defbindings/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WWindow.p_resize/;
+$external_latex_labels{$key} = q|6.1.12|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WComplProxy.set_completions/;
+$external_latex_labels{$key} = q|6.3.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.shutdown/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getbindings/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:styles/;
+$external_latex_labels{$key} = q|4.1.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.get_stdisp/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defmenu/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set_get_winprop_fn/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:borders/;
+$external_latex_labels{$key} = q|4.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.navi_next/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.reset/;
+$external_latex_labels{$key} = q|6.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_get/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.lookup_script/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WScreen.id/;
+$external_latex_labels{$key} = q|6.1.11|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.set_mode/;
+$external_latex_labels{$key} = q|6.1.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.resize/;
+$external_latex_labels{$key} = q|6.1.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.select_nth/;
+$external_latex_labels{$key} = q|6.4.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.mode/;
+$external_latex_labels{$key} = q|6.1.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.warn_traced/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.select_next/;
+$external_latex_labels{$key} = q|6.4.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:modules/;
+$external_latex_labels{$key} = q|2.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.tl/;
+$external_latex_labels{$key} = q|6.2.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.mkbottom/;
+$external_latex_labels{$key} = q|6.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defctxmenu/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set_selection/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInput.scrollup/;
+$external_latex_labels{$key} = q|6.3.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_name_exact/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.switch_nth/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.prev_completion/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.exec_on/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.menuentry/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.forward/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.menu/;
+$external_latex_labels{$key} = q|6.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.set/;
+$external_latex_labels{$key} = q|6.5.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_sp.set_shown/;
+$external_latex_labels{$key} = q|6.6|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.find_screen_id/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:bindings/;
+$external_latex_labels{$key} = q|3.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInfoWin.set_text/;
+$external_latex_labels{$key} = q|6.1.6|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.snapshot/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_do_warp_alt/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.resign/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/clientwin_unmapped_hook/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.write_savefile/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/panews_make_placement_alt/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:exports/;
+$external_latex_labels{$key} = q|6|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:hooks/;
+$external_latex_labels{$key} = q|5.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WWindow.xid/;
+$external_latex_labels{$key} = q|6.1.12|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.activity_list/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.get_ident/;
+$external_latex_labels{$key} = q|6.1.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:classhierarchy/;
+$external_latex_labels{$key} = q|2.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_sp.set_shown_on/;
+$external_latex_labels{$key} = q|6.6|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.set_floating/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.history_prev/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:binddef/;
+$external_latex_labels{$key} = q|3.3.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_to_eol/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_editfile/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:gr.read_config/;
+$external_latex_labels{$key} = q|6.1.14|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split_at/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.p_tabdrag/;
+$external_latex_labels{$key} = q|6.1.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.screen_of/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.switch_next/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.bottom/;
+$external_latex_labels{$key} = q|6.1.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_search/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.node_of/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRootWin.current_scr/;
+$external_latex_labels{$key} = q|6.1.10|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.navi_first/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_to_bol/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.load_module/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:menuref/;
+$external_latex_labels{$key} = q|6.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:menudisp/;
+$external_latex_labels{$key} = q|3.4.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.maximize_vert/;
+$external_latex_labels{$key} = q|6.1.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitInner.current/;
+$external_latex_labels{$key} = q|6.2.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.attach/;
+$external_latex_labels{$key} = q|6.5.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_tagged/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/app:fullhierarchy/;
+$external_latex_labels{$key} = q|B|; 
+$noresave{$key} = "$nosave";
+
+$key = q/frame_managed_changed_hook/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:tricks/;
+$external_latex_labels{$key} = q|5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get_savefile/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_push/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.get/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.lookup_clientwin/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.restart/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_set_text_property/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:winprops/;
+$external_latex_labels{$key} = q|3.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.parent/;
+$external_latex_labels{$key} = q|6.2.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getctxmenu/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_inactivated_hook/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.maximize_horiz/;
+$external_latex_labels{$key} = q|6.1.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WWindow.p_move/;
+$external_latex_labels{$key} = q|6.1.12|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:objects/;
+$external_latex_labels{$key} = q|2.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WScreen.set_managed_offset/;
+$external_latex_labels{$key} = q|6.1.11|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.set/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get_dir_for/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.point/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.select_prev/;
+$external_latex_labels{$key} = q|6.4.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_next/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:engines/;
+$external_latex_labels{$key} = q|4.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.pmenu/;
+$external_latex_labels{$key} = q|6.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_dock.set_floating_shown_on/;
+$external_latex_labels{$key} = q|6.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_ssh/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_get_atom_name/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_workspace/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.typeahead_clear/;
+$external_latex_labels{$key} = q|6.4.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.copy/;
+$external_latex_labels{$key} = q|6.1.16|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.rqgeom/;
+$external_latex_labels{$key} = q|6.2.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.tags_first/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.set_mark/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/screen_managed_changed_hook/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_count/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.attach/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:managership/;
+$external_latex_labels{$key} = q|2.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_menu/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.move/;
+$external_latex_labels{$key} = q|6.1.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.get/;
+$external_latex_labels{$key} = q|6.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.flip_at/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.lookup_region/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defshortening/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.refresh_stylelist/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.show_about_ion/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.inc_index/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_delete_property/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqclose/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_activity/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_runfile/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.set_context/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.show_tree/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.contents/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.exec/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.region_list/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.mx_current/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.message/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.compile_cmd/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:deref/;
+$external_latex_labels{$key} = q|6.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.bol/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.submenu/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.attach_tagged/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.br/;
+$external_latex_labels{$key} = q|6.2.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.managed_list/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:string.shell_safe/;
+$external_latex_labels{$key} = q|6.1.15|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_restart/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.managed_list/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.set/;
+$external_latex_labels{$key} = q|6.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.backspace/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.defstyle/;
+$external_latex_labels{$key} = q|6.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroupWS.attach_framed/;
+$external_latex_labels{$key} = q|6.1.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:dockref/;
+$external_latex_labels{$key} = q|6.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.set_floating_at/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.warn/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.current/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqclose_propagate/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.clear_mark/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/tiling_placement_alt/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.warn/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.begin_kbresize/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:classesrolesinstances/;
+$external_latex_labels{$key} = q|3.5.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_tagged/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.next_completion/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.set_hidden/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.cancel/;
+$external_latex_labels{$key} = q|6.4.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.nudge/;
+$external_latex_labels{$key} = q|6.1.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_nth_screen/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/clientwin_mapped_hook/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.set_fullscreen/;
+$external_latex_labels{$key} = q|6.1.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.paste/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.xid/;
+$external_latex_labels{$key} = q|6.1.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.name/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_get_text_property/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_attachclient/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.append/;
+$external_latex_labels{$key} = q|6.1.16|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mclick/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.set_index/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_clear/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.p_switch_tab/;
+$external_latex_labels{$key} = q|6.1.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_intern_atom/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.finish/;
+$external_latex_labels{$key} = q|6.1.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_gotoclient/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_deinit_hook/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.geom/;
+$external_latex_labels{$key} = q|6.2.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_previous/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.find_manager/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.get_paths/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:walkthrough/;
+$external_latex_labels{$key} = q|3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.set_numbers/;
+$external_latex_labels{$key} = q|6.1.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMoveresMode.cancel/;
+$external_latex_labels{$key} = q|6.1.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.submap/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_active/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.bkill_word/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.attach_new/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.attach/;
+$external_latex_labels{$key} = q|6.1.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mdblclick/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.flip/;
+$external_latex_labels{$key} = q|6.2.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split_top/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_activity_hook/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.progname/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.popen_completions/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.defwinprop/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.popen_bgread/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mdrag/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WClientWin.kill/;
+$external_latex_labels{$key} = q|6.1.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplit.transpose/;
+$external_latex_labels{$key} = q|6.2.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_snapshot_hook/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.clear_tags/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.map/;
+$external_latex_labels{$key} = q|6.1.16|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitSplit.dir/;
+$external_latex_labels{$key} = q|6.2.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WFrame.set_shaded/;
+$external_latex_labels{$key} = q|6.1.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.set_stdisp/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.manager/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.x_change_property/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInput.cancel/;
+$external_latex_labels{$key} = q|6.3.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.parent/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMenu.finish/;
+$external_latex_labels{$key} = q|6.4.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.back/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.TR/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:menus/;
+$external_latex_labels{$key} = q|3.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_renameframe/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.geom/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.kpress_wait/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/clientwin_do_manage_alt/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rootwin_of/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.transpose_at/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_sigchld_hook/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.match_winprop_name/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.nextto/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.get/;
+$external_latex_labels{$key} = q|6.5.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.substyle/;
+$external_latex_labels{$key} = q|6.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.copy/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.is_histcompl/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getmenu/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.is_i18n/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:gr.refresh/;
+$external_latex_labels{$key} = q|6.1.14|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqorder/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.grabmenu/;
+$external_latex_labels{$key} = q|6.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WSplitRegion.reg/;
+$external_latex_labels{$key} = q|6.2.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.size_hints/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.delete/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.getwinprop/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.tagged_list/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.request_selection/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_man/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.cut/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.goto/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.goto_next_screen/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set_paths/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:conffiles/;
+$external_latex_labels{$key} = q|3.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.clientwin_list/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.aboutmsg/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:prelim/;
+$external_latex_labels{$key} = q|2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.managed_list/;
+$external_latex_labels{$key} = q|6.1.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fig:parentship/;
+$external_latex_labels{$key} = q|2.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.read_savefile/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.restart_other/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.is_activity/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.rqgeom/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WInput.scrolldown/;
+$external_latex_labels{$key} = q|6.3.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/region_activated_hook/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.history_table/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:defaultde/;
+$external_latex_labels{$key} = q|4.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.set/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.mpress/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:tilingref/;
+$external_latex_labels{$key} = q|6.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_tiling.detach/;
+$external_latex_labels{$key} = q|6.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WRegion.set_name/;
+$external_latex_labels{$key} = q|6.1.9|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.join/;
+$external_latex_labels{$key} = q|6.1.16|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.activity_first/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/sec:spref/;
+$external_latex_labels{$key} = q|6.6|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.is_hidden/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.get/;
+$external_latex_labels{$key} = q|6.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_yesno/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.history_next/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.eol/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.defcmd/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.bdoc/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:ioncore.chdir_for/;
+$external_latex_labels{$key} = q|6.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_lua/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:export/;
+$external_latex_labels{$key} = q|6.1.13|; 
+$noresave{$key} = "$nosave";
+
+$key = q/chap:gr/;
+$external_latex_labels{$key} = q|4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_menu.set/;
+$external_latex_labels{$key} = q|6.4|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_word/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:de.defstyle_rootwin/;
+$external_latex_labels{$key} = q|6.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/ioncore_post_layout_setup_hook/;
+$external_latex_labels{$key} = q|6.8|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:table.icat/;
+$external_latex_labels{$key} = q|6.1.16|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.kill_line/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WDock.resize/;
+$external_latex_labels{$key} = q|6.5.1|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:mod_query.query_shutdown/;
+$external_latex_labels{$key} = q|6.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WMPlex.get_index/;
+$external_latex_labels{$key} = q|6.1.7|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.skip_word/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.complete/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WGroup.attach_new/;
+$external_latex_labels{$key} = q|6.1.3|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WEdln.transpose_chars/;
+$external_latex_labels{$key} = q|6.3.2|; 
+$noresave{$key} = "$nosave";
+
+$key = q/fn:WTiling.split_tree/;
+$external_latex_labels{$key} = q|6.2.5|; 
+$noresave{$key} = "$nosave";
+
+1;
+
diff --git a/ionconf/next.png b/ionconf/next.png
new file mode 100644 (file)
index 0000000..1628652
Binary files /dev/null and b/ionconf/next.png differ
diff --git a/ionconf/next_g.png b/ionconf/next_g.png
new file mode 100644 (file)
index 0000000..9d3f591
Binary files /dev/null and b/ionconf/next_g.png differ
diff --git a/ionconf/node1.html b/ionconf/node1.html
new file mode 100644 (file)
index 0000000..ee25b4d
--- /dev/null
@@ -0,0 +1,276 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
+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>Contents</TITLE>
+<META NAME="description" CONTENT="Contents">
+<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-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="ionconf.css">
+
+<LINK REL="next" HREF="node2.html">
+<LINK REL="previous" HREF="ionconf.html">
+<LINK REL="up" HREF="ionconf.html">
+<LINK REL="next" HREF="node2.html">
+</HEAD>
+
+<BODY >
+
+<DIV CLASS="navigation"><!--Navigation Panel-->
+<A NAME="tex2html130"
+  HREF="node2.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
+<A NAME="tex2html126"
+  HREF="ionconf.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
+<A NAME="tex2html120"
+  HREF="ionconf.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>  
+<A NAME="tex2html128"
+  HREF="node11.html">
+<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
+<BR>
+<B> Next:</B> <A NAME="tex2html131"
+  HREF="node2.html">1. Introduction</A>
+<B> Up:</B> <A NAME="tex2html127"
+  HREF="ionconf.html">Configuring and extending Ion3</A>
+<B> Previous:</B> <A NAME="tex2html121"
+  HREF="ionconf.html">Configuring and extending Ion3</A>
+ &nbsp; <B>  <A NAME="tex2html129"
+  HREF="node11.html">Index</A></B> 
+<BR>
+<BR></DIV>
+<!--End of Navigation Panel-->
+<BR>
+
+<H2><A NAME="SECTION00100000000000000000">
+Contents</A>
+</H2>
+<!--Table of Contents-->
+
+<UL CLASS="TofC">
+<LI><A NAME="tex2html132"
+  HREF="node2.html">1. Introduction</A>
+<LI><A NAME="tex2html133"
+  HREF="node3.html">2. Preliminaries: Key concepts and relations</A>
+<UL>
+<LI><A NAME="tex2html134"
+  HREF="node3.html#SECTION00310000000000000000">2.1 Modules</A>
+<LI><A NAME="tex2html135"
+  HREF="node3.html#SECTION00320000000000000000">2.2 Class and object hierarchies</A>
+<UL>
+<LI><A NAME="tex2html136"
+  HREF="node3.html#SECTION00321000000000000000">2.2.1 Class hierarchy</A>
+<LI><A NAME="tex2html137"
+  HREF="node3.html#SECTION00322000000000000000">2.2.2 Object hierarchies: WRegion parents and managers</A>
+<LI><A NAME="tex2html138"
+  HREF="node3.html#SECTION00323000000000000000">2.2.3 Summary</A>
+</UL>
+</UL>
+<BR>
+<LI><A NAME="tex2html139"
+  HREF="node4.html">3. Basic configuration</A>
+<UL>
+<LI><A NAME="tex2html140"
+  HREF="node4.html#SECTION00410000000000000000">3.1 The configuration files</A>
+<LI><A NAME="tex2html141"
+  HREF="node4.html#SECTION00420000000000000000">3.2 A walk through cfg_ion.lua</A>
+<LI><A NAME="tex2html142"
+  HREF="node4.html#SECTION00430000000000000000">3.3 Keys and rodents</A>
+<UL>
+<LI><A NAME="tex2html143"
+  HREF="node4.html#SECTION00431000000000000000">3.3.1 Binding handlers and special variables</A>
+<LI><A NAME="tex2html144"
+  HREF="node4.html#SECTION00432000000000000000">3.3.2 Guards</A>
+<LI><A NAME="tex2html145"
+  HREF="node4.html#SECTION00433000000000000000">3.3.3 Defining the bindings</A>
+<LI><A NAME="tex2html146"
+  HREF="node4.html#SECTION00434000000000000000">3.3.4 Examples</A>
+<LI><A NAME="tex2html147"
+  HREF="node4.html#SECTION00435000000000000000">3.3.5 Key specifications</A>
+<LI><A NAME="tex2html148"
+  HREF="node4.html#SECTION00436000000000000000">3.3.6 Button specifications</A>
+<LI><A NAME="tex2html149"
+  HREF="node4.html#SECTION00437000000000000000">3.3.7 A further note on the default binding configuration</A>
+</UL>
+<LI><A NAME="tex2html150"
+  HREF="node4.html#SECTION00440000000000000000">3.4 Menus</A>
+<UL>
+<LI><A NAME="tex2html151"
+  HREF="node4.html#SECTION00441000000000000000">3.4.1 Defining menus</A>
+<LI><A NAME="tex2html152"
+  HREF="node4.html#SECTION00442000000000000000">3.4.2 Special menus</A>
+<LI><A NAME="tex2html153"
+  HREF="node4.html#SECTION00443000000000000000">3.4.3 Defining context menus</A>
+<LI><A NAME="tex2html154"
+  HREF="node4.html#SECTION00444000000000000000">3.4.4 Displaying menus</A>
+</UL>
+<LI><A NAME="tex2html155"
+  HREF="node4.html#SECTION00450000000000000000">3.5 Winprops</A>
+<UL>
+<LI><A NAME="tex2html156"
+  HREF="node4.html#SECTION00451000000000000000">3.5.1 Classes, roles and instances</A>
+<LI><A NAME="tex2html157"
+  HREF="node4.html#SECTION00452000000000000000">3.5.2 Finding window identification</A>
+<LI><A NAME="tex2html158"
+  HREF="node4.html#SECTION00453000000000000000">3.5.3 Some common examples</A>
+</UL>
+</UL>
+<BR>
+<LI><A NAME="tex2html159"
+  HREF="node5.html">4. Graphical styles</A>
+<UL>
+<LI><A NAME="tex2html160"
+  HREF="node5.html#SECTION00510000000000000000">4.1 Drawing engines, style specifications and sub-styles</A>
+<UL>
+<LI><A NAME="tex2html161"
+  HREF="node5.html#SECTION00511000000000000000">4.1.1 Known styles and substyles</A>
+</UL>
+<LI><A NAME="tex2html162"
+  HREF="node5.html#SECTION00520000000000000000">4.2 Defining styles for the default drawing engine</A>
+<UL>
+<LI><A NAME="tex2html163"
+  HREF="node5.html#SECTION00521000000000000000">4.2.1 The structure of the configuration files</A>
+<LI><A NAME="tex2html164"
+  HREF="node5.html#SECTION00522000000000000000">4.2.2 Defining the styles</A>
+<LI><A NAME="tex2html165"
+  HREF="node5.html#SECTION00523000000000000000">4.2.3 An example</A>
+</UL>
+<LI><A NAME="tex2html166"
+  HREF="node5.html#SECTION00530000000000000000">4.3 Miscellaneous settings</A>
+<UL>
+<LI><A NAME="tex2html167"
+  HREF="node5.html#SECTION00531000000000000000">4.3.1 Extra fields for style frame</A>
+<LI><A NAME="tex2html168"
+  HREF="node5.html#SECTION00532000000000000000">4.3.2 Extra fields for style dock</A>
+</UL>
+</UL>
+<BR>
+<LI><A NAME="tex2html169"
+  HREF="node6.html">5. Scripting</A>
+<UL>
+<LI><A NAME="tex2html170"
+  HREF="node6.html#SECTION00610000000000000000">5.1 Hooks</A>
+<LI><A NAME="tex2html171"
+  HREF="node6.html#SECTION00620000000000000000">5.2 Referring to regions</A>
+<UL>
+<LI><A NAME="tex2html172"
+  HREF="node6.html#SECTION00621000000000000000">5.2.1 Direct object references</A>
+<LI><A NAME="tex2html173"
+  HREF="node6.html#SECTION00622000000000000000">5.2.2 Name-based lookups</A>
+</UL>
+<LI><A NAME="tex2html174"
+  HREF="node6.html#SECTION00630000000000000000">5.3 Alternative winprop selection criteria</A>
+<LI><A NAME="tex2html175"
+  HREF="node6.html#SECTION00640000000000000000">5.4 Writing ion-statusd monitors</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html176"
+  HREF="node7.html">6. Function reference</A>
+<UL>
+<LI><A NAME="tex2html177"
+  HREF="node7.html#SECTION00710000000000000000">6.1 Functions defined in ioncore</A>
+<UL>
+<LI><A NAME="tex2html178"
+  HREF="node7.html#SECTION00711000000000000000">6.1.1 WClientWin functions</A>
+<LI><A NAME="tex2html179"
+  HREF="node7.html#SECTION00712000000000000000">6.1.2 WFrame functions</A>
+<LI><A NAME="tex2html180"
+  HREF="node7.html#SECTION00713000000000000000">6.1.3 WGroup functions</A>
+<LI><A NAME="tex2html181"
+  HREF="node7.html#SECTION00714000000000000000">6.1.4 WGroupCW functions</A>
+<LI><A NAME="tex2html182"
+  HREF="node7.html#SECTION00715000000000000000">6.1.5 WGroupWS functions</A>
+<LI><A NAME="tex2html183"
+  HREF="node7.html#SECTION00716000000000000000">6.1.6 WInfoWin functions</A>
+<LI><A NAME="tex2html184"
+  HREF="node7.html#SECTION00717000000000000000">6.1.7 WMPlex functions</A>
+<LI><A NAME="tex2html185"
+  HREF="node7.html#SECTION00718000000000000000">6.1.8 WMoveresMode functions</A>
+<LI><A NAME="tex2html186"
+  HREF="node7.html#SECTION00719000000000000000">6.1.9 WRegion functions</A>
+<LI><A NAME="tex2html187"
+  HREF="node7.html#SECTION007110000000000000000">6.1.10 WRootWin functions</A>
+<LI><A NAME="tex2html188"
+  HREF="node7.html#SECTION007111000000000000000">6.1.11 WScreen functions</A>
+<LI><A NAME="tex2html189"
+  HREF="node7.html#SECTION007112000000000000000">6.1.12 WWindow functions</A>
+<LI><A NAME="tex2html190"
+  HREF="node7.html#SECTION007113000000000000000">6.1.13 global functions</A>
+<LI><A NAME="tex2html191"
+  HREF="node7.html#SECTION007114000000000000000">6.1.14 gr functions</A>
+<LI><A NAME="tex2html192"
+  HREF="node7.html#SECTION007115000000000000000">6.1.15 string functions</A>
+<LI><A NAME="tex2html193"
+  HREF="node7.html#SECTION007116000000000000000">6.1.16 table functions</A>
+</UL>
+<LI><A NAME="tex2html194"
+  HREF="node7.html#SECTION00720000000000000000">6.2 Functions defined in mod_tiling</A>
+<UL>
+<LI><A NAME="tex2html195"
+  HREF="node7.html#SECTION00721000000000000000">6.2.1 WSplit functions</A>
+<LI><A NAME="tex2html196"
+  HREF="node7.html#SECTION00722000000000000000">6.2.2 WSplitInner functions</A>
+<LI><A NAME="tex2html197"
+  HREF="node7.html#SECTION00723000000000000000">6.2.3 WSplitRegion functions</A>
+<LI><A NAME="tex2html198"
+  HREF="node7.html#SECTION00724000000000000000">6.2.4 WSplitSplit functions</A>
+<LI><A NAME="tex2html199"
+  HREF="node7.html#SECTION00725000000000000000">6.2.5 WTiling functions</A>
+</UL>
+<LI><A NAME="tex2html200"
+  HREF="node7.html#SECTION00730000000000000000">6.3 Functions defined in mod_query</A>
+<UL>
+<LI><A NAME="tex2html201"
+  HREF="node7.html#SECTION00731000000000000000">6.3.1 WComplProxy functions</A>
+<LI><A NAME="tex2html202"
+  HREF="node7.html#SECTION00732000000000000000">6.3.2 WEdln functions</A>
+<LI><A NAME="tex2html203"
+  HREF="node7.html#SECTION00733000000000000000">6.3.3 WInput functions</A>
+</UL>
+<LI><A NAME="tex2html204"
+  HREF="node7.html#SECTION00740000000000000000">6.4 Functions defined in mod_menu</A>
+<UL>
+<LI><A NAME="tex2html205"
+  HREF="node7.html#SECTION00741000000000000000">6.4.1 WMenu functions</A>
+</UL>
+<LI><A NAME="tex2html206"
+  HREF="node7.html#SECTION00750000000000000000">6.5 Functions defined in mod_dock</A>
+<UL>
+<LI><A NAME="tex2html207"
+  HREF="node7.html#SECTION00751000000000000000">6.5.1 WDock functions</A>
+</UL>
+<LI><A NAME="tex2html208"
+  HREF="node7.html#SECTION00760000000000000000">6.6 Functions defined in mod_sp</A>
+<LI><A NAME="tex2html209"
+  HREF="node7.html#SECTION00770000000000000000">6.7 Functions defined in de</A>
+<LI><A NAME="tex2html210"
+  HREF="node7.html#SECTION00780000000000000000">6.8 Hooks</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html211"
+  HREF="node8.html">A. The GNU General Public License</A>
+<LI><A NAME="tex2html212"
+  HREF="node9.html">B. Full class hierarchy visible to Lua-side</A>
+<LI><A NAME="tex2html213"
+  HREF="node11.html">Index</A>
+</UL>
+<!--End of Table of Contents-->
+<P>
+
+<P>
+<BR><HR>
+
+</BODY>
+</HTML>
diff --git a/ionconf/node10.html b/ionconf/node10.html
new file mode 100644 (file)
index 0000000..f33c3b7
--- /dev/null
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
+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>List of functions</TITLE>
+<META NAME="description" CONTENT="List of functions">
+<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-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="ionconf.css">
+
+<LINK REL="next" HREF="node11.html">
+<LINK REL="previous" HREF="node9.html">
+<LINK REL="up" HREF="ionconf.html">
+<LINK REL="next" HREF="node11.html">
+</HEAD>
+
+<BODY >
+
+<DIV CLASS="navigation"><!--Navigation Panel-->
+<A NAME="tex2html425"
+  HREF="node11.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
+<A NAME="tex2html419"
+  HREF="ionconf.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
+<A NAME="tex2html413"
+  HREF="node9.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
+<A NAME="tex2html421"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
+<A NAME="tex2html423"
+  HREF="node11.html">
+<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
+<BR>
+<B> Next:</B> <A NAME="tex2html426"
+  HREF="node11.html">Index</A>
+<B> Up:</B> <A NAME="tex2html420"
+  HREF="ionconf.html">Configuring and extending Ion3</A>
+<B> Previous:</B> <A NAME="tex2html414"
+  HREF="node9.html">B. Full class hierarchy</A>
+ &nbsp; <B>  <A NAME="tex2html422"
+  HREF="node1.html">Contents</A></B> 
+ &nbsp; <B>  <A NAME="tex2html424"
+  HREF="node11.html">Index</A></B> 
+<BR>
+<BR></DIV>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION001000000000000000000">
+List of functions</A>
+</H1>
+
+<P>
+<A HREF="node7.html#fn:de.defstyle"><TT>de.defstyle</TT></A>
+<BR><A HREF="node7.html#fn:de.defstyle_rootwin"><TT>de.defstyle_rootwin</TT></A>
+<BR><A HREF="node7.html#fn:de.reset"><TT>de.reset</TT></A>
+<BR><A HREF="node7.html#fn:de.substyle"><TT>de.substyle</TT></A>
+<BR><A HREF="node7.html#fn:export"><TT>export</TT></A>
+<BR><A HREF="node7.html#fn:gr.read_config"><TT>gr.read_config</TT></A>
+<BR><A HREF="node7.html#fn:gr.refresh"><TT>gr.refresh</TT></A>
+<BR><A HREF="node7.html#fn:gr.select_engine"><TT>gr.select_engine</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.aboutmsg"><TT>ioncore.aboutmsg</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.activity_first"><TT>ioncore.activity_first</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.activity_list"><TT>ioncore.activity_list</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.bdoc"><TT>ioncore.bdoc</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.chdir_for"><TT>ioncore.chdir_for</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.clear_tags"><TT>ioncore.clear_tags</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.clientwin_list"><TT>ioncore.clientwin_list</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.compile_cmd"><TT>ioncore.compile_cmd</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.create_ws"><TT>ioncore.create_ws</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.current"><TT>ioncore.current</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.defbindings"><TT>ioncore.defbindings</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.defctxmenu"><TT>ioncore.defctxmenu</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.defmenu"><TT>ioncore.defmenu</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.defshortening"><TT>ioncore.defshortening</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.defwinprop"><TT>ioncore.defwinprop</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.exec"><TT>ioncore.exec</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.exec_on"><TT>ioncore.exec_on</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.find_manager"><TT>ioncore.find_manager</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.find_screen_id"><TT>ioncore.find_screen_id</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.get"><TT>ioncore.get</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.getbindings"><TT>ioncore.getbindings</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.getctxmenu"><TT>ioncore.getctxmenu</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.get_dir_for"><TT>ioncore.get_dir_for</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.getmenu"><TT>ioncore.getmenu</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.get_paths"><TT>ioncore.get_paths</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.get_savefile"><TT>ioncore.get_savefile</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.getwinprop"><TT>ioncore.getwinprop</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.goto_activity"><TT>ioncore.goto_activity</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.goto_first"><TT>ioncore.goto_first</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.goto_next"><TT>ioncore.goto_next</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.goto_next_screen"><TT>ioncore.goto_next_screen</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.goto_nth_screen"><TT>ioncore.goto_nth_screen</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.goto_previous"><TT>ioncore.goto_previous</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.goto_prev_screen"><TT>ioncore.goto_prev_screen</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.is_i18n"><TT>ioncore.is_i18n</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.kpress"><TT>ioncore.kpress</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.kpress_wait"><TT>ioncore.kpress_wait</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.load_module"><TT>ioncore.load_module</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.lookup_clientwin"><TT>ioncore.lookup_clientwin</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.lookup_region"><TT>ioncore.lookup_region</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.lookup_script"><TT>ioncore.lookup_script</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.match_winprop_name"><TT>ioncore.match_winprop_name</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.mclick"><TT>ioncore.mclick</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.mdblclick"><TT>ioncore.mdblclick</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.mdrag"><TT>ioncore.mdrag</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.menuentry"><TT>ioncore.menuentry</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.mpress"><TT>ioncore.mpress</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.navi_first"><TT>ioncore.navi_first</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.navi_next"><TT>ioncore.navi_next</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.popen_bgread"><TT>ioncore.popen_bgread</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.progname"><TT>ioncore.progname</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.read_savefile"><TT>ioncore.read_savefile</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.refresh_stylelist"><TT>ioncore.refresh_stylelist</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.region_list"><TT>ioncore.region_list</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.request_selection"><TT>ioncore.request_selection</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.resign"><TT>ioncore.resign</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.restart"><TT>ioncore.restart</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.restart_other"><TT>ioncore.restart_other</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.set"><TT>ioncore.set</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.set_get_winprop_fn"><TT>ioncore.set_get_winprop_fn</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.set_paths"><TT>ioncore.set_paths</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.set_selection"><TT>ioncore.set_selection</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.shutdown"><TT>ioncore.shutdown</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.snapshot"><TT>ioncore.snapshot</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.submap"><TT>ioncore.submap</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.submenu"><TT>ioncore.submenu</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.tagged_list"><TT>ioncore.tagged_list</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.tags_first"><TT>ioncore.tags_first</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.TR"><TT>ioncore.TR</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.version"><TT>ioncore.version</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.warn"><TT>ioncore.warn</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.warn_traced"><TT>ioncore.warn_traced</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.write_savefile"><TT>ioncore.write_savefile</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.x_change_property"><TT>ioncore.x_change_property</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.x_delete_property"><TT>ioncore.x_delete_property</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.x_get_atom_name"><TT>ioncore.x_get_atom_name</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.x_get_text_property"><TT>ioncore.x_get_text_property</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.x_get_window_property"><TT>ioncore.x_get_window_property</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.x_intern_atom"><TT>ioncore.x_intern_atom</TT></A>
+<BR><A HREF="node7.html#fn:ioncore.x_set_text_property"><TT>ioncore.x_set_text_property</TT></A>
+<BR><A HREF="node7.html#fn:mod_dock.set_floating_shown_on"><TT>mod_dock.set_floating_shown_on</TT></A>
+<BR><A HREF="node7.html#fn:mod_menu.get"><TT>mod_menu.get</TT></A>
+<BR><A HREF="node7.html#fn:mod_menu.grabmenu"><TT>mod_menu.grabmenu</TT></A>
+<BR><A HREF="node7.html#fn:mod_menu.menu"><TT>mod_menu.menu</TT></A>
+<BR><A HREF="node7.html#fn:mod_menu.pmenu"><TT>mod_menu.pmenu</TT></A>
+<BR><A HREF="node7.html#fn:mod_menu.set"><TT>mod_menu.set</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.defcmd"><TT>mod_query.defcmd</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.get"><TT>mod_query.get</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.history_clear"><TT>mod_query.history_clear</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.history_get"><TT>mod_query.history_get</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.history_push"><TT>mod_query.history_push</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.history_search"><TT>mod_query.history_search</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.history_table"><TT>mod_query.history_table</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.message"><TT>mod_query.message</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.popen_completions"><TT>mod_query.popen_completions</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query"><TT>mod_query.query</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_attachclient"><TT>mod_query.query_attachclient</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_editfile"><TT>mod_query.query_editfile</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_exec"><TT>mod_query.query_exec</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_gotoclient"><TT>mod_query.query_gotoclient</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_lua"><TT>mod_query.query_lua</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_man"><TT>mod_query.query_man</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_menu"><TT>mod_query.query_menu</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_renameframe"><TT>mod_query.query_renameframe</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_renameworkspace"><TT>mod_query.query_renameworkspace</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_restart"><TT>mod_query.query_restart</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_runfile"><TT>mod_query.query_runfile</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_shutdown"><TT>mod_query.query_shutdown</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_ssh"><TT>mod_query.query_ssh</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_workspace"><TT>mod_query.query_workspace</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.query_yesno"><TT>mod_query.query_yesno</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.set"><TT>mod_query.set</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.show_about_ion"><TT>mod_query.show_about_ion</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.show_tree"><TT>mod_query.show_tree</TT></A>
+<BR><A HREF="node7.html#fn:mod_query.warn"><TT>mod_query.warn</TT></A>
+<BR><A HREF="node7.html#fn:mod_sp.set_shown"><TT>mod_sp.set_shown</TT></A>
+<BR><A HREF="node7.html#fn:mod_sp.set_shown_on"><TT>mod_sp.set_shown_on</TT></A>
+<BR><A HREF="node7.html#fn:mod_tiling.detach"><TT>mod_tiling.detach</TT></A>
+<BR><A HREF="node7.html#fn:mod_tiling.get"><TT>mod_tiling.get</TT></A>
+<BR><A HREF="node7.html#fn:mod_tiling.mkbottom"><TT>mod_tiling.mkbottom</TT></A>
+<BR><A HREF="node7.html#fn:mod_tiling.set"><TT>mod_tiling.set</TT></A>
+<BR><A HREF="node7.html#fn:string.shell_safe"><TT>string.shell_safe</TT></A>
+<BR><A HREF="node7.html#fn:table.append"><TT>table.append</TT></A>
+<BR><A HREF="node7.html#fn:table.copy"><TT>table.copy</TT></A>
+<BR><A HREF="node7.html#fn:table.icat"><TT>table.icat</TT></A>
+<BR><A HREF="node7.html#fn:table.join"><TT>table.join</TT></A>
+<BR><A HREF="node7.html#fn:table.map"><TT>table.map</TT></A>
+<BR><A HREF="node7.html#fn:WClientWin.get_ident"><TT>WClientWin.get_ident</TT></A>
+<BR><A HREF="node7.html#fn:WClientWin.is_fullscreen"><TT>WClientWin.is_fullscreen</TT></A>
+<BR><A HREF="node7.html#fn:WClientWin.kill"><TT>WClientWin.kill</TT></A>
+<BR><A HREF="node7.html#fn:WClientWin.nudge"><TT>WClientWin.nudge</TT></A>
+<BR><A HREF="node7.html#fn:WClientWin.quote_next"><TT>WClientWin.quote_next</TT></A>
+<BR><A HREF="node7.html#fn:WClientWin.set_fullscreen"><TT>WClientWin.set_fullscreen</TT></A>
+<BR><A HREF="node7.html#fn:WClientWin.xid"><TT>WClientWin.xid</TT></A>
+<BR><A HREF="node7.html#fn:WComplProxy.set_completions"><TT>WComplProxy.set_completions</TT></A>
+<BR><A HREF="node7.html#fn:WDock.attach"><TT>WDock.attach</TT></A>
+<BR><A HREF="node7.html#fn:WDock.get"><TT>WDock.get</TT></A>
+<BR><A HREF="node7.html#fn:WDock.resize"><TT>WDock.resize</TT></A>
+<BR><A HREF="node7.html#fn:WDock.set"><TT>WDock.set</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.back"><TT>WEdln.back</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.backspace"><TT>WEdln.backspace</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.bkill_word"><TT>WEdln.bkill_word</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.bol"><TT>WEdln.bol</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.bskip_word"><TT>WEdln.bskip_word</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.clear_mark"><TT>WEdln.clear_mark</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.complete"><TT>WEdln.complete</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.contents"><TT>WEdln.contents</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.context"><TT>WEdln.context</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.copy"><TT>WEdln.copy</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.cut"><TT>WEdln.cut</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.delete"><TT>WEdln.delete</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.eol"><TT>WEdln.eol</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.finish"><TT>WEdln.finish</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.forward"><TT>WEdln.forward</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.history_next"><TT>WEdln.history_next</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.history_prev"><TT>WEdln.history_prev</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.insstr"><TT>WEdln.insstr</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.is_histcompl"><TT>WEdln.is_histcompl</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.kill_line"><TT>WEdln.kill_line</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.kill_to_bol"><TT>WEdln.kill_to_bol</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.kill_to_eol"><TT>WEdln.kill_to_eol</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.kill_word"><TT>WEdln.kill_word</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.mark"><TT>WEdln.mark</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.next_completion"><TT>WEdln.next_completion</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.paste"><TT>WEdln.paste</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.point"><TT>WEdln.point</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.prev_completion"><TT>WEdln.prev_completion</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.set_context"><TT>WEdln.set_context</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.set_mark"><TT>WEdln.set_mark</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.skip_word"><TT>WEdln.skip_word</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.transpose_chars"><TT>WEdln.transpose_chars</TT></A>
+<BR><A HREF="node7.html#fn:WEdln.transpose_words"><TT>WEdln.transpose_words</TT></A>
+<BR><A HREF="node7.html#fn:WFrame.is_shaded"><TT>WFrame.is_shaded</TT></A>
+<BR><A HREF="node7.html#fn:WFrame.maximize_horiz"><TT>WFrame.maximize_horiz</TT></A>
+<BR><A HREF="node7.html#fn:WFrame.maximize_vert"><TT>WFrame.maximize_vert</TT></A>
+<BR><A HREF="node7.html#fn:WFrame.mode"><TT>WFrame.mode</TT></A>
+<BR><A HREF="node7.html#fn:WFrame.p_switch_tab"><TT>WFrame.p_switch_tab</TT></A>
+<BR><A HREF="node7.html#fn:WFrame.p_tabdrag"><TT>WFrame.p_tabdrag</TT></A>
+<BR><A HREF="node7.html#fn:WFrame.set_mode"><TT>WFrame.set_mode</TT></A>
+<BR><A HREF="node7.html#fn:WFrame.set_numbers"><TT>WFrame.set_numbers</TT></A>
+<BR><A HREF="node7.html#fn:WFrame.set_shaded"><TT>WFrame.set_shaded</TT></A>
+<BR><A HREF="node7.html#fn:WGroup.attach"><TT>WGroup.attach</TT></A>
+<BR><A HREF="node7.html#fn:WGroup.attach_new"><TT>WGroup.attach_new</TT></A>
+<BR><A HREF="node7.html#fn:WGroup.bottom"><TT>WGroup.bottom</TT></A>
+<BR><A HREF="node7.html#fn:WGroup.managed_list"><TT>WGroup.managed_list</TT></A>
+<BR><A HREF="node7.html#fn:WGroupWS.attach_framed"><TT>WGroupWS.attach_framed</TT></A>
+<BR><A HREF="node7.html#fn:WInfoWin.set_text"><TT>WInfoWin.set_text</TT></A>
+<BR><A HREF="node7.html#fn:WInput.cancel"><TT>WInput.cancel</TT></A>
+<BR><A HREF="node7.html#fn:WInput.scrolldown"><TT>WInput.scrolldown</TT></A>
+<BR><A HREF="node7.html#fn:WInput.scrollup"><TT>WInput.scrollup</TT></A>
+<BR><A HREF="node7.html#fn:WMenu.cancel"><TT>WMenu.cancel</TT></A>
+<BR><A HREF="node7.html#fn:WMenu.finish"><TT>WMenu.finish</TT></A>
+<BR><A HREF="node7.html#fn:WMenu.select_next"><TT>WMenu.select_next</TT></A>
+<BR><A HREF="node7.html#fn:WMenu.select_nth"><TT>WMenu.select_nth</TT></A>
+<BR><A HREF="node7.html#fn:WMenu.select_prev"><TT>WMenu.select_prev</TT></A>
+<BR><A HREF="node7.html#fn:WMenu.typeahead_clear"><TT>WMenu.typeahead_clear</TT></A>
+<BR><A HREF="node7.html#fn:WMoveresMode.cancel"><TT>WMoveresMode.cancel</TT></A>
+<BR><A HREF="node7.html#fn:WMoveresMode.finish"><TT>WMoveresMode.finish</TT></A>
+<BR><A HREF="node7.html#fn:WMoveresMode.move"><TT>WMoveresMode.move</TT></A>
+<BR><A HREF="node7.html#fn:WMoveresMode.resize"><TT>WMoveresMode.resize</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.attach"><TT>WMPlex.attach</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.attach_new"><TT>WMPlex.attach_new</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.attach_tagged"><TT>WMPlex.attach_tagged</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.dec_index"><TT>WMPlex.dec_index</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.get_index"><TT>WMPlex.get_index</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.get_stdisp"><TT>WMPlex.get_stdisp</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.inc_index"><TT>WMPlex.inc_index</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.is_hidden"><TT>WMPlex.is_hidden</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.managed_list"><TT>WMPlex.managed_list</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.mx_count"><TT>WMPlex.mx_count</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.mx_current"><TT>WMPlex.mx_current</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.mx_list"><TT>WMPlex.mx_list</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.mx_nth"><TT>WMPlex.mx_nth</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.set_hidden"><TT>WMPlex.set_hidden</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.set_index"><TT>WMPlex.set_index</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.set_stdisp"><TT>WMPlex.set_stdisp</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.switch_next"><TT>WMPlex.switch_next</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.switch_nth"><TT>WMPlex.switch_nth</TT></A>
+<BR><A HREF="node7.html#fn:WMPlex.switch_prev"><TT>WMPlex.switch_prev</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.begin_kbresize"><TT>WRegion.begin_kbresize</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.current"><TT>WRegion.current</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.geom"><TT>WRegion.geom</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.goto"><TT>WRegion.goto</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.is_active"><TT>WRegion.is_active</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.is_activity"><TT>WRegion.is_activity</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.is_mapped"><TT>WRegion.is_mapped</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.is_tagged"><TT>WRegion.is_tagged</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.manager"><TT>WRegion.manager</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.name"><TT>WRegion.name</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.parent"><TT>WRegion.parent</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.rootwin_of"><TT>WRegion.rootwin_of</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.rqclose"><TT>WRegion.rqclose</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.rqclose_propagate"><TT>WRegion.rqclose_propagate</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.rqgeom"><TT>WRegion.rqgeom</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.rqorder"><TT>WRegion.rqorder</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.screen_of"><TT>WRegion.screen_of</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.set_activity"><TT>WRegion.set_activity</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.set_name"><TT>WRegion.set_name</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.set_name_exact"><TT>WRegion.set_name_exact</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.set_tagged"><TT>WRegion.set_tagged</TT></A>
+<BR><A HREF="node7.html#fn:WRegion.size_hints"><TT>WRegion.size_hints</TT></A>
+<BR><A HREF="node7.html#fn:WRootWin.current_scr"><TT>WRootWin.current_scr</TT></A>
+<BR><A HREF="node7.html#fn:WScreen.id"><TT>WScreen.id</TT></A>
+<BR><A HREF="node7.html#fn:WScreen.set_managed_offset"><TT>WScreen.set_managed_offset</TT></A>
+<BR><A HREF="node7.html#fn:WSplit.geom"><TT>WSplit.geom</TT></A>
+<BR><A HREF="node7.html#fn:WSplitInner.current"><TT>WSplitInner.current</TT></A>
+<BR><A HREF="node7.html#fn:WSplit.parent"><TT>WSplit.parent</TT></A>
+<BR><A HREF="node7.html#fn:WSplitRegion.reg"><TT>WSplitRegion.reg</TT></A>
+<BR><A HREF="node7.html#fn:WSplit.rqgeom"><TT>WSplit.rqgeom</TT></A>
+<BR><A HREF="node7.html#fn:WSplitSplit.br"><TT>WSplitSplit.br</TT></A>
+<BR><A HREF="node7.html#fn:WSplitSplit.dir"><TT>WSplitSplit.dir</TT></A>
+<BR><A HREF="node7.html#fn:WSplitSplit.flip"><TT>WSplitSplit.flip</TT></A>
+<BR><A HREF="node7.html#fn:WSplitSplit.tl"><TT>WSplitSplit.tl</TT></A>
+<BR><A HREF="node7.html#fn:WSplit.transpose"><TT>WSplit.transpose</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.farthest"><TT>WTiling.farthest</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.flip_at"><TT>WTiling.flip_at</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.managed_list"><TT>WTiling.managed_list</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.nextto"><TT>WTiling.nextto</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.node_of"><TT>WTiling.node_of</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.set_floating"><TT>WTiling.set_floating</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.set_floating_at"><TT>WTiling.set_floating_at</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.split"><TT>WTiling.split</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.split_at"><TT>WTiling.split_at</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.split_top"><TT>WTiling.split_top</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.split_tree"><TT>WTiling.split_tree</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.transpose_at"><TT>WTiling.transpose_at</TT></A>
+<BR><A HREF="node7.html#fn:WTiling.unsplit_at"><TT>WTiling.unsplit_at</TT></A>
+<BR><A HREF="node7.html#fn:WWindow.p_move"><TT>WWindow.p_move</TT></A>
+<BR><A HREF="node7.html#fn:WWindow.p_resize"><TT>WWindow.p_resize</TT></A>
+<BR><A HREF="node7.html#fn:WWindow.xid"><TT>WWindow.xid</TT></A>
+<BR>
+<DIV CLASS="navigation"><HR>
+<!--Navigation Panel-->
+<A NAME="tex2html425"
+  HREF="node11.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
+<A NAME="tex2html419"
+  HREF="ionconf.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
+<A NAME="tex2html413"
+  HREF="node9.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
+<A NAME="tex2html421"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
+<A NAME="tex2html423"
+  HREF="node11.html">
+<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
+<BR>
+<B> Next:</B> <A NAME="tex2html426"
+  HREF="node11.html">Index</A>
+<B> Up:</B> <A NAME="tex2html420"
+  HREF="ionconf.html">Configuring and extending Ion3</A>
+<B> Previous:</B> <A NAME="tex2html414"
+  HREF="node9.html">B. Full class hierarchy</A>
+ &nbsp; <B>  <A NAME="tex2html422"
+  HREF="node1.html">Contents</A></B> 
+ &nbsp; <B>  <A NAME="tex2html424"
+  HREF="node11.html">Index</A></B> </DIV>
+<!--End of Navigation Panel-->
+
+</BODY>
+</HTML>
diff --git a/ionconf/node11.html b/ionconf/node11.html
new file mode 100644 (file)
index 0000000..2c12ab2
--- /dev/null
@@ -0,0 +1,1091 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
+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>Index</TITLE>
+<META NAME="description" CONTENT="Index">
+<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-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="ionconf.css">
+
+<LINK REL="next" HREF="node12.html">
+<LINK REL="previous" HREF="node10.html">
+<LINK REL="up" HREF="ionconf.html">
+<LINK REL="next" HREF="node12.html">
+</HEAD>
+
+<BODY >
+
+<DIV CLASS="navigation"><!--Navigation Panel-->
+<A NAME="tex2html437"
+  HREF="node12.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
+<A NAME="tex2html433"
+  HREF="ionconf.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
+<A NAME="tex2html427"
+  HREF="node10.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
+<A NAME="tex2html435"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html438"
+  HREF="node12.html">About this document ...</A>
+<B> Up:</B> <A NAME="tex2html434"
+  HREF="ionconf.html">Configuring and extending Ion3</A>
+<B> Previous:</B> <A NAME="tex2html428"
+  HREF="node10.html">List of functions</A>
+ &nbsp; <B>  <A NAME="tex2html436"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR></DIV>
+<!--End of Navigation Panel-->
+<BR>
+
+<H2><A NAME="SECTION001100000000000000000">
+Index</A>
+</H2><HR><DL>
+<DD><STRONG><TT>aboutmsg</TT></STRONG>
+ : <A HREF="node7.html#4229"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>acrobatic</TT></STRONG>
+ : <A HREF="node4.html#1410"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>activity_first</TT></STRONG>
+ : <A HREF="node7.html#4231"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>activity_list</TT></STRONG>
+ : <A HREF="node7.html#4233"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><SPAN  CLASS="textbf">Alt</SPAN></STRONG>
+ : <A HREF="node4.html#865"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><SPAN  CLASS="textbf">AnyModifier</SPAN></STRONG>
+ : <A HREF="node4.html#863"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>append</TT></STRONG>
+ : <A HREF="node7.html#4520"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">16</SPAN></A>
+<DD><STRONG><TT>aspect</TT></STRONG>
+ : <A HREF="node4.html#1411"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>attach</TT></STRONG>
+ : <A HREF="node7.html#4384"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+ | <A HREF="node7.html#4400"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+ | <A HREF="node7.html#9001"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>attach_framed</TT></STRONG>
+ : <A HREF="node7.html#4394"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>attach_new</TT></STRONG>
+ : <A HREF="node7.html#4386"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+ | <A HREF="node7.html#4402"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>attach_tagged</TT></STRONG>
+ : <A HREF="node7.html#4404"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>back</TT></STRONG>
+ : <A HREF="node7.html#7896"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>backspace</TT></STRONG>
+ : <A HREF="node7.html#7898"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>bdoc</TT></STRONG>
+ : <A HREF="node7.html#4191"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>begin_kbresize</TT></STRONG>
+ : <A HREF="node7.html#4448"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+<DD><STRONG><TT>bkill_word</TT></STRONG>
+ : <A HREF="node7.html#7900"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>bol</TT></STRONG>
+ : <A HREF="node7.html#7902"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>bottom</TT></STRONG>
+ : <A HREF="node7.html#4388"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>br</TT></STRONG>
+ : <A HREF="node7.html#6806"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">4</SPAN></A>
+<DD><STRONG><TT>bskip_word</TT></STRONG>
+ : <A HREF="node7.html#7904"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><SPAN  CLASS="textbf">Button-n</SPAN></STRONG>
+ : <A HREF="node4.html#869"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">6</SPAN></A>
+<DD><STRONG><TT>cancel</TT></STRONG>
+ : <A HREF="node7.html#4439"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">8</SPAN></A>
+ | <A HREF="node7.html#7963"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+ | <A HREF="node7.html#8789"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>chdir_for</TT></STRONG>
+ : <A HREF="node7.html#4193"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>class</TT></STRONG><DL>
+<DD><STRONG>winprop</STRONG> : <A HREF="node4.html#1426"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+</DL>
+<DD><STRONG><TT>clear_mark</TT></STRONG>
+ : <A HREF="node7.html#7906"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>clear_tags</TT></STRONG>
+ : <A HREF="node7.html#4235"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>clientwin_do_manage_alt</TT></STRONG>
+ : <A HREF="node7.html#9401"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">8</SPAN></A>
+<DD><STRONG><TT>clientwin_list</TT></STRONG>
+ : <A HREF="node7.html#4237"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>clientwin_mapped_hook</TT></STRONG>
+ : <A HREF="node7.html#9402"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">8</SPAN></A>
+<DD><STRONG><TT>clientwin_unmapped_hook</TT></STRONG>
+ : <A HREF="node7.html#9403"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">8</SPAN></A>
+<DD><STRONG><TT>compile_cmd</TT></STRONG>
+ : <A HREF="node7.html#4195"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>complete</TT></STRONG>
+ : <A HREF="node7.html#7908"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>contents</TT></STRONG>
+ : <A HREF="node7.html#7910"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>context</TT></STRONG>
+ : <A HREF="node7.html#7912"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><SPAN  CLASS="textbf">Control</SPAN></STRONG>
+ : <A HREF="node4.html#861"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>copy</TT></STRONG>
+ : <A HREF="node7.html#4522"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">16</SPAN></A>
+ | <A HREF="node7.html#7914"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>create_ws</TT></STRONG>
+ : <A HREF="node7.html#4197"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>current</TT></STRONG>
+ : <A HREF="node7.html#4239"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+ | <A HREF="node7.html#4450"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ | <A HREF="node7.html#6800"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>current_scr</TT></STRONG>
+ : <A HREF="node7.html#4493"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">10</SPAN></A>
+<DD><STRONG><TT>cut</TT></STRONG>
+ : <A HREF="node7.html#7916"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>de</TT></STRONG><DL>
+<DD><STRONG><TT>defstyle</TT></STRONG> : <A HREF="node7.html#9173"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>defstyle_rootwin</TT></STRONG> : <A HREF="node7.html#9175"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>reset</TT></STRONG> : <A HREF="node7.html#9177"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>substyle</TT></STRONG> : <A HREF="node7.html#9179"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+</DL>
+<DD><STRONG><TT>dec_index</TT></STRONG>
+ : <A HREF="node7.html#4406"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>defbindings</TT></STRONG>
+ : <A HREF="node7.html#4199"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>defcmd</TT></STRONG>
+ : <A HREF="node7.html#7833"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>defctxmenu</TT></STRONG>
+ : <A HREF="node7.html#4201"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>defmenu</TT></STRONG>
+ : <A HREF="node4.html#1170"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+ | <A HREF="node7.html#4203"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>defshortening</TT></STRONG>
+ : <A HREF="node7.html#4241"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>defstyle</TT></STRONG>
+ : <A HREF="node7.html#9174"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>defstyle_rootwin</TT></STRONG>
+ : <A HREF="node7.html#9176"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>defwinprop</TT></STRONG>
+ : <A HREF="node7.html#4205"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>delete</TT></STRONG>
+ : <A HREF="node7.html#7918"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>detach</TT></STRONG>
+ : <A HREF="node7.html#6782"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>dir</TT></STRONG>
+ : <A HREF="node7.html#6808"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">4</SPAN></A>
+<DD><STRONG>drawing engine</STRONG>
+ : <A HREF="node5.html#1666"><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>eol</TT></STRONG>
+ : <A HREF="node7.html#7920"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>ETCDIR</TT></STRONG>
+ : <A HREF="node4.html#586"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>exec</TT></STRONG>
+ : <A HREF="node7.html#4243"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>exec_on</TT></STRONG>
+ : <A HREF="node7.html#4207"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>export</TT></STRONG>
+ : <A HREF="node7.html#4507"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">13</SPAN></A>
+<DD><STRONG><TT>farthest</TT></STRONG>
+ : <A HREF="node7.html#6819"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>find_manager</TT></STRONG>
+ : <A HREF="node7.html#4217"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>find_screen_id</TT></STRONG>
+ : <A HREF="node7.html#4245"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>finish</TT></STRONG>
+ : <A HREF="node7.html#4441"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">8</SPAN></A>
+ | <A HREF="node7.html#7922"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+ | <A HREF="node7.html#8791"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>flip</TT></STRONG>
+ : <A HREF="node7.html#6810"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">4</SPAN></A>
+<DD><STRONG><TT>flip_at</TT></STRONG>
+ : <A HREF="node7.html#6815"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>float</TT></STRONG>
+ : <A HREF="node4.html#1412"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>forward</TT></STRONG>
+ : <A HREF="node7.html#7924"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>frame_managed_changed_hook</TT></STRONG>
+ : <A HREF="node7.html#9404"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">8</SPAN></A>
+<DD><STRONG><TT>fullscreen</TT></STRONG>
+ : <A HREF="node4.html#1413"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>geom</TT></STRONG>
+ : <A HREF="node7.html#4452"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ | <A HREF="node7.html#6791"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>get</TT></STRONG>
+ : <A HREF="node7.html#4247"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+ | <A HREF="node7.html#6784"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+ | <A HREF="node7.html#7835"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+ | <A HREF="node7.html#8782"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN></A>
+ | <A HREF="node7.html#9003"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>get_dir_for</TT></STRONG>
+ : <A HREF="node7.html#4219"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>get_ident</TT></STRONG>
+ : <A HREF="node7.html#4350"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>get_index</TT></STRONG>
+ : <A HREF="node7.html#4408"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>get_paths</TT></STRONG>
+ : <A HREF="node7.html#4249"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>get_savefile</TT></STRONG>
+ : <A HREF="node7.html#4211"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>get_stdisp</TT></STRONG>
+ : <A HREF="node7.html#4410"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>getbindings</TT></STRONG>
+ : <A HREF="node7.html#4221"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>getctxmenu</TT></STRONG>
+ : <A HREF="node7.html#4223"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>getmenu</TT></STRONG>
+ : <A HREF="node7.html#4225"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>getwinprop</TT></STRONG>
+ : <A HREF="node7.html#4227"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto</TT></STRONG>
+ : <A HREF="node7.html#4454"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+<DD><STRONG><TT>goto_activity</TT></STRONG>
+ : <A HREF="node7.html#4251"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_first</TT></STRONG>
+ : <A HREF="node7.html#4253"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_next</TT></STRONG>
+ : <A HREF="node7.html#4255"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_next_screen</TT></STRONG>
+ : <A HREF="node7.html#4257"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_nth_screen</TT></STRONG>
+ : <A HREF="node7.html#4259"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_prev_screen</TT></STRONG>
+ : <A HREF="node7.html#4261"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_previous</TT></STRONG>
+ : <A HREF="node7.html#4263"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>gr</TT></STRONG><DL>
+<DD><STRONG><TT>read_config</TT></STRONG> : <A HREF="node7.html#4509"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">14</SPAN></A>
+<DD><STRONG><TT>refresh</TT></STRONG> : <A HREF="node7.html#4511"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">14</SPAN></A>
+<DD><STRONG><TT>select_engine</TT></STRONG> : <A HREF="node7.html#4513"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">14</SPAN></A>
+</DL>
+<DD><STRONG><TT>grabmenu</TT></STRONG>
+ : <A HREF="node7.html#8778"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN></A>
+<DD><STRONG><TT>history_clear</TT></STRONG>
+ : <A HREF="node7.html#7837"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>history_get</TT></STRONG>
+ : <A HREF="node7.html#7839"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>history_next</TT></STRONG>
+ : <A HREF="node7.html#7926"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>history_prev</TT></STRONG>
+ : <A HREF="node7.html#7928"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>history_push</TT></STRONG>
+ : <A HREF="node7.html#7841"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>history_search</TT></STRONG>
+ : <A HREF="node7.html#7843"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>history_table</TT></STRONG>
+ : <A HREF="node7.html#7845"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>icat</TT></STRONG>
+ : <A HREF="node7.html#4524"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">16</SPAN></A>
+<DD><STRONG><TT>id</TT></STRONG>
+ : <A HREF="node7.html#4496"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">11</SPAN></A>
+<DD><STRONG><TT>ignore_cfgrq</TT></STRONG>
+ : <A HREF="node4.html#1414"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>ignore_net_active_window</TT></STRONG>
+ : <A HREF="node4.html#1415"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>ignore_resizeinc</TT></STRONG>
+ : <A HREF="node4.html#1416"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>inc_index</TT></STRONG>
+ : <A HREF="node7.html#4412"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>insstr</TT></STRONG>
+ : <A HREF="node7.html#7930"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>instance</TT></STRONG><DL>
+<DD><STRONG>winprop</STRONG> : <A HREF="node4.html#1428"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+</DL>
+<DD><STRONG><TT>ioncore</TT></STRONG><DL>
+<DD><STRONG><TT>aboutmsg</TT></STRONG> : <A HREF="node7.html#4228"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>activity_first</TT></STRONG> : <A HREF="node7.html#4230"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>activity_list</TT></STRONG> : <A HREF="node7.html#4232"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>bdoc</TT></STRONG> : <A HREF="node7.html#4190"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>chdir_for</TT></STRONG> : <A HREF="node7.html#4192"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>clear_tags</TT></STRONG> : <A HREF="node7.html#4234"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>clientwin_list</TT></STRONG> : <A HREF="node7.html#4236"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>compile_cmd</TT></STRONG> : <A HREF="node7.html#4194"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>create_ws</TT></STRONG> : <A HREF="node7.html#4196"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>current</TT></STRONG> : <A HREF="node7.html#4238"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>defbindings</TT></STRONG> : <A HREF="node7.html#4198"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>defctxmenu</TT></STRONG> : <A HREF="node7.html#4200"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>defmenu</TT></STRONG> : <A HREF="node7.html#4202"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>defshortening</TT></STRONG> : <A HREF="node7.html#4240"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>defwinprop</TT></STRONG> : <A HREF="node7.html#4204"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>exec</TT></STRONG> : <A HREF="node7.html#4242"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>exec_on</TT></STRONG> : <A HREF="node7.html#4206"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>find_manager</TT></STRONG> : <A HREF="node7.html#4216"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>find_screen_id</TT></STRONG> : <A HREF="node7.html#4244"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>get</TT></STRONG> : <A HREF="node7.html#4246"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>get_dir_for</TT></STRONG> : <A HREF="node7.html#4218"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>get_paths</TT></STRONG> : <A HREF="node7.html#4248"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>get_savefile</TT></STRONG> : <A HREF="node7.html#4210"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>getbindings</TT></STRONG> : <A HREF="node7.html#4220"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>getctxmenu</TT></STRONG> : <A HREF="node7.html#4222"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>getmenu</TT></STRONG> : <A HREF="node7.html#4224"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>getwinprop</TT></STRONG> : <A HREF="node7.html#4226"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_activity</TT></STRONG> : <A HREF="node7.html#4250"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_first</TT></STRONG> : <A HREF="node7.html#4252"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_next</TT></STRONG> : <A HREF="node7.html#4254"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_next_screen</TT></STRONG> : <A HREF="node7.html#4256"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_nth_screen</TT></STRONG> : <A HREF="node7.html#4258"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_prev_screen</TT></STRONG> : <A HREF="node7.html#4260"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>goto_previous</TT></STRONG> : <A HREF="node7.html#4262"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>is_i18n</TT></STRONG> : <A HREF="node7.html#4264"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>kpress</TT></STRONG> : <A HREF="node7.html#4326"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>kpress_wait</TT></STRONG> : <A HREF="node7.html#4328"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>load_module</TT></STRONG> : <A HREF="node7.html#4266"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>lookup_clientwin</TT></STRONG> : <A HREF="node7.html#4268"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>lookup_region</TT></STRONG> : <A HREF="node7.html#4270"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>lookup_script</TT></STRONG> : <A HREF="node7.html#4212"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>match_winprop_name</TT></STRONG> : <A HREF="node7.html#4330"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>mclick</TT></STRONG> : <A HREF="node7.html#4332"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>mdblclick</TT></STRONG> : <A HREF="node7.html#4334"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>mdrag</TT></STRONG> : <A HREF="node7.html#4336"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>menuentry</TT></STRONG> : <A HREF="node7.html#4338"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>mpress</TT></STRONG> : <A HREF="node7.html#4340"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>navi_first</TT></STRONG> : <A HREF="node7.html#4272"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>navi_next</TT></STRONG> : <A HREF="node7.html#4274"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>popen_bgread</TT></STRONG> : <A HREF="node7.html#4276"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>progname</TT></STRONG> : <A HREF="node7.html#4278"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>read_savefile</TT></STRONG> : <A HREF="node7.html#4208"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>refresh_stylelist</TT></STRONG> : <A HREF="node7.html#4342"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>region_list</TT></STRONG> : <A HREF="node7.html#4280"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>request_selection</TT></STRONG> : <A HREF="node7.html#4282"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>resign</TT></STRONG> : <A HREF="node7.html#4284"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>restart</TT></STRONG> : <A HREF="node7.html#4286"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>restart_other</TT></STRONG> : <A HREF="node7.html#4288"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>set</TT></STRONG> : <A HREF="node7.html#4290"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>set_get_winprop_fn</TT></STRONG> : <A HREF="node7.html#4292"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>set_paths</TT></STRONG> : <A HREF="node7.html#4294"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>set_selection</TT></STRONG> : <A HREF="node7.html#4296"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>shutdown</TT></STRONG> : <A HREF="node7.html#4298"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>snapshot</TT></STRONG> : <A HREF="node7.html#4300"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>submap</TT></STRONG> : <A HREF="node7.html#4344"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>submenu</TT></STRONG> : <A HREF="node7.html#4346"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>tagged_list</TT></STRONG> : <A HREF="node7.html#4302"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>tags_first</TT></STRONG> : <A HREF="node7.html#4304"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>TR</TT></STRONG> : <A HREF="node7.html#4188"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>version</TT></STRONG> : <A HREF="node7.html#4306"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>warn</TT></STRONG> : <A HREF="node7.html#4308"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>warn_traced</TT></STRONG> : <A HREF="node7.html#4310"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>write_savefile</TT></STRONG> : <A HREF="node7.html#4214"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>x_change_property</TT></STRONG> : <A HREF="node7.html#4312"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>x_delete_property</TT></STRONG> : <A HREF="node7.html#4314"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>x_get_atom_name</TT></STRONG> : <A HREF="node7.html#4316"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>x_get_text_property</TT></STRONG> : <A HREF="node7.html#4318"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>x_get_window_property</TT></STRONG> : <A HREF="node7.html#4320"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>x_intern_atom</TT></STRONG> : <A HREF="node7.html#4322"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>x_set_text_property</TT></STRONG> : <A HREF="node7.html#4324"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+</DL>
+<DD><STRONG><TT>ioncore_deinit_hook</TT></STRONG>
+ : <A HREF="node7.html#9406"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">8</SPAN></A>
+<DD><STRONG><TT>ioncore_post_layout_setup_hook</TT></STRONG>
+ : <A HREF="node7.html#9407"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">8</SPAN></A>
+<DD><STRONG><TT>ioncore_sigchld_hook</TT></STRONG>
+ : <A HREF="node7.html#9405"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">8</SPAN></A>
+<DD><STRONG><TT>ioncore_snapshot_hook</TT></STRONG>
+ : <A HREF="node7.html#9408"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">8</SPAN></A>
+<DD><STRONG><TT>is_active</TT></STRONG>
+ : <A HREF="node7.html#4456"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+<DD><STRONG><TT>is_activity</TT></STRONG>
+ : <A HREF="node7.html#4458"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+<DD><STRONG><TT>is_fullscreen</TT></STRONG>
+ : <A HREF="node7.html#4352"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>is_hidden</TT></STRONG>
+ : <A HREF="node7.html#4414"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+<DD><STRONG><TT>is_histcompl</TT></STRONG>
+ : <A HREF="node7.html#7932"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>is_i18n</TT></STRONG>
+ : <A HREF="node7.html#4265"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>is_mapped</TT></STRONG>
+ : <A HREF="node7.html#4460"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+<DD><STRONG><TT>is_shaded</TT></STRONG>
+ : <A HREF="node7.html#4365"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>is_tagged</TT></STRONG>
+ : <A HREF="node7.html#4462"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+<DD><STRONG><TT>join</TT></STRONG>
+ : <A HREF="node7.html#4526"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">16</SPAN></A>
+<DD><STRONG><TT>jumpto</TT></STRONG>
+ : <A HREF="node4.html#1417"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><SPAN  CLASS="textit">keysymdef.h</SPAN></STRONG>
+ : <A HREF="node4.html#859"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>kill</TT></STRONG>
+ : <A HREF="node7.html#4354"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>kill_line</TT></STRONG>
+ : <A HREF="node7.html#7934"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>kill_to_bol</TT></STRONG>
+ : <A HREF="node7.html#7936"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>kill_to_eol</TT></STRONG>
+ : <A HREF="node7.html#7938"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>kill_word</TT></STRONG>
+ : <A HREF="node7.html#7940"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>kpress</TT></STRONG>
+ : <A HREF="node7.html#4327"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>kpress_wait</TT></STRONG>
+ : <A HREF="node7.html#4329"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>load_module</TT></STRONG>
+ : <A HREF="node7.html#4267"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><SPAN  CLASS="textbf">Lock</SPAN></STRONG>
+ : <A HREF="node4.html#864"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>lookup_clientwin</TT></STRONG>
+ : <A HREF="node7.html#4269"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>lookup_region</TT></STRONG>
+ : <A HREF="node7.html#4271"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>lookup_script</TT></STRONG>
+ : <A HREF="node7.html#4213"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>managed_list</TT></STRONG>
+ : <A HREF="node7.html#4390"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+ | <A HREF="node7.html#4416"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">7</SPAN></A>
+ | <A HREF="node7.html#6821"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>manager</TT></STRONG>
+ : <A HREF="node3.html#391"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+ | <A HREF="node7.html#4464"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+<DD><STRONG><TT>map</TT></STRONG>
+ : <A HREF="node7.html#4528"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">16</SPAN></A>
+<DD><STRONG><TT>mark</TT></STRONG>
+ : <A HREF="node7.html#7942"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>match_winprop_name</TT></STRONG>
+ : <A HREF="node7.html#4331"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>max_size</TT></STRONG>
+ : <A HREF="node4.html#1418"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>maximize_horiz</TT></STRONG>
+ : <A HREF="node7.html#4367"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>maximize_vert</TT></STRONG>
+ : <A HREF="node7.html#4369"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>mclick</TT></STRONG>
+ : <A HREF="node7.html#4333"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>mdblclick</TT></STRONG>
+ : <A HREF="node7.html#4335"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>mdrag</TT></STRONG>
+ : <A HREF="node7.html#4337"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>menu</TT></STRONG>
+ : <A HREF="node7.html#8780"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN></A>
+<DD><STRONG><TT>menuentry</TT></STRONG>
+ : <A HREF="node4.html#1171"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+ | <A HREF="node7.html#4339"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG>menus</STRONG>
+ : <A HREF="node4.html#1115"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
+<DD><STRONG><TT>message</TT></STRONG>
+ : <A HREF="node7.html#7847"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>min_size</TT></STRONG>
+ : <A HREF="node4.html#1419"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+<DD><STRONG><TT>mkbottom</TT></STRONG>
+ : <A HREF="node7.html#6786"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>mod_dock</TT></STRONG><DL>
+<DD><STRONG><TT>set_floating_shown_on</TT></STRONG> : <A HREF="node7.html#8997"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
+</DL>
+<DD><STRONG><TT>mod_menu</TT></STRONG><DL>
+<DD><STRONG><TT>get</TT></STRONG> : <A HREF="node7.html#8781"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN></A>
+<DD><STRONG><TT>grabmenu</TT></STRONG> : <A HREF="node7.html#8777"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN></A>
+<DD><STRONG><TT>menu</TT></STRONG> : <A HREF="node7.html#8779"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN></A>
+<DD><STRONG><TT>pmenu</TT></STRONG> : <A HREF="node7.html#8785"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN></A>
+<DD><STRONG><TT>set</TT></STRONG> : <A HREF="node7.html#8783"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">4</SPAN></A>
+</DL>
+<DD><STRONG><TT>mod_query</TT></STRONG><DL>
+<DD><STRONG><TT>defcmd</TT></STRONG> : <A HREF="node7.html#7832"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>get</TT></STRONG> : <A HREF="node7.html#7834"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>history_clear</TT></STRONG> : <A HREF="node7.html#7836"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>history_get</TT></STRONG> : <A HREF="node7.html#7838"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>history_push</TT></STRONG> : <A HREF="node7.html#7840"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>history_search</TT></STRONG> : <A HREF="node7.html#7842"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>history_table</TT></STRONG> : <A HREF="node7.html#7844"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>message</TT></STRONG> : <A HREF="node7.html#7846"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>popen_completions</TT></STRONG> : <A HREF="node7.html#7852"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query</TT></STRONG> : <A HREF="node7.html#7854"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_attachclient</TT></STRONG> : <A HREF="node7.html#7856"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_editfile</TT></STRONG> : <A HREF="node7.html#7858"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_exec</TT></STRONG> : <A HREF="node7.html#7860"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_gotoclient</TT></STRONG> : <A HREF="node7.html#7862"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_lua</TT></STRONG> : <A HREF="node7.html#7864"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_man</TT></STRONG> : <A HREF="node7.html#7866"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_menu</TT></STRONG> : <A HREF="node7.html#7868"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_renameframe</TT></STRONG> : <A HREF="node7.html#7870"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_renameworkspace</TT></STRONG> : <A HREF="node7.html#7872"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_restart</TT></STRONG> : <A HREF="node7.html#7874"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_runfile</TT></STRONG> : <A HREF="node7.html#7876"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_shutdown</TT></STRONG> : <A HREF="node7.html#7878"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_ssh</TT></STRONG> : <A HREF="node7.html#7880"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_workspace</TT></STRONG> : <A HREF="node7.html#7883"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>query_yesno</TT></STRONG> : <A HREF="node7.html#7885"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>set</TT></STRONG> : <A HREF="node7.html#7848"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>show_about_ion</TT></STRONG> : <A HREF="node7.html#7887"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>show_tree</TT></STRONG> : <A HREF="node7.html#7889"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+<DD><STRONG><TT>warn</TT></STRONG> : <A HREF="node7.html#7850"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
+</DL>
+<DD><STRONG><TT>mod_sp</TT></STRONG><DL>
+<DD><STRONG><TT>set_shown</TT></STRONG> : <A HREF="node7.html#9106"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">6</SPAN></A>
+<DD><STRONG><TT>set_shown_on</TT></STRONG> : <A HREF="node7.html#9108"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">6</SPAN></A>
+</DL>
+<DD><STRONG><TT>mod_tiling</TT></STRONG><DL>
+<DD><STRONG><TT>detach</TT></STRONG> : <A HREF="node7.html#6781"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>get</TT></STRONG> : <A HREF="node7.html#6783"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>mkbottom</TT></STRONG> : <A HREF="node7.html#6785"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+<DD><STRONG><TT>set</TT></STRONG> : <A HREF="node7.html#6787"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
+</DL>
+<DD><STRONG><TT>mode</TT></STRONG>
+ : <A HREF="node7.html#4371"><SPAN CLASS="arabic"&g