FvwmRearrange






FvwmRearrange − rearrange fvwm windows

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


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.


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.

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.











                             ‐2‐


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









                             ‐3‐


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

     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









                             ‐4‐


     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.


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


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