Propagate Layer changes via Style command on-the-fly.
[fvwm.git] / doc / commands / ModuleSynchronous.xml
blob813e386af984690b38b9908d6c07b36939443473
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: ModuleSynchronous.xml,v 1.3 2007/06/16 12:38:46 griph Exp $ -->
11 <section id='ModuleSynchronous'>
12 <title>ModuleSynchronous</title>
14 <cmdsynopsis>
15         <command>ModuleSynchronous</command
16         ><arg choice='opt'
17                 >Expect <replaceable>string</replaceable
18         ></arg
19         ><arg choice='opt'
20                 >Timeout <replaceable>secs</replaceable
21         ></arg
22         ><arg choice='plain'
23                 ><replaceable>modulename</replaceable
24         ></arg>
25 </cmdsynopsis>
27 <para>The
28 <emphasis remap='B'>ModuleSynchronous</emphasis>
29 command is very similar to
30 <fvwmref cmd="Module"/>.
31 Fvwm stops processing any commands and user input until the module
32 sends a string beginning with "NOP FINISHED STARTUP" back to fvwm.
33 If the optional
34 <fvwmopt cmd="ModuleSynchronous" opt="Timeout"/>
35 is given fvwm gives up if the module sent no input back to fvwm
36 for
37 <replaceable>secs</replaceable>
38 seconds.  If the
39 <fvwmopt cmd="ModuleSynchronous" opt="Expect"/>
40 option is given, fvwm waits for the given
41 <replaceable>string</replaceable>
42 instead.
43 <emphasis remap='B'>ModuleSynchronous</emphasis>
44 should only be used during fvwm startup to enforce the order in
45 which modules are started.  This command is intended for use with
46 the (currently hypothetical) module that should be in place before
47 other modules are started.</para>
49 <para>Warning: It is quite easy to hang fvwm with this command, even if
50 a timeout is given.  Be extra careful choosing the string to wait
51 for. Although all modules in the fvwm distribution send back the
52 "NOP FINISHED STARTUP" string once they have properly started up,
53 this may not be the case for third party modules.  Moreover, you
54 can try to escape from a locked
55 <emphasis remap='B'>ModuleSynchronous</emphasis>
56 command by using the key sequence
57 <keysym>Ctrl-Alt-Escape</keysym>
58 (see the
59 <fvwmref cmd="EscapeFunc"/>).</para>
61 </section>