<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
	"http://www.w3.org/TR/html4/strict.dtd">

<HTML lang="en">

<HEAD>

<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="Author" lang="fr" content="Vincent Lefvre">

<TITLE>TitleMenu 3.04 (2003-05-25)</TITLE>

</HEAD>

<BODY>

<DIV style="text-align: center">

<H1>TitleMenu 3.04 (2003-05-25)</H1>

<P>written by
<A href="http://www.vinc17.org/"><SPAN lang="fr">Vincent Lefvre</SPAN></A></P>

</DIV>

<DIV class="section">

<H2><A name="descr">Description</A></H2>

<DIV class="subsection">

<H3><A name="menus">Menus and Title Bar</A></H3>

<P>This utility allows to bring up a menu consisting of a directory
and its ancestors by clicking on the title bar of a window with the
<CITE>Menu</CITE> button. There are two kinds of menus:</P>

<DL>

<DT><A name="menudoc">Document Menus</A>
<DD>Such a menu is defined when the first word of a window title is a
filename with a full pathname. It is the case of a <CITE>filer</CITE>
window or of a window containing a document (document window of a text
editor such as <CITE>Zap</CITE> or <CITE>StrongED</CITE>, or of the
<CITE>Draw</CITE> application, for instance). The menu consists of the
directory containing the concerned file and all its ancestors.

<DT><A name="menuapp">Application Menus</A>
<DD>Such a menu is defined when the task that owns the window has set
an <VAR><EM>Application</EM>$Dir</VAR> variable, giving the application
directory. The menu consists of this application directory and all its
ancestors; moreover, if this directory contains a <CITE>!Help</CITE>
file, then the menu will have an additional item <SAMP>Help</SAMP> to
get help on this application.

</DL>

<P>The document menu is the default menu, but this can be changed thanks to
<A href="#modes">modes</A>. The other menu can be brought up by pressing a
<A href="#key">special key</A> (by default, <CITE>Shift</CITE>).</P>

<P>Selecting a menu item will open the corresponding directory or will
display the help on the application. These menus have other two items:</P>

<UL>

<LI><SAMP>Info</SAMP>, to get the standard <A href="#info">information
box</A> on the program or to display this help file (with a click over
<SAMP>Info</SAMP>);

<LI><SAMP>Quit</SAMP>, to quit <CITE>TitleMenu</CITE>.

</UL>

</DIV>

<DIV class="subsection">

<H3><A name="closeicon">Close Icon</A></H3>

<P>A click on the close icon with the <CITE>Menu</CITE> button allows
to open the first directory of the corresponding menu, without using
this menu (in a <CITE>filer</CITE> window, this is equivalent to an
<CITE>Open parent</CITE>). This feature can be disabled by changing
the current <A href="#modes">mode</A>.</P>

</DIV>

<DIV class="subsection">

<H3><A name="key">Special Key</A></H3>

<P>A special key allows to bring up the other menu but the one
chosen in preference. This special key can be changed with the
<KBD>*TitleMenuSKey</KBD> command; give the key code (from 0 to
127) in argument. The command with no argument returns the current
key code. The main key codes are given by the following table:</P>

<TABLE border=1>
<TR align="center"><TH><TH>Shift<TH>Ctrl<TH>Alt
<TR align="center"><TH>L &amp; R<TD>0<TD>1<TD>2
<TR align="center"><TH>Left<TD>3<TD>4<TD>5
<TR align="center"><TH>Right<TD>6<TD>7<TD>8
</TABLE>

<P>You can also use the right button of the mouse: code 11.</P>

<P><SMALL>Note: these codes correspond to those used for the
<ABBR>SWI</ABBR> <CODE>OS_Byte&nbsp;121</CODE>.</SMALL></P>

</DIV>

<DIV class="subsection">

<H3><A name="obeydir"><VAR>Obey$Dir</VAR> List</A></H3>

<P>There exists another method to know the directory of an application:
when the application is started, the directory can be read in the
<VAR>Obey$Dir</VAR> variable. As this method isn't completely sure
(even though it seems to be better), it isn't enabled by default;
in particular, the directory will be incorrect if the application
isn't started from an <CITE>Obey</CITE> file. To enable or disable
this method, use the <A href="#modes">modes</A>.</P>

<P>The <KBD>*TitleMenuODL</KBD> command gives the list of the tasks
that had their <VAR>Obey$Dir</VAR> variable memorized. The
<KBD>*TitleMenuRemove</KBD> command allows to remove a task from
this list (the task handle is given in argument).</P>

</DIV>

