FvwmRearrange(1)               FvwmRearrange 1.0              FvwmRearrange(1)




NAME
       FvwmRearrange - rearrange FVWM windows

SYNOPSIS
       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, popup 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.

FvwmRearrange can be called as FvwmTile or FvwmCascade. This is equivalent to
providing the -tile or -cascade option. This form is obsolete and supplied for
backwards compatibility only.

Command-line arguments passed to FvwmRearrange are described here.

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

       -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 -all).

       -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.

       -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 -all).

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

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

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

              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)



3rd Berkeley Distribution                                     November 9, 1998
