Minor manpage formatting fix.
[fvwm.git] / doc / commands / Stroke.xml
blob86210e67b597b35dde6b5e9a530261b992ecf820
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3   "../docbook-xml/docbookx.dtd"
5 <!ENTITY % myents SYSTEM "../fvwm.ent" >
6 %myents;
7 ]>
9 <!-- $Id: Stroke.xml,v 1.3 2007/06/16 12:38:46 griph Exp $ -->
11 <section id='Stroke'>
12 <title>Stroke</title>
14 <cmdsynopsis>
15         <command>Stroke</command
16         ><arg choice='opt'
17                 >(<replaceable>window</replaceable
18         >)</arg
19         ><arg choice='plain'
20                 ><replaceable>Sequence</replaceable
21         ></arg
22         ><arg choice='plain'
23                 ><replaceable>Button</replaceable
24         ></arg>
25         <arg choice='plain'
26                 ><replaceable>Context</replaceable
27         ></arg
28         ><arg choice='plain'
29                 ><replaceable>Modifiers</replaceable
30         ></arg>
31         <arg choice='plain'
32                 ><replaceable>Function</replaceable
33         ></arg>
34 </cmdsynopsis>
36 <para>Binds a mouse stroke sequence to a specified fvwm command,
37 or removes the binding if
38 <replaceable>Function</replaceable>
39 is '-'.  The syntax is the same as for a
40 <fvwmref cmd="Mouse"/>
41 binding except that
42 <replaceable>Sequence</replaceable>
43 is inserted in front of the button number and a value of 0 for
44 <replaceable>Button</replaceable>
45 concerns the
46 <fvwmref cmd="StrokeFunc"/>
47 command.  The
48 <replaceable>Context</replaceable> and <replaceable>Modifiers</replaceable>
49 fields are defined as in the
50 <fvwmref cmd="Mouse"/>
51 binding.  However, only the '<fvwmref cmd="Mouse" opt="R"/>' Context really works (if you want
52 to use other contexts you need to use the
53 <fvwmref cmd="StrokeFunc"/>
54 below).</para>
56 <para>Strokes sequences are defined in a telephone grid like this:</para>
58 <programlisting>
59  1  2  3
61  4  5  6
63  7  8  9
64 </programlisting>
66 <para>or in a numeric pad grid like this:</para>
68 <programlisting>
69  7  8  9
71  4  5  6
73  1  2  3
74 </programlisting>
76 <para>The telephone grid is used by default, to use the numeric pad grid
77 you should begin the sequence with a '<fvwmopt cmd="Stroke" opt="N"/>'.
78 Note that a complex motion may produce several different sequences
79 (see the "netscape"
80 example below to handle such motion).  Moreover, sequences are
81 limited to 20 elements (with the present version of
82 <emphasis remap='B'>libstroke</emphasis>),
83 however, in practice it is preferable to use sequence with less
84 than 12 elements.</para>
86 <para>Because of the default button menu in fvwm, you may need to remove
87 a mouse button binding (using an empty action) before using the
88 stroke</para>
90 <programlisting>
91 <fvwmref cmd="Mouse"/> 3 R N
92 </programlisting>
94 <para>Also, you can still use the stroke "sequence 0" to simulate a
95 click:</para>
97 <programlisting>
98 Stroke 0 3 R N <fvwmref cmd="Menu"/> <fvwmref cmd="WindowList"/> <fvwmref cmd="Nop"/>
99 </programlisting>
101 <para>The following example starts xterm when the mouse drags an 'I' on
102 the root window with button 3 pressed down:</para>
104 <programlisting>
105 Stroke 258  3  R  N  <fvwmref cmd="Exec"/> exec xterm
106 </programlisting>
108 <para>An example for Netscape:</para>
110 <programlisting>
111 Stroke 7415963    3  R  N  <fvwmref cmd="Exec"/> exec netscape
112 Stroke 74148963   3  R  N  <fvwmref cmd="Exec"/> exec netscape
113 Stroke 74158963   3  R  N  <fvwmref cmd="Exec"/> exec netscape
114 Stroke 7418963    3  R  N  <fvwmref cmd="Exec"/> exec netscape
115 Stroke 415963     3  R  N  <fvwmref cmd="Exec"/> exec netscape
116 </programlisting>
118 <para>You may prefer to use the numeric pad grid since you have such a
119 grid on your machine. Here an example:</para>
121 <programlisting>
122 Stroke N78963214   3  R  N <fvwmref mod="FvwmForm"/> FvwmForm-QuitVerify
123 Stroke N789632147  3  R  N <fvwmref mod="FvwmForm"/> FvwmForm-QuitVerify
124 </programlisting>
126 <para>This example starts the "QuitVerify" form if you draw a box that
127 begins in the top left corner.</para>
129 <para>Note: You need
130 <emphasis remap='B'>libstroke</emphasis>
131 installed and fvwm compiled with stroke support.
132 <!-- This should really be in INSTALL.fvwm -->
133 <emphasis remap='B'>libstroke</emphasis>
134 can be obtained at
135 <ulink url='http://www.etla.net/~willey/projects/libstroke/'>http://www.etla.net/~willey/projects/libstroke/</ulink>
136 </para>
138 </section>