Jitterbug no more.
[fvwm.git] / doc / commands / Maximize.xml
blob6ed43375d8ffffcd619365d36cc577af3fd0dd5f
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: Maximize.xml,v 1.3 2007/06/16 12:38:46 griph Exp $ -->
11 <section id='Maximize'>
12 <title>Maximize</title>
14 <cmdsynopsis>
15         <command>Maximize</command
16         ><arg choice='opt'
17                 ><replaceable>flags</replaceable
18         ></arg>
19         <arg choice='opt'
20                 ><replaceable>bool</replaceable
21         ></arg
22         ><arg choice='opt'
23                 ><replaceable>horizontal</replaceable
24                 ><optional>p</optional
25         ></arg
26         ><arg choice='opt'
27                 ><replaceable>vertical</replaceable
28                 ><optional>p</optional
29         ></arg>
30 </cmdsynopsis>
33 <para>Without its optional arguments (or if the
34 <replaceable>bool</replaceable>
35 bit has the value "<fvwmopt cmd="Maximize" opt="toggle"/>")
36 <emphasis remap='B'>Maximize</emphasis>
37 causes the window to alternately switch from a full-screen size to
38 its normal size.  To force a window into maximized (normal) state
39 you can use a "<fvwmopt cmd="Maximize" opt="True"/>" or "<fvwmopt cmd="Maximize" opt="False"/>" value for the
40 <replaceable>bool</replaceable>
41 argument.</para>
43 <para>With the optional arguments
44 <replaceable>horizontal</replaceable> and <replaceable>vertical</replaceable>,
45 which are expressed as percentage of a full screen, the user can
46 control the new size of the window.  An optional suffix
47 '<fvwmopt cmd="Maximize" opt="p"/>'
48 can be used to indicate pixels instead of percents of the screen
49 size.  If horizontal is greater than 0 then the horizontal
50 dimension of the window is set to
51 <replaceable>horizontal</replaceable>*screen_width/100.
52 If the value is smaller than 0 the size is subtracted from the
53 screen width, i.e. -25 is the same as 75.  If
54 <replaceable>horizontal</replaceable>
55 is "<fvwmopt cmd="Maximize" opt="grow"/>", it is maximized to curren
56 available space until
57 finding any obstacle.  The vertical resizing is similar.  If both
58 horizontal and vertical values are "grow", it expands vertically
59 first, then horizontally to find space.  Instead of the horizontal
60 "grow" argument, "<fvwmopt cmd="Maximize" opt="growleft"/>" or "<fvwmopt cmd="Maximize" opt="growright"/>" can be used
61 respectively "<fvwmopt cmd="Maximize" opt="growup"/>" and "<fvwmopt cmd="Maximize" opt="growdown"/>".
62 The optional
63 <replaceable>flags</replaceable>
64 argument is a space separated list containing the following
65 key words:
66 <emphasis remap='I'>ewmhiwa</emphasis>, <emphasis remap='I'>growonwindowlayer</emphasis>, <emphasis remap='I'>growonlayers</emphasis> and <emphasis remap='I'>screen</emphasis>.
67 <fvwmopt cmd="Maximize" opt="ewmhiwa"/>
68 causes fvwm to ignore the <acronym>EWMH</acronym> working area.
69 <fvwmopt cmd="Maximize" opt="growonwindowlayer"/>
70 causes the various grow methods to ignore windows with a layer
71 other than the current layer of the window which is maximized.
72 The
73 <fvwmopt cmd="Maximize" opt="growonlayers"/>
74 option must have two integer arguments.  The first one is the
75 minimum layer and the second one the maximum layer to use.
76 Windows that are outside of this range of layers are ignored by
77 the grow methods.  A negative value as the first or second
78 argument means to assume no minimum or maximum layer.
79 <fvwmopt cmd="Maximize" opt="screen"/>
80 must have an argument which specifies the Xinerama screen on which
81 to operate.
82 It can be 'p' for the primary screen, 'c' for the current
83 screen (containing the mouse pointer), 'g' for the global screen
84 or the screen number itself (counting from zero).  This option is
85 only useful with multiple Xinerama screens.</para>
87 <para>Here are some examples.  The following adds a title-bar button to
88 switch a window to the full vertical size of the screen:</para>
90 <programlisting>
91 <fvwmref cmd="Mouse"/> 0 4 A Maximize 0 100
92 </programlisting>
94 <para>The following causes windows to be stretched to the full width:</para>
96 <programlisting>
97 <fvwmref cmd="Mouse"/> 0 4 A Maximize 100 0
98 </programlisting>
100 <para>This makes a window that is half the screen size in each
101 direction:</para>
103 <programlisting>
104 <fvwmref cmd="Mouse"/> 0 4 A Maximize 50 50
105 </programlisting>
107 <para>To expand a window horizontally until any other window is found:</para>
109 <programlisting>
110 <fvwmref cmd="Mouse"/> 0 4 A Maximize 0 grow
111 </programlisting>
113 <para>To expand a window until any other window on the same or a higher
114 layer is hit.</para>
116 <programlisting>
117 <fvwmref cmd="Mouse"/> 0 4 A Maximize growonlayers $[w.layer] -1 grow grow
118 </programlisting>
120 <para>To expand a window but leave the lower 60 pixels of the screen
121 unoccupied:</para>
123 <programlisting>
124 <fvwmref cmd="Mouse"/> 0 4 A Maximize 100 -60p
125 </programlisting>
127 <para>Values larger than 100 can be used with caution.</para>
129 </section>