# Move

`Move` screen screen w m x p w w m y p w Warp pointer ewmhiwa

Allows the user to move a window. If called from somewhere in a window or its border, then that window is moved. If called from the root window then the user is allowed to select the target window. By default, the EWMH working area is honoured.

If the literal option followed by a screen argument is specified, the coordinates are interpreted as relative to the given screen. The width and height of the screen are used for the calculations instead of the display dimensions. The screen as interpreted as in the command. If the optional argument is specified the pointer is warped with the window. If the single argument is given, the top left corner of the window is moved to the pointer position before starting the operation; this is mainly intended for internal use by modules like . If the optional argument is given, then the window position will ignore the working area (such as ignoring any values set via ).

The operation can be aborted with Escape or any mouse button not set to place the window. By default mouse button 2 is set to cancel the move operation. To change this you may use the command with special context 'P' for Placement.

The window condition can be used to check if a specific button was pressed to place the window (see command).

If the optional arguments and are provided, then the window is moved immediately without user interaction. Each argument can specify an absolute or relative position from either the left/top or right/bottom of the screen. By default, the numeric value given is interpreted as a percentage of the screen width/height, but a trailing 'p' changes the interpretation to mean pixels, while a trailing 'w' means precent of the window width/height. To move the window relative to its current position, add the '' (for "window") prefix before the x and/or y value. To move the window to a position relative to the current location of the pointer, add the '' (for "mouse") prefix. To leave either coordinate unchanged, "" can be specified in place of x or y.

For advanced uses, the arguments x and y can be used multiple times, but without the prefix 'm' or 'w'. (See complex examples below).

Simple Examples:

    # Interactive move
     1 T A Move
    # Move window to top left is at (10%,10%)
     2 T A Move 10 10
    # Move top left to (10pixels,10pixels)
     3 T A Move 10p 10p

More complex examples (these can be bound as actions to keystrokes, etc.; only the command is shown, though):

    # Move window so bottom right is at bottom
    # right of screen
    Move -0 -0

    # Move window so top left corner is 10 pixels
    # off the top left screen edge
    Move +-10 +-10

    # Move window 5% to the right, and to the
    # middle vertically
    Move w+5 50

    # Move window up 10 pixels, and so left edge
    # is at x=40 pixels
    Move 40p w-10p

    # Move window to the mouse pointer location
    Move m+0 m+0

    # Move window to center of screen (50% of screen
    # poition minus 50% of widow size).
    Move 50-50w 50-50w

Note: In order to obtain moving windows which do not snap to screen, with interactive move, hold down Alt whilst moving the window to disable snap attraction if it's defined.

See also the command.