]> git.decadent.org.uk Git - ion3-doc.git/blobdiff - ionconf/node4.html
[svn-upgrade] Integrating new upstream version, ion3 (20070318)
[ion3-doc.git] / ionconf / node4.html
index d156abd426bc9cb0516db9e6753a0984443e03db..0aab7ccf5ef6e25be645d51f6ef38fe919a96ca4 100644 (file)
@@ -28,31 +28,31 @@ original version by:  Nikos Drakos, CBLU, University of Leeds
 <BODY >
 
 <DIV CLASS="navigation"><!--Navigation Panel-->
-<A NAME="tex2html261"
+<A NAME="tex2html267"
   HREF="node5.html">
 <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
-<A NAME="tex2html255"
+<A NAME="tex2html261"
   HREF="ionconf.html">
 <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
-<A NAME="tex2html249"
+<A NAME="tex2html255"
   HREF="node3.html">
 <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
-<A NAME="tex2html257"
+<A NAME="tex2html263"
   HREF="node1.html">
 <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
-<A NAME="tex2html259"
+<A NAME="tex2html265"
   HREF="node11.html">
 <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
 <BR>
-<B> Next:</B> <A NAME="tex2html262"
+<B> Next:</B> <A NAME="tex2html268"
   HREF="node5.html">4. Graphical styles</A>
-<B> Up:</B> <A NAME="tex2html256"
+<B> Up:</B> <A NAME="tex2html262"
   HREF="ionconf.html">Configuring and extending Ion3</A>
-<B> Previous:</B> <A NAME="tex2html250"
+<B> Previous:</B> <A NAME="tex2html256"
   HREF="node3.html">2. Preliminaries: Key concepts</A>
- &nbsp; <B>  <A NAME="tex2html258"
+ &nbsp; <B>  <A NAME="tex2html264"
   HREF="node1.html">Contents</A></B> 
- &nbsp; <B>  <A NAME="tex2html260"
+ &nbsp; <B>  <A NAME="tex2html266"
   HREF="node11.html">Index</A></B> 
 <BR>
 <BR></DIV>
@@ -61,58 +61,60 @@ original version by:  Nikos Drakos, CBLU, University of Leeds
 <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
 
 <UL CLASS="ChildLinks">
-<LI><A NAME="tex2html263"
+<LI><A NAME="tex2html269"
   HREF="node4.html#SECTION00410000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> The configuration files</A>
-<LI><A NAME="tex2html264"
+<LI><A NAME="tex2html270"
   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="tex2html265"
+<LI><A NAME="tex2html271"
   HREF="node4.html#SECTION00430000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> Keys and rodents</A>
 <UL>
-<LI><A NAME="tex2html266"
+<LI><A NAME="tex2html272"
   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="tex2html267"
+<LI><A NAME="tex2html273"
   HREF="node4.html#SECTION00432000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> Guards</A>
-<LI><A NAME="tex2html268"
+<LI><A NAME="tex2html274"
   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="tex2html269"
+<LI><A NAME="tex2html275"
   HREF="node4.html#SECTION00434000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN> Examples</A>
-<LI><A NAME="tex2html270"
+<LI><A NAME="tex2html276"
   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="tex2html271"
+<LI><A NAME="tex2html277"
   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="tex2html272"
+<LI><A NAME="tex2html278"
   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>
 <BR>
-<LI><A NAME="tex2html273"
+<LI><A NAME="tex2html279"
   HREF="node4.html#SECTION00440000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN> Menus</A>
 <UL>
-<LI><A NAME="tex2html274"
+<LI><A NAME="tex2html280"
   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="tex2html275"
+<LI><A NAME="tex2html281"
   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="tex2html276"
+<LI><A NAME="tex2html282"
   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="tex2html277"
+<LI><A NAME="tex2html283"
   HREF="node4.html#SECTION00444000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">4</SPAN> Displaying menus</A>
 </UL>
 <BR>
