<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
-<A NAME="tex2html288"
+<A NAME="tex2html287"
HREF="node5.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
-<A NAME="tex2html282"
+<A NAME="tex2html281"
HREF="ionconf.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
-<A NAME="tex2html276"
+<A NAME="tex2html275"
HREF="node3.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
-<A NAME="tex2html284"
+<A NAME="tex2html283"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
-<A NAME="tex2html286"
+<A NAME="tex2html285"
HREF="node11.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
-<B> Next:</B> <A NAME="tex2html289"
+<B> Next:</B> <A NAME="tex2html288"
HREF="node5.html">4. Graphical styles</A>
-<B> Up:</B> <A NAME="tex2html283"
+<B> Up:</B> <A NAME="tex2html282"
HREF="ionconf.html">Configuring and extending Ion3</A>
-<B> Previous:</B> <A NAME="tex2html277"
+<B> Previous:</B> <A NAME="tex2html276"
HREF="node3.html">2. Preliminaries: Key concepts</A>
- <B> <A NAME="tex2html285"
+ <B> <A NAME="tex2html284"
HREF="node1.html">Contents</A></B>
- <B> <A NAME="tex2html287"
+ <B> <A NAME="tex2html286"
HREF="node11.html">Index</A></B>
<BR>
<BR></DIV>
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL CLASS="ChildLinks">
-<LI><A NAME="tex2html290"
+<LI><A NAME="tex2html289"
HREF="node4.html#SECTION00410000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> The configuration files</A>
-<LI><A NAME="tex2html291"
+<LI><A NAME="tex2html290"
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="tex2html292"
+<LI><A NAME="tex2html291"
HREF="node4.html#SECTION00430000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> Keys and rodents</A>
<UL>
-<LI><A NAME="tex2html293"
+<LI><A NAME="tex2html292"
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="tex2html294"
+<LI><A NAME="tex2html293"
HREF="node4.html#SECTION00432000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> Guards</A>
-<LI><A NAME="tex2html295"
+<LI><A NAME="tex2html294"
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="tex2html296"
+<LI><A NAME="tex2html295"
HREF="node4.html#SECTION00434000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN> Examples</A>
-<LI><A NAME="tex2html297"
+<LI><A NAME="tex2html296"
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="tex2html298"
+<LI><A NAME="tex2html297"
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="tex2html299"
+<LI><A NAME="tex2html298"
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="tex2html300"
+<LI><A NAME="tex2html299"
HREF="node4.html#SECTION00440000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN> Menus</A>
<UL>
-<LI><A NAME="tex2html301"
+<LI><A NAME="tex2html300"
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="tex2html302"
+<LI><A NAME="tex2html301"
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="tex2html303"
+<LI><A NAME="tex2html302"
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="tex2html304"
+<LI><A NAME="tex2html303"
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="tex2html305"
+<LI><A NAME="tex2html304"
HREF="node4.html#SECTION00450000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN> Winprops</A>
<UL>
-<LI><A NAME="tex2html306"
+<LI><A NAME="tex2html305"
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="tex2html307"
+<LI><A NAME="tex2html306"
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="tex2html308"
+<LI><A NAME="tex2html307"
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="tex2html309"
+<LI><A NAME="tex2html308"
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="tex2html310"
+<LI><A NAME="tex2html309"
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="tex2html311"
+<LI><A NAME="tex2html310"
HREF="node4.html#SECTION00454200000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">2</SPAN> Forcing newly created windows in named frames</A>
</UL>
</UL>
<BR>
-<LI><A NAME="tex2html312"
+<LI><A NAME="tex2html311"
HREF="node4.html#SECTION00460000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">6</SPAN> The statusbar</A>
<UL>
-<LI><A NAME="tex2html313"
+<LI><A NAME="tex2html312"
HREF="node4.html#SECTION00461000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN> The template</A>
-<LI><A NAME="tex2html314"
+<LI><A NAME="tex2html313"
HREF="node4.html#SECTION00462000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">2</SPAN> The systray</A>
-<LI><A NAME="tex2html315"
+<LI><A NAME="tex2html314"
HREF="node4.html#SECTION00463000000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN> Monitors</A>
<UL>
-<LI><A NAME="tex2html316"
+<LI><A NAME="tex2html315"
HREF="node4.html#SECTION00463100000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> Date</A>
-<LI><A NAME="tex2html317"
+<LI><A NAME="tex2html316"
HREF="node4.html#SECTION00463200000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> Load</A>
-<LI><A NAME="tex2html318"
+<LI><A NAME="tex2html317"
HREF="node4.html#SECTION00463300000000000000"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> Mail</A>
</UL></UL></UL>
<!--End of Table of Child-Links-->
Section <A HREF="#sec:conffiles">3.1</A> 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 <SPAN CLASS="textit">ion.lua</SPAN> is provided in section
+configuration file <SPAN CLASS="textit">cfg_ion.lua</SPAN> is provided in section
<A HREF="#sec:walkthrough">3.2</A>.
How keys and mouse action are bound to functions is described in detail
in <A HREF="#sec:bindings">3.3</A> and in section <A HREF="#sec:winprops">3.5</A> winprops are
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="582"></A> or
-<TT>ETCDIR</TT><A NAME="583"></A> in
-<SPAN CLASS="textit">system.mk</SPAN><A NAME="584"></A> before compiling Ion.
+<TT>PREFIX</TT><A NAME="606"></A> or
+<TT>ETCDIR</TT><A NAME="607"></A> in
+<SPAN CLASS="textit">system.mk</SPAN><A NAME="608"></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.
has been run recently.
<P>
-User configuration files go in <SPAN CLASS="textit">~/.ion3/</SPAN>.
+User configuration files go in .
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 <SPAN CLASS="textit">~/.ion3/</SPAN> and modify this file. When searching
-for a file, if no extension or path component is given, compiled <SPAN CLASS="textit">.lc</SPAN>
-files are attempted before <SPAN CLASS="textit">.lua</SPAN> files.
+file in and modify this file. For sake of maintainability
+of your customised configuration, it is recommended against copying all of
+the files there. Only copy those files you actually need to modify. Most
+simple customisations, such as changes in a few bindings, are best done
+entirely within <SPAN CLASS="textit">cfg_ion.lua</SPAN>.
<P>
All the configuration files are named <SPAN CLASS="textit">cfg_*.lua</SPAN> with the ``<SPAN CLASS="textit">*</SPAN>''
part varying. The configuration file for each module <SPAN CLASS="textit">mod_modname</SPAN> is
<SPAN CLASS="textit">cfg_modname.lua</SPAN>, with <SPAN CLASS="textit">modname</SPAN> varying by the module in
-question. The following table summarises these and other configuration
+question. Configuration files can also be compiled into <SPAN CLASS="textit">.lc</SPAN> files,
+and these are attempted by the configuration file search routines before
+<SPAN CLASS="textit">.lua</SPAN> files.
+
+<P>
+The following table summarises these and other configuration
files:
<P>
Indeed, the workspace and frame tab switching functions are the same both
classes being based on WMPlex, and in the stock configuration the
switch to <SPAN CLASS="MATH"><IMG
- WIDTH="15" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
+ WIDTH="15" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img1.png"
ALT="$n$"></SPAN>:th workspaces is bound to <SPAN CLASS="textbf">Mod1+n</SPAN> while the switch to
<SPAN CLASS="MATH"><IMG
- WIDTH="15" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
+ WIDTH="15" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img1.png"
ALT="$n$"></SPAN>:th tab is bound to the sequence <SPAN CLASS="textbf">Mod1+k n</SPAN>.
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="#foot876"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A> without the <TT>XK_</TT> prefix.
-<A NAME="877"></A>
+ HREF="#foot936"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A> without the <TT>XK_</TT> prefix.
+<A NAME="937"></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>.
<P>
<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="878"></A>
-<A NAME="879"></A>
-<A NAME="880"></A>
-<A NAME="881"></A>
-<A NAME="882"></A>
+<A NAME="938"></A>
+<A NAME="939"></A>
+<A NAME="940"></A>
+<A NAME="941"></A>
+<A NAME="942"></A>
<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="883"></A> that are common on modern keyboards, such
+<SPAN CLASS="textbf">Alt</SPAN><A NAME="943"></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="884"></A>
+such a key. Use the program <SPAN CLASS="textit">xmodmap</SPAN><A NAME="944"></A>
to find out what exactly is bound where.
<P>
<P>
Ion ignores the <SPAN CLASS="textbf">Lock</SPAN> modifier and any <SPAN CLASS="textbf">ModN</SPAN> (<SPAN CLASS="MATH"><IMG
- WIDTH="82" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
+ WIDTH="81" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png"
ALT="$N=1{\ldots} 5$"></SPAN>)
-bound to <SPAN CLASS="textbf">NumLock</SPAN><A NAME="885"></A> or
-<SPAN CLASS="textbf">ScrollLock</SPAN><A NAME="886"></A>
+bound to <SPAN CLASS="textbf">NumLock</SPAN><A NAME="945"></A> or
+<SPAN CLASS="textbf">ScrollLock</SPAN><A NAME="946"></A>
by default because such<A NAME="tex2html8"
- HREF="#foot855"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></SUP></A> locking keys may otherwise
+ HREF="#foot915"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN></SUP></A> locking keys may otherwise
cause confusion.
<P>
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="887"></A>. Additionally the
+<SPAN CLASS="textbf">Button5</SPAN><A NAME="947"></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
</H3>
<P>
-<A NAME="1144"></A>
-<A NAME="1198"></A>
-<A NAME="1199"></A>
-<A NAME="1200"></A>
+<A NAME="1212"></A>
+<A NAME="1263"></A>
+<A NAME="1264"></A>
+<A NAME="1265"></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
<TD ALIGN="LEFT">Keyboard (or mouse) operated menus that open in the bottom-left corner
of a screen or frame.</TD>
</TR>
-<TR><TD ALIGN="LEFT"><A HREF="#fn:mod_menu.bigmenu"><TT>mod_menu.bigmenu</TT></A></TD>
-<TD ALIGN="LEFT">Same as previous, but uses another graphical style.</TD>
-</TR>
<TR><TD ALIGN="LEFT"><A HREF="node7.html#fn:mod_menu.pmenu"><TT>mod_menu.pmenu</TT></A></TD>
<TD ALIGN="LEFT">Mouse-operated drop-down menus. This function can only be called from a
mouse press or drag handler.</TD>
</TABLE>
<P>
-The <A HREF="node7.html#fn:mod_menu.grabmenu"><TT>grabmenu</TT></A> function takes the extra key parameter, but
-aside from that each of these functions takes three arguments, which when
+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:
</H2>
<P>
-The so-called ``winprops''<A NAME="1291"></A> can be used to change how
+The so-called ``winprops''<A NAME="1353"></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
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1458"></A>
+<DD><A NAME="1520"></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
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1459"></A>
+<DD><A NAME="1521"></A>
Set this to open the window in a floating frame, when
in a group.
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1460"></A>
+<DD><A NAME="1522"></A>
Should the window be initially in full screen mode?
</DD>
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1461"></A>
+<DD><A NAME="1523"></A>
Should configure requests on the window be ignored?
Only has effect on floating windows.
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1462"></A>
+<DD><A NAME="1524"></A>
Ignore extended WM hints <TT>_NET_ACTIVE_WINDOW</TT> request.
</DD>
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1463"></A>
+<DD><A NAME="1525"></A>
Should a newly created client window always be made
active, even if the allocated frame isn't.
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1464"></A>
+<DD><A NAME="1526"></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
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1465"></A>
+<DD><A NAME="1527"></A>
Discard this winprop after first use.
</DD>
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1466"></A>
+<DD><A NAME="1528"></A>
The orientation of the window: one of `<TT>vertical</TT>' or
`<TT>horizontal</TT>'. This is only useful when using the
window as a status display.
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1467"></A>
+<DD><A NAME="1529"></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
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1468"></A>
+<DD><A NAME="1530"></A>
Should a newly mapped client window be switched to within
its frame.
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1469"></A>
+<DD><A NAME="1531"></A>
The name of an object (workspace, frame) that should manage
windows of this type. See also <TT>new_group</TT>.
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1470"></A>
+<DD><A NAME="1532"></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
</DD>
<DT><STRONG>Description:</STRONG></DT>
-<DD><A NAME="1471"></A>
+<DD><A NAME="1533"></A>
Should frames be made transparent when this window is selected?
<BR>
<P>
Additionally, the winprops
-<TT>max_size</TT><A NAME="1472"></A>,
-<TT>min_size</TT><A NAME="1473"></A>,
-<TT>aspect</TT><A NAME="1474"></A>,
-<TT>resizeinc</TT><A NAME="1475"></A>,
+<TT>max_size</TT><A NAME="1534"></A>,
+<TT>min_size</TT><A NAME="1535"></A>,
+<TT>aspect</TT><A NAME="1536"></A>,
+<TT>resizeinc</TT><A NAME="1537"></A>,
and
-<TT>ignore_max_size</TT><A NAME="1476"></A>,
-<TT>ignore_min_size</TT><A NAME="1477"></A>,
-<TT>ignore_aspect</TT><A NAME="1478"></A>,
-<TT>ignore_resizeinc</TT><A NAME="1479"></A>,
+<TT>ignore_max_size</TT><A NAME="1538"></A>,
+<TT>ignore_min_size</TT><A NAME="1539"></A>,
+<TT>ignore_aspect</TT><A NAME="1540"></A>,
+<TT>ignore_resizeinc</TT><A NAME="1541"></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
<P>
Finally, the boolean
-<TT>userpos</TT><A NAME="1480"></A> option may be used to
+<TT>userpos</TT><A NAME="1542"></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
<P>
The identification information supported are
-<TT>class</TT><A NAME="1481"></A>,
-<TT>role</TT><A NAME="1482"></A>,
-<TT>instance</TT><A NAME="1483"></A>,
-<TT>name</TT><A NAME="1484"></A>,
-<TT>is_transient</TT><A NAME="1485"></A>, and
-<TT>is_dockapp</TT><A NAME="1486"></A>.
+<TT>class</TT><A NAME="1543"></A>,
+<TT>role</TT><A NAME="1544"></A>,
+<TT>instance</TT><A NAME="1545"></A>,
+<TT>name</TT><A NAME="1546"></A>,
+<TT>is_transient</TT><A NAME="1547"></A>, and
+<TT>is_dockapp</TT><A NAME="1548"></A>.
It is not necessary to specify all of these fields.
The first three are strings, and must exactly match the
corresponding information obtained from the window's properties.
for a window and all the transient windows managed within it.
<P>
-<A NAME="1435"></A>
+<A NAME="1497"></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
This method, however, will not work on transients.
<P>
-<A NAME="1439"></A>
+<A NAME="1501"></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
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="tex2html9"
- HREF="#foot1488"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN></SUP></A>
+ HREF="#foot1550"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN></SUP></A>
<P>
Finally, it should be mentioned that too many authors these days
``forget'' to set this vital identification to anything meaningful:
<P>
<BR><HR><H4>Footnotes</H4>
<DL>
-<DT><A NAME="foot876">...keysymdef.h</A><A
+<DT><A NAME="foot936">... CLASS="textit">keysymdef.h</SPAN></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="foot855">... such</A><A
+<DT><A NAME="foot915">... 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="foot1488">... window.</A><A
+<DT><A NAME="foot1550">... window.</A><A
HREF="node4.html#tex2html9"><SUP><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</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
</DL>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
-<A NAME="tex2html288"
+<A NAME="tex2html287"
HREF="node5.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
-<A NAME="tex2html282"
+<A NAME="tex2html281"
HREF="ionconf.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
-<A NAME="tex2html276"
+<A NAME="tex2html275"
HREF="node3.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
-<A NAME="tex2html284"
+<A NAME="tex2html283"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
-<A NAME="tex2html286"
+<A NAME="tex2html285"
HREF="node11.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
-<B> Next:</B> <A NAME="tex2html289"
+<B> Next:</B> <A NAME="tex2html288"
HREF="node5.html">4. Graphical styles</A>
-<B> Up:</B> <A NAME="tex2html283"
+<B> Up:</B> <A NAME="tex2html282"
HREF="ionconf.html">Configuring and extending Ion3</A>
-<B> Previous:</B> <A NAME="tex2html277"
+<B> Previous:</B> <A NAME="tex2html276"
HREF="node3.html">2. Preliminaries: Key concepts</A>
- <B> <A NAME="tex2html285"
+ <B> <A NAME="tex2html284"
HREF="node1.html">Contents</A></B>
- <B> <A NAME="tex2html287"
+ <B> <A NAME="tex2html286"
HREF="node11.html">Index</A></B> </DIV>
<!--End of Navigation Panel-->