FvwmRearrange(1) Fvwm Modules 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, 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.

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

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 19 October 2022 (2.7.0) FvwmRearrange(1)

tribblix@gmail.com :: GitHub :: Privacy