-<LI><A NAME="tex2html278"
+<LI><A NAME="tex2html284"
   HREF="node4.html#SECTION00450000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN> Winprops</A>
 <UL>
-<LI><A NAME="tex2html279"
-  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="tex2html280"
-  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="tex2html281"
-  HREF="node4.html#SECTION00453000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN> Some common examples</A>
+<LI><A NAME="tex2html285"
+  HREF="node4.html#SECTION00451000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN> Sizehint winprops</A>
+<LI><A NAME="tex2html286"
+  HREF="node4.html#SECTION00452000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN> Classes, roles and instances</A>
+<LI><A NAME="tex2html287"
+  HREF="node4.html#SECTION00453000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN> Finding window identification</A>
+<LI><A NAME="tex2html288"
+  HREF="node4.html#SECTION00454000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">4</SPAN> Some common examples</A>
 <UL>
-<LI><A NAME="tex2html282"
-  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="tex2html283"
-  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="tex2html284"
-  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>
+<LI><A NAME="tex2html289"
+  HREF="node4.html#SECTION00454100000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN> Acrobat Reader</A>
+<LI><A NAME="tex2html290"
+  HREF="node4.html#SECTION00454200000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN> Fixing a Mozilla Firebird transient</A>
+<LI><A NAME="tex2html291"
+  HREF="node4.html#SECTION00454300000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">3</SPAN> Forcing newly created windows in named frames</A>
 </UL></UL></UL>
 <!--End of Table of Child-Links-->
 <HR>
@@ -153,9 +155,9 @@ explained. For a reference on exported functions, see section
 Ion3, to which document applies, stores its stock configuration files in
 <SPAN  CLASS="textit">/usr/local/etc/ion3/</SPAN> unless you, the OS package maintainer or 
 whoever  installed the package on the system has modified the variables
-<TT>PREFIX</TT><A NAME="584"></A> or
-<TT>ETCDIR</TT><A NAME="585"></A> in
-<SPAN  CLASS="textit">system.mk</SPAN><A NAME="586"></A> before compiling Ion.
+<TT>PREFIX</TT><A NAME="590"></A> or
+<TT>ETCDIR</TT><A NAME="591"></A> in
+<SPAN  CLASS="textit">system.mk</SPAN><A NAME="592"></A> 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. 
@@ -199,6 +201,9 @@ files:
 <TD ALIGN="LEFT">Settings to get some applications behave more nicely have been 
     collected here. See section <A HREF="#sec:winprops">3.5</A>.</TD>
 </TR>
+<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=1><SPAN  CLASS="textit">cfg_layouts.lua</SPAN></TD>
+<TD ALIGN="LEFT">Some workspace layouts are defined here.</TD>
+</TR>
 <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=1><SPAN  CLASS="textit">cfg_tiling.lua</SPAN> 
     <SPAN  CLASS="textit">cfg_query.lua</SPAN> 
     <SPAN  CLASS="textit">cfg_menu.lua</SPAN> 
@@ -270,15 +275,26 @@ 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.
+side effects. 
+
+<P>
+There are some other options as well; see the documentation
+for <A HREF="node7.html#fn:ioncore.set"><TT>ioncore.set</TT></A> for details.
 
 <P>
-Next we load the configuration for Ion's core, and some kludges:
+As a next step, in the actual <SPAN  CLASS="textit">cfg_ion.lua</SPAN> file, we load
+<SPAN  CLASS="textit">cfg_defaults.lua</SPAN>. However, it is merely a conveniency file for
+doing exactly what we will going through below, and what is commented
+out in the actual file. If you do not want to load what 
+<SPAN  CLASS="textit">cfg_defaults.lua</SPAN> loads, just comment out the corresponding 
+line, and uncomment the lines for the files that you want:
 
 <P>
 <PRE>
+--dopath("cfg_defaults")
 dopath("cfg_ioncore")
 dopath("cfg_kludges")
+dopath("cfg_layouts")
 </PRE>
 
 <P>