<DIV class="subsection">

<H3><A name="modes">Modes</A></H3>

<P>You can either display or change the current mode with the
<KBD>*TitleMenuMode</KBD> command. The mode is an integer in the range
0 to 255, and 0 is the default mode. The different possibilities are
given below.</P>

<UL>

<LI>Add 1 to the mode to disable the click with <CITE>Menu</CITE> on
the <A href="#closeicon">close icon</A>.

<LI>Add 2 to the mode to display the <A href="#menuapp">application
menu</A> in preference to the <A href="#menudoc">document menu</A>.

<LI>Add 4 to the mode to display the menu chosen in preference only.
For instance, if it is the <A href="#menudoc">document menu</A> and
only the <A href="#menuapp">application menu</A> is defined, no menu
will be displayed.

<LI>Add 8 to the mode to disable the <A href="#key">special key</A>.

<LI>Add 16 to the mode to enable the <A href="#obeydir"><VAR>Obey$Dir</VAR>
list</A>.

</UL>

<P>If you wish to set the mode when starting <CITE>TitleMenu</CITE>,
add a space and the mode value at the end of the <SAMP>RMRun</SAMP>
line, in the <SAMP>!TitleMenu.!Run</SAMP> file. If the
<A href="#obeydir"><VAR>Obey$Dir</VAR> list</A> is enabled, it is
strongly advised to start <CITE>TitleMenu</CITE> at the <EM>end</EM>
of the boot sequence.</P>

</DIV>

<DIV class="subsection">

<H3><A name="info">Information Box</A></H3>

<P>You can click on the program name <CITE>TitleMenu</CITE> or on
the author <CITE lang="fr">Vincent Lefvre</CITE>. If a web browser
is loaded, this will bring you on my web site.</P>

</DIV>

</DIV>

<DIV class="section">

<H2><A name="clashes">Clashes</A></H2>

<P>There is a clash with Christian Flter's <CITE>MouseAxess</CITE>
module. To be able to use <CITE>TitleMenu</CITE> and <CITE>MouseAxess</CITE>
at the same time, you need to disable the <CITE>MouseAxess</CITE> feature
related to the title bar by modifying the <CITE>MouseAxess</CITE> module.
The following modification on <CITE>MouseAxess</CITE>&nbsp;0.17 seems to
work, but as usual, do that at your own risk.</P>

<P><CITE>MouseAxess</CITE>&nbsp;0.17e:</P>
<PRE>
         Offset   Hex word    Code
------------------------------------------------
Change    1E58    E3740004    CMN R4,#4
 into     1E58    EA000003    B   &amp;00001E6C
------------------------------------------------
Change    1ED8    E3740004    CMN R4,#4
 into     1ED8    EA000001    B   &amp;00001EE4
------------------------------------------------
</PRE>

<P><CITE>MouseAxess</CITE>&nbsp;0.17j:</P>
<PRE>
         Offset   Hex word    Code
------------------------------------------------
Change    1E60    E3740004    CMN R4,#4
 into     1E60    EA000004    B   &amp;00001E78
------------------------------------------------
Change    1EEC    E3740004    CMN R4,#4
 into     1EEC    EA000001    B   &amp;00001EF8
------------------------------------------------
</PRE>

</DIV>

<DIV class="section">

<H2><A name="licence">Licence and Distribution</A></H2>

<P><CITE>TitleMenu</CITE> is <EM>freeware</EM>. Use it at your own risk.
You may freely distribute it under the condition that the files are not
modified or removed and that you do not make any profit. The assembly
source is supplied so that you can modify it for yourself if you want
to. If you wish to distribute a modified version, please contact me
before doing so.</P>

<P>You can find the latest version of my software on my
<A href="http://www.vinc17.org/acorn/riscpc_eng.html">Risc&nbsp;PC
web page</A>. From there, you can also download:</P>
<UL>
<LI><A href="http://www.vinc17.org/acorn/titlemenu.zip">the latest
version of <CITE>TitleMenu</CITE></A>;
<LI><A href="http://www.vinc17.org/acorn/titlemenu_eng.html">the latest
version of this help file</A>.
</UL>

<P>For any contact about <CITE>TitleMenu</CITE>, use the following
address: <A href="mailto:titlemenu@vinc17.org">titlemenu@vinc17.org</A></P>

</DIV>

<HR>

<ADDRESS>
<A href="mailto:vincent@vinc17.org">Vincent Lefvre
&lt;vincent@vinc17.org&gt;</A>
</ADDRESS>

</BODY>

</HTML>
