Provided by: fvwm3_1.0.6a+ds-1build1_amd64 bug

NAME

       FvwmRearrange - rearrange fvwm windows

SYNOPSIS

       Module FvwmRearrange [-cascade | -tile] [options] [bounding box]

       FvwmRearrange is spawned by fvwm, so no command line invocation will work.

DESCRIPTION

       This module can be called to tile or cascade windows.

       When tiling the module attempts to tile windows on the current screen subject to certain
       constraints. Horizontal or vertical tiling is performed so that each window does not
       overlap another, and by default each window is resized to its nearest resize increment
       (note sometimes some space might appear between tiled windows — this is why).

       When cascading the module attempts to cascade windows on the current screen subject to
       certain constraints. Layering is performed so consecutive windows will have their window
       titles visible underneath the previous.

INVOCATION

       FvwmRearrange is best invoked from a menu, pop up or button. There are a number of command
       line options which can be used to constrain the layering, these are described below. As an
       example case, one could call FvwmRearrange with the following arguments:

           FvwmRearrange -tile -h 10 10 90 90

       or

           FvwmRearrange -cascade -resize 10 2 80 70

       The first invocation will horizontally tile windows with a bounding box which starts at 10
       by 10 percent into and down the screen and ends at 90 by 90 percent into and down the
       screen.

       The second invocation will cascade windows starting 10 by 2 percent into and down the
       screen. Windows will be constrained to 80 by 70 percent of the screen dimensions. Since
       the resize is also specified, windows will be resized to the given constrained width and
       height.

OPTIONS

       -a
           Causes all window types to be affected, even ones with the WindowListSkip style.

       -animate
           Attempt to do an animated move, this is ignored if -resize or -maximize are used.

       -cascade
           Cascade windows. This argument must be the first on the command line. This is the
           default.

       -desk
           Causes all windows on the desk to be cascaded/tiled instead of the current screen
           only.

       -flatx
           Inhibits border width increment. Only used when cascading.

       -flaty
           Inhibits border height increment. Only used when cascading.

       -h
           Tiles horizontally (default is to tile vertically). Used for tiling only.

       -incx arg
           Specifies a horizontal increment which is successively added to cascaded windows. arg
           is a percentage of screen width, or pixel value if a p is suffixed. Default is zero.
           Used only for cascading.

       -incy arg
           Specifies a vertical increment which is successively added to cascaded windows. arg is
           a percentage of screen height, or pixel value if a p is suffixed. Default is zero.
           Used only for cascading.

       -m
           Causes maximized windows to also be affected (implied by -a).

       -maximize
           When moving/resizing a window, put it also into maximized state.

       -mn arg
           Tiles up to arg windows in tile direction. If more windows exist, a new direction row
           or column is created (in effect, a matrix is created). Used only when tiling windows.

       -noanimate
           Do not attempt to do an animated move.

       -nomaximize
           Do not put windows into maximized state.

       -noraise
           Inhibits window raising, leaving the depth ordering intact.

       -noresize
           Inhibits window resizing, leaving window sizes intact. This is the default when
           cascading windows.

       -nostretch
           If tiling: inhibits window growth to fit tile. Windows are shrunk to fit the tile but
           not expanded.

       If cascading: inhibits window expansion when using the -resize option. Windows will only
       shrink to fit the maximal width and height (if given).

       -r
           Reverses the window sequence.

       -resize
           Forces all windows to resize to the constrained width and height (if given). This is
           the default when tiling windows.

       -s
           Causes sticky windows to also be affected (implied by -a).

       -sp
           Causes windows sticky across pages to also be affected (implied by -a).

       -sd
           Causes windows sticky across desks to also be affected (implied by -a).

       -t
           Causes transient windows to also be affected (implied by -a).

       -tile
           Tile windows. This argument must be the first on the command line.

       -u
           Causes untitled windows to also be affected (implied by -a).

       -ewmhiwa
           When rearranging windows, make the calculation ignore the working area, such as
           EwmhBaseStruts; by default, FvwmRearrange will honour the working area.

BOUNDING BOX

       Up to four numbers can be placed on the command line that are not switches. The first pair
       specify an x and y offset to start the first window (default is 0, 0). The meaning of the
       second pair depends on operation mode:

       When tiling windows it specifies an absolute coordinate reference denoting the lower right
       bounding box for tiling.

       When cascading it specifies a maximal width and height for the layered windows. If an
       affected window exceeds either this width or height, it is resized to the maximal width or
       height.

       If any number is suffixed with the letter p, then it is taken to be a pixel value,
       otherwise it is interpreted as a screen percentage. Specifying zero for any parameter is
       equivalent to not specifying it.

BUGS

       It is probably not a good idea to delete windows while windows are being rearranged.

AUTHORS

       Andrew Veliath (original FvwmTile and FvwmCascade modules) Dominik Vogt (merged FvwmTile
       and FvwmCascade to FvwmRearrange)

                                            2023-09-19                           FVWMREARRANGE(1)