@@ -298,6 +314,8 @@ 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&lt;3&gt;' to 'barba...&lt;3&gt;'; for
 details see the function reference entry for <A HREF="node7.html#fn:ioncore.defshortening"><TT>ioncore.defshortening</TT></A>.
+Finally, <SPAN  CLASS="textit">cfg_layouts.lua</SPAN> defines some workspace layouts, available
+through the <SPAN  CLASS="textbf">F9</SPAN> workspace creation query.
 
 <P>
 To actually be able to do something besides display windows in full screen
@@ -305,22 +323,14 @@ mode, we must next load some modules:
 
 <P>
 <PRE>
-dopath("cfg_modules")
---dopath("mod_query")
---dopath("mod_menu")
---dopath("mod_tiling")
---dopath("mod_statusbar")
+dopath("mod_query")
+dopath("mod_menu")
+dopath("mod_tiling")
+dopath("mod_statusbar")
 --dopath("mod_dock")
---dopath("mod_sp")
+dopath("mod_sp")
 </PRE>
 
-<P>
-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 <SPAN  CLASS="textit">cfg_modules</SPAN>, and uncomment
-the lines for the modules you want, or add more.
-
 <P>
 
 <H2><A NAME="SECTION00430000000000000000"></A>
@@ -573,8 +583,8 @@ defbindings("WFrame", {
 As seen above, the functions that create key binding specifications require
 a <TT>keyspec</TT> argument. This argument should be a string containing the
 name of a key as listed in the X header file <SPAN  CLASS="textit">keysymdef.h</SPAN><A NAME="tex2html7"
-  HREF="#foot857"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A> without the <TT>XK_</TT> prefix.
-<A NAME="858"></A>
+  HREF="#foot871"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A> without the <TT>XK_</TT> prefix.
+<A NAME="872"></A>
 Most of the key names are quite intuitive while some are not. For example,
 the <SPAN  CLASS="textbf">Enter</SPAN> key on the main part of the keyboard has the less common
 name <SPAN  CLASS="textbf">Return</SPAN> while the one the numpad is called <SPAN  CLASS="textbf">KP_Enter</SPAN>.
@@ -586,23 +596,23 @@ modifiers:
 <BLOCKQUOTE>
 <SPAN  CLASS="textbf">Shift</SPAN>, <SPAN  CLASS="textbf">Control</SPAN>, <SPAN  CLASS="textbf">Mod1</SPAN> to <SPAN  CLASS="textbf">Mod5</SPAN>,
 <SPAN  CLASS="textbf">AnyModifier</SPAN> and <SPAN  CLASS="textbf">Lock</SPAN>.
-<A NAME="859"></A>
-<A NAME="860"></A>
-<A NAME="861"></A>
-<A NAME="862"></A>
-<A NAME="863"></A>
+<A NAME="873"></A>
+<A NAME="874"></A>
+<A NAME="875"></A>
+<A NAME="876"></A>
+<A NAME="877"></A>
 
 </BLOCKQUOTE>
 
 <P>
 X allows binding all of these modifiers to almost any key and while this
 list of modifiers does not explicitly list keys such as 
-<SPAN  CLASS="textbf">Alt</SPAN><A NAME="864"></A> that are common on modern keyboards, such
+<SPAN  CLASS="textbf">Alt</SPAN><A NAME="878"></A> that are common on modern keyboards, such
 keys are bound to one of the <SPAN  CLASS="textbf">ModN</SPAN>. On systems running XFree86
 <SPAN  CLASS="textbf">Alt</SPAN> is usually <SPAN  CLASS="textbf">Mod1</SPAN>. On Suns <SPAN  CLASS="textbf">Mod1</SPAN> is the diamond key
 and <SPAN  CLASS="textbf">Alt</SPAN> something else. One of the ''flying window'' keys on so
 called Windows-keyboards is probably mapped to <SPAN  CLASS="textbf">Mod3</SPAN> if you have
-such a key. Use the program <SPAN  CLASS="textit">xmodmap</SPAN><A NAME="865"></A>
+such a key. Use the program <SPAN  CLASS="textit">xmodmap</SPAN><A NAME="879"></A>
 to find out what exactly is bound where. 
 
 <P>
@@ -614,10 +624,10 @@ default.
 
 <P>
 Ion ignores the <SPAN  CLASS="textbf">Lock</SPAN> modifier and any <SPAN  CLASS="textbf">ModN</SPAN> (<SPAN CLASS="MATH"></SPAN>)
-bound to <SPAN  CLASS="textbf">NumLock</SPAN><A NAME="866"></A> or
-<SPAN  CLASS="textbf">ScrollLock</SPAN><A NAME="867"></A>
+bound to <SPAN  CLASS="textbf">NumLock</SPAN><A NAME="880"></A> or
+<SPAN  CLASS="textbf">ScrollLock</SPAN><A NAME="881"></A>
 by default because such<A NAME="tex2html8"
-  HREF="#foot836"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></SUP></A> locking keys may otherwise
+  HREF="#foot850"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></SUP></A> locking keys may otherwise
 cause confusion.
 
 <P>
@@ -630,7 +640,7 @@ cause confusion.
 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 <SPAN  CLASS="textbf">Button1</SPAN> to
-<SPAN  CLASS="textbf">Button5</SPAN><A NAME="868"></A>. Additionally the
+<SPAN  CLASS="textbf">Button5</SPAN><A NAME="882"></A>. 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
@@ -681,10 +691,10 @@ to it is available virtually everywhere.
 </H3>
 
 <P>
-<A NAME="1114"></A>
-<A NAME="1171"></A>
-<A NAME="1172"></A>
-<A NAME="1173"></A>
+<A NAME="1128"></A>
+<A NAME="1185"></A>
+<A NAME="1186"></A>
+<A NAME="1187"></A>
 In the stock configuration file setup, menus are defined in the file
 <SPAN  CLASS="textit">cfg_menus.lua</SPAN> as previously mentioned. The <SPAN  CLASS="textit">mod_menu</SPAN> module
 must be loaded for one to be able to define menus, and this is done with
@@ -821,7 +831,7 @@ handlers (and elsewhere):
       after which the selected entry is activated. This function is meant to 
       be used for implementing, for example, Win***s-style <SPAN  CLASS="textbf">Alt-Tab</SPAN> 
       handling.<A NAME="tex2html9"
-  HREF="#foot1174"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN></SUP></A></TD>
+  HREF="#foot1188"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN></SUP></A></TD>
 </TR>
 </TABLE>
 
@@ -849,7 +859,7 @@ defbindings("WFrame", {
 </H2>
 
 <P>
-The so-called ''winprops''<A NAME="1269"></A> can be used to change how
+The so-called ''winprops''<A NAME="1283"></A> 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
 <TT>defwinprop</TT> with a table containing the properties to set and the
@@ -867,7 +877,7 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1429"></A>
+<DD><A NAME="1438"></A>
     Set this to <TT>true</TT> 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
@@ -877,21 +887,6 @@ usual method of identifying windows, and how to obtain this information.
 </DD>
 </DL>
 
-<P>
-
-  <DL>
-<DT><STRONG>Winprop:</STRONG></DT>
-<DD><TT>aspect</TT> (table)
-      
-</DD>
-<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1430"></A>
-    The table should contain the entries <TT>w</TT> and <TT>h</TT> that
-    override application-supplied aspect ratio hint.
-
-</DD>
-</DL>
-
 <P>
 
   <DL>
@@ -900,7 +895,7 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1431"></A>
+<DD><A NAME="1439"></A>
     Set this to open the window in a floating frame, when
     in a group.
 
@@ -915,7 +910,7 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1432"></A>
+<DD><A NAME="1440"></A>
     Should the window be initially in full screen mode?
 
 </DD>
@@ -929,7 +924,7 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1433"></A>
+<DD><A NAME="1441"></A>
     Should configure requests on the window be ignored?
     Only has effect on floating windows.
 
@@ -944,26 +939,12 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1434"></A>
+<DD><A NAME="1442"></A>
     Ignore extended WM hints <TT>_NET_ACTIVE_WINDOW</TT> request.
 
 </DD>
 </DL>
 
-<P>
-
-  <DL>
-<DT><STRONG>Winprop:</STRONG></DT>
-<DD><TT>ignore_resizeinc</TT> (boolean)
-      
-</DD>
-<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1435"></A>
-    Should application supplied size increments be ignored?
-
-</DD>
-</DL>
-
 <P>
 
   <DL>
@@ -972,42 +953,13 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1436"></A>
+<DD><A NAME="1443"></A>
     Should a newly created client window always be made
     active, even if the allocated frame isn't.
 
 </DD>
 </DL>
 
-<P>
-
-  <DL>
-<DT><STRONG>Winprop:</STRONG></DT>
-<DD><TT>max_size</TT> (table)
-      
-</DD>
-<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1437"></A>
-    The table should contain the entries <TT>w</TT> and <TT>h</TT> that
-    override application-supplied maximum size hint.
-
-</DD>
-</DL>
-
-<P>
-
-  <DL>
-<DT><STRONG>Winprop:</STRONG></DT>
-<DD><TT>min_size</TT> (table)
-      
-</DD>
-<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1438"></A>
-    Similar to <TT>max_size</TT> but for the minimum size hint.
-
-</DD>
-</DL>
-
 <P>
 
   <DL>
@@ -1016,7 +968,7 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1439"></A>
+<DD><A NAME="1444"></A>
     If the region specified by <TT>target</TT> winprop does not exist
     (or that winprop is not set), create a new workspace using the 
     previously stored layout (see <A HREF="node7.html#fn:ioncore.deflayout"><TT>ioncore.deflayout</TT></A>) named by
@@ -1035,7 +987,7 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1440"></A>
+<DD><A NAME="1445"></A>
     Discard this winprop after first use.
 
 </DD>
@@ -1049,11 +1001,11 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1441"></A>
-    Put the window on the statusbar, in the named tray component,
-    (The default tray component is called simply ``<TT>systray</TT>''
+<DD><A NAME="1446"></A>
+    Put the window in the statusbar, in the named tray component,
+    (The default tray component is called simply <TT>"systray"</TT>
     and others you give names to in your custom template, always 
-    prefixed by ``<TT>systray_</TT>''.
+    prefixed by <TT>"systray_"</TT>.
 
 </DD>
 </DL>
@@ -1066,7 +1018,7 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1442"></A>
+<DD><A NAME="1447"></A>
     Should a newly mapped client window be switched to within
     its frame.
 
@@ -1081,7 +1033,7 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1443"></A>
+<DD><A NAME="1448"></A>
     The name of an object (workspace, frame) that should manage 
     windows of this type. See also <TT>new_group</TT>.
 
@@ -1096,33 +1048,17 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1444"></A>
-    "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
+<DD><A NAME="1449"></A>
+    <TT>"normal"</TT>: No change in behaviour. <TT>"current"</TT>:
+    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. <TT>"off"</TT>: The window should 
+    be handled as a normal window even if it is marked as a
     transient by the application.
 
 </DD>
 </DL>
 
-<P>
-
-  <DL>
-<DT><STRONG>Winprop:</STRONG></DT>
-<DD><TT>transients_at_top</TT> (boolean)
-      
-</DD>
-<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1445"></A>
-    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?
-
-</DD>
-</DL>
-
 <P>
 
   <DL>
@@ -1131,7 +1067,7 @@ usual method of identifying windows, and how to obtain this information.
       
 </DD>
 <DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1446"></A>
+<DD><A NAME="1450"></A>
     Should frames be made transparent when this window is selected? 
 <BR>  
   
@@ -1140,17 +1076,47 @@ usual method of identifying windows, and how to obtain this information.
 
 <P>
 
-<H3><A NAME="SECTION00451000000000000000"></A>
+<H3><A NAME="SECTION00451000000000000000">
+<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN> Sizehint winprops</A>
+</H3>
+
+<P>
+Additionally, the winprops 
+<TT>max_size</TT><A NAME="1451"></A>,
+<TT>min_size</TT><A NAME="1452"></A>,
+<TT>aspect</TT><A NAME="1453"></A>,
+<TT>resizeinc</TT><A NAME="1454"></A>,
+and
+<TT>ignore_max_size</TT><A NAME="1455"></A>,
+<TT>ignore_min_size</TT><A NAME="1456"></A>,
+<TT>ignore_aspect</TT><A NAME="1457"></A>,
+<TT>ignore_resizeinc</TT><A NAME="1458"></A>,
+may be used to override application-supplied size hints. The four
+first ones are tables with the fields <TT>w</TT> and <TT>h</TT>, indicating
+the width and height size hints in pixels, and the latter ignore
+winprop is a boolean. 
+
+<P>
+Finally, the boolean
+<TT>userpos</TT><A NAME="1459"></A> option may be used to
+override the <TT>USPosition</TT> flag of the size hints. Normally,
+when this flag is set, Ion tries to respect the supplied window
+position more than when it is not set. Obviously, this makes sense
+only for floating windows.
+
+<P>
+
+<H3><A NAME="SECTION00452000000000000000"></A>
 <A NAME="sec:classesrolesinstances"></A>
 <BR>
-<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">1</SPAN> Classes, roles and instances
+<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN> Classes, roles and instances
 </H3>
 
 <P>
 The identification information in the winprop specification is usually the
-<TT>class</TT><A NAME="1447"></A>,
-<TT>role</TT><A NAME="1448"></A>,
-<TT>instance</TT><A NAME="1449"></A> and
+<TT>class</TT><A NAME="1460"></A>,
+<TT>role</TT><A NAME="1461"></A>,
+<TT>instance</TT><A NAME="1462"></A> and
 <TT>name</TT>
 of the window. The <TT>name</TT> field is a Lua-style regular expression
 matched against the window's title and the rest are strings that must
@@ -1223,8 +1189,8 @@ the same but different <TT>name</TT>, the longest match is chosen.
 
 <P>
 
-<H3><A NAME="SECTION00452000000000000000">
-<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN> Finding window identification</A>
+<H3><A NAME="SECTION00453000000000000000">
+<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN> Finding window identification</A>
 </H3>
 
 <P>
@@ -1233,7 +1199,7 @@ can be used to list the identification information required to set winprops
 for a window and all the transient windows managed within it. 
 
 <P>
-<A NAME="1402"></A> 
+<A NAME="1411"></A> 
 Another way to get the identification information is to use <TT>xprop</TT>.
 Simply run To get class and instance, simply run <TT>xprop WM_CLASS</TT>
 and click on the particular window of interest. The class is the latter of
@@ -1242,7 +1208,7 @@ windows have this property - use the command <TT>xprop WM_ROLE</TT>.
 This method, however, will not work on transients. 
 
 <P>
-<A NAME="1406"></A>
+<A NAME="1415"></A>
 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 
@@ -1251,7 +1217,7 @@ Unfortunately <TT>xprop</TT> 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.<A NAME="tex2html11"
-  HREF="#foot1451"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN></SUP></A>
+  HREF="#foot1464"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN></SUP></A>
 <P>
 Finally, it should be mentioned that too many authors these days
 ''forget'' to set this vital identification to anything meaningful:
@@ -1260,14 +1226,14 @@ windows, for example.
 
 <P>
 
-<H3><A NAME="SECTION00453000000000000000">
-<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN> Some common examples</A>
+<H3><A NAME="SECTION00454000000000000000">
+<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">4</SPAN> Some common examples</A>
 </H3>
 
 <P>
 
-<H4><A NAME="SECTION00453100000000000000">
-<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> Acrobat Reader</A>
+<H4><A NAME="SECTION00454100000000000000">
+<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN> Acrobat Reader</A>
 </H4>
 
 <P>
@@ -1284,8 +1250,8 @@ defwinprop{
 
 <P>
 
-<H4><A NAME="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>
+<H4><A NAME="SECTION00454200000000000000">
+<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN> Fixing a Mozilla Firebird transient</A>
 </H4>
 
 <P>
@@ -1313,8 +1279,8 @@ defwinprop{
 
 <P>
 
-<H4><A NAME="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>
+<H4><A NAME="SECTION00454300000000000000">
+<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">3</SPAN> Forcing newly created windows in named frames</A>
 </H4>
 
 <P>
@@ -1351,26 +1317,26 @@ default name formed from the frame's class name and an instance number.
 <P>
 <BR><HR><H4>Footnotes</H4>
 <DL>
-<DT><A NAME="foot857">...keysymdef.h</A><A
+<DT><A NAME="foot871">...keysymdef.h</A><A
  HREF="node4.html#tex2html7"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A></DT>
 <DD>This file can usually be found in the directory
 <SPAN  CLASS="textit">/usr/X11R6/include/X11/</SPAN>.
 
 </DD>
-<DT><A NAME="foot836">... such</A><A
+<DT><A NAME="foot850">... such</A><A
  HREF="node4.html#tex2html8"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></SUP></A></DT>
 <DD>Completely useless keys that should be
 gotten rid of in the author's opinion.
 
 </DD>
-<DT><A NAME="foot1174">... handling.</A><A
+<DT><A NAME="foot1188">... handling.</A><A
  HREF="node4.html#tex2html9"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN></SUP></A></DT>
 <DD>See the <SPAN  CLASS="textit">wcirculate.lua</SPAN> script in the Ion 
         scripts repository <TT><A NAME="tex2html10"
   HREF="http://iki.fi/tuomov/repos/ion-scripts-3/">http://iki.fi/tuomov/repos/ion-scripts-3/</A></TT>.
 
 </DD>
-<DT><A NAME="foot1451">... window.</A><A
+<DT><A NAME="foot1464">... window.</A><A
  HREF="node4.html#tex2html11"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN></SUP></A></DT>
 <DD>There's a patch to <TT>xprop</TT> to
 fix this, but nothing seems to be happening with respect to including it in 
@@ -1380,31 +1346,31 @@ XFree86.
 </DL>
 <DIV CLASS="navigation"><HR>
 <!--Navigation Panel-->
-<A NAME="tex2html261"
+<A NAME="tex2html267"
   HREF="node5.html">
 <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
-<A NAME="tex2html255"
+<A NAME="tex2html261"
   HREF="ionconf.html">
 <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
-<A NAME="tex2html249"
+<A NAME="tex2html255"
   HREF="node3.html">
 <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
-<A NAME="tex2html257"
+<A NAME="tex2html263"
   HREF="node1.html">
 <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
-<A NAME="tex2html259"
+<A NAME="tex2html265"
   HREF="node11.html">
 <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
 <BR>
-<B> Next:</B> <A NAME="tex2html262"
+<B> Next:</B> <A NAME="tex2html268"
   HREF="node5.html">4. Graphical styles</A>
-<B> Up:</B> <A NAME="tex2html256"
+<B> Up:</B> <A NAME="tex2html262"
   HREF="ionconf.html">Configuring and extending Ion3</A>
-<B> Previous:</B> <A NAME="tex2html250"
+<B> Previous:</B> <A NAME="tex2html256"
   HREF="node3.html">2. Preliminaries: Key concepts</A>
- &nbsp; <B>  <A NAME="tex2html258"
+ &nbsp; <B>  <A NAME="tex2html264"
   HREF="node1.html">Contents</A></B> 
- &nbsp; <B>  <A NAME="tex2html260"
+ &nbsp; <B>  <A NAME="tex2html266"
   HREF="node11.html">Index</A></B> </DIV>
 <!--End of Navigation Panel-->