ld --as-needed compilation fixes with external libs.
[fvwm.git] / doc / commands / Move.xml
blob55fa6664706e9a98bc852d298be9164edf5d2b2d
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: Move.xml,v 1.5 2010/09/14 20:42:47 tadam Exp $ -->
11 <section id='Move'>
12 <title>Move</title>
14 <cmdsynopsis>
15         <command>Move</command
16         ><group choice='plain'
17                 ><arg choice='opt'
18                         ><arg choice='opt'
19                                 >screen <replaceable>screen</replaceable
20                         ></arg
21                         ><arg choice='plain' rep="repeat"
22                                 ><optional
23                                         ><group choice='plain'
24                                                 ><arg choice='plain'>w</arg
25                                                 ><arg choice='plain'>m</arg
26                                         ></group
27                                 ></optional
28                                 ><replaceable>x</replaceable
29                                 ><optional
30                                         ><group choice='plain'
31                                                 ><arg choice='plain'>p</arg
32                                                 ><arg choice='plain'>w</arg
33                                         ></group
34                                 ></optional
35                         ></arg
36                         ><arg choice='plain' rep="repeat"
37                                 ><optional
38                                         ><group choice='plain'
39                                                 ><arg choice='plain'>w</arg
40                                                 ><arg choice='plain'>m</arg
41                                         ></group
42                                 ></optional
43                                 ><replaceable>y</replaceable
44                                 ><optional
45                                         ><group choice='plain'
46                                                 ><arg choice='plain'>p</arg
47                                                 ><arg choice='plain'>w</arg
48                                         ></group
49                                 ></optional
50                         ></arg
51                         ><arg choice='opt'>Warp</arg
52                 ></arg
53                 ><arg choice='opt'>pointer</arg
54         ></group>
55 </cmdsynopsis>
57 <para>Allows the user to move a window.  If called from somewhere in a
58 window or its border, then that window is moved.  If called from
59 the root window then the user is allowed to select the target
60 window.</para>
62 <para>If the literal option <fvwmopt cmd="Move" opt="screen"/> followed by a
63 <replaceable>screen</replaceable>
64 argument is specified, the coordinates are interpreted as relative
65 to the given screen.  The width and height of the screen are used
66 for the calculations instead of the display dimensions.  The
67 <replaceable>screen</replaceable>
68 as interpreted as in the
69 <fvwmref cmd="MoveToScreen"/>
70 command.
71 If the optional argument
72 <fvwmopt cmd="Move" opt="Warp"/>
73 is specified the pointer is warped with the window.  If the single
74 argument
75 <fvwmopt cmd="Move" opt="pointer"/>
76 is given, the top left corner of the window is moved to the
77 pointer position before starting the operation; this is mainly
78 intended for internal use by modules like
79 <fvwmref mod="FvwmPager"/>.</para>
81 <para>The operation can be aborted with <keysym>Escape</keysym> or any mouse
82 button not set to place the window. By default mouse button 2 is set to cancel
83 the move operation. To change this you may use the
84 <fvwmref cmd="Mouse"/>
85 command with special context 'P' for Placement.</para>
87 <para>The window condition
88 <fvwmref cmd="Style" opt="PlacedByButton"/>
89 can be used to check if a specific button was pressed to place the
90 window (see
91 <fvwmref cmd="Current"/>
92 command).</para>
94 <para>If the optional arguments
95 <fvwmopt cmd="Move" opt="x"/> and
96 <fvwmopt cmd="Move" opt="y"/>
97 are provided, then the window is moved immediately without user
98 interaction.  Each argument can specify an absolute or relative
99 position from either the left/top or right/bottom of the screen.
100 By default, the numeric value given is interpreted as a percentage
101 of the screen width/height, but a trailing
102 '<emphasis remap='I'>p</emphasis>'
103 changes the interpretation to mean pixels, while a trailing
104 '<emphasis>w</emphasis>'
105 means precent of the window width/height.
106 To move the window
107 relative to its current position, add the
108 '<fvwmopt cmd="Move" opt="w"/>'
109 (for "window") prefix before the
110 <replaceable>x</replaceable> and/or <replaceable>y</replaceable>
111 value.  To move the window to a position relative to the current
112 location of the pointer, add the
113 '<fvwmopt cmd="Move" opt="m"/>'
114 (for "mouse") prefix.  To leave either coordinate unchanged,
115 "<fvwmopt cmd="Move" opt="keep"/>" can be specified in place of
116 <replaceable>x</replaceable> or <replaceable>y</replaceable>.</para>
118 For advanced uses, the arguments
119 <replaceable>x</replaceable> and <replaceable>y</replaceable>
120 can be used multiple times, but without the prefix
121 '<replaceable>m</replaceable>' or '<replaceable>w</replaceable>'.
122 (See complex examples below).
124 <para>Simple Examples:</para>
126 <programlisting>
127 # Interactive move
128 <fvwmref cmd="Mouse"/> 1 T A Move
129 # Move window to top left is at (10%,10%)
130 <fvwmref cmd="Mouse"/> 2 T A Move 10 10
131 # Move top left to (10pixels,10pixels)
132 <fvwmref cmd="Mouse"/> 3 T A Move 10p 10p
133 </programlisting>
135 <para>More complex examples (these can be bound as actions to
136 keystrokes, etc.; only the command is shown, though):</para>
138 <programlisting>
139 # Move window so bottom right is at bottom
140 # right of screen
141 Move -0 -0
143 # Move window so top left corner is 10 pixels
144 # off the top left screen edge
145 Move +-10 +-10
147 # Move window 5% to the right, and to the
148 # middle vertically
149 Move w+5 50
151 # Move window up 10 pixels, and so left edge
152 # is at x=40 pixels
153 Move 40p w-10p
155 # Move window to the mouse pointer location
156 Move m+0 m+0
158 # Move window to center of screen (50% of screen
159 # poition minus 50% of widow size).
160 Move 50-50w 50-50w
161 </programlisting>
163 <para>Note:  In order to obtain moving windows which do not snap
164 to screen, with interactive move, hold down <emphasis>Alt</emphasis>
165 whilst moving the window to disable snap attraction if it's defined.
166 </para>
168 <para>See also the
169 <fvwmref cmd="AnimatedMove"/>
170 command.</para>
172 </section>