FVWMPAGER(1)

NAME
FvwmPager - The fvwm pager module

SYNOPSIS

FvwmPager [ -transient ] [ alias ] [ first desk [ last desk ] ]

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

FvwmPager displays a miniature view of the fvwm virtual desktop(s) showing all desk numbers between first desk and last desk. If last desk is omitted only the first desk is shown. If both desk numbers are omitted, the current desk is used instead. If you use an asterisk '*' in place of first desk the pager will always show the current desktop, even when you switch desks. If you iconify FvwmPager, its icon on the virtual desktop will be a functional version of the pager only showing the current desktop.

FvwmPager is launched via the Module FvwmPager command from fvwm’s config file, and can be launched from functions, menus, key bindings, and so on. If the pager is started with the -transient option, the next time a button is released the pager is closed. Note that this option only works if the window style of the pager window is 'Sticky' (see the fvwm man page). You should use the 'StaysOnTop' style too.

The following example shows how to launch two pagers from your config file when fvwm starts. The first is a pager which will show all desks from 0 to 3, and the second is a pager which only shows the current desk.

    AddToFunc StartFunction Module FvwmPager 0 3
    AddToFunc StartFunction Module FvwmPager *

FvwmPager is configured via an fvwm module configuration alias. If an alias is given, FvwmPager will use the alias for the configuration and name of the window. If no alias is given, the default 'FvwmPager' alias is used. See the CONFIGURATION section below for a full list of configuration options.

DESCRIPTION

FvwmPager displays a miniature view of the fvwm virtual desktop(s) showing the position of all windows and pages within each visible desktop. If DeskHilight is set, the location of each monitor within the desktop is also shown. The pager can be used as a quick reference of the location of windows and monitors, to change the current page/desk, and to focus or move windows. The behavior of FvwmPager depends on the current 'DesktopConfiguration'.

When clicked with button 1, FvwmPager will move the current desk/page to the location clicked. If using 'DesktopConfiguration global' all monitors will move to the location clicked, 'DesktopConfiguration per-monitor' moves the only the monitor which occupies the area clicked, and last 'DesktopConfiguration shared' only allows changing pages of a monitor which occupies the clicked desk. If MonitorLabels are showing, clicks on the monitor label will move that monitor to the clicked desk. Clicks in which it cannot be clearly determined which monitor to move will be ignored, such as clicks on desk labels or dead space in 'per-monitor' mode, clicking on a desk not occupied by any monitor in 'shared' mode. It is suggested to use MonitorLabels with 'shared' mode.

When clicked with button 3, FvwmPager will move the current view port centered on the area clicked. Unlike a left click, which always places the monitor(s) inside a single page’s boundaries, left click will 'Scroll' between multiple pages. While right click is held down, moving the mouse will cause the view port to 'Scroll' to the mouse location. Note that 'Scroll' works best in 'global' mode.

When button 2 clicks a window in the pager, that window will gain focus. Setting the *FvwmPager: SloppyFocus option will give focus to the window under the mouse without clicking. Holding down button 2 on a window in the pager can be used the move the window. The window can be placed at any location inside the pager, and when you move the window outside of the pager, the window will move to the current location, and can continued to be moved.

When iconified, FvwmPager’s icon on the desktop is a fully functional pager that only shows the current desk. This icon pager responds to all the same clicks as described above. This is useful by allowing full pager that shows multiple virtual desktops to be iconified to a smaller pager that only shows the current desk. Note that the FvwmPager icon must be visible via 'Style FvwmPager Icon', and not overridden, for this to work.

FvwmPager will compute its initial window size based on your monitor(s) configuration. By default it makes a pager 1/32 the size of your monitor(s) resolution (see DeskTopScale) and matches either the global aspect ratio or a single monitor if Monitor is set. Both the size of the pager (see Geometry) and desktop layout (see Cols and Rows) can be configured.

CONFIGURATION

FvwmPager is configured via a module configuration alias in fvwm’s configuration file. The default alias is 'FvwmPager' and can be configured using lines of the form:

    *FvwmPager: Option parameters

When FvwmPager is launched with an optional alias, that alias will be used for the configuration instead. For example to start a pager that shows the current desk on a single monitor, use the following:

    DestroyModuleConfig FvwmPagerDP2:*
    *FvwmPagerDP2: Monitor DP-2
    *FvwmPagerDP2: Font None
    *FvwmPagerDP2: MiniIcons
    AddToFunc StartFunction Module FvwmPager FvwmPagerDP2 *

The full list of configuration options and their parameters are listed below.

CONFIGURATION OPTIONS

*FvwmPager: Geometry geometry
    Completely or partially specifies the pager windows location and geometry, in standard X11 notation. If both width and height are set, FvwmPager will use that size and no longer preserve the aspect ratio when resized. If you wish to maintain an undistorted aspect ratio, you can set one dimension to zero. For example '400x0' will make a 400 pixel wide window whose height matches the aspect ratio and will also preserve aspect ratio when resized.

    Note: FvwmPager’s dimensions will be slightly adjusted to ensure every page shown has the exact same number of pixels. So the actual size may be slightly different than the specified size.

*FvwmPager: Rows rows
    Tells fvwm how many rows of desks to use when laying out the pager window.

*FvwmPager: Columns columns
    Tells fvwm how many columns of desks to use when laying out the pager window.

*FvwmPager: IconGeometry geometry
    Specifies a size (optional) and location (optional) for the pager’s icon window. Since there is no easy way for FvwmPager to determine the height of the icon’s label, you will have to make an allowance for the icon label height when using negative y-coordinates in the icon location specification (used to specify a location relative to the bottom instead of the top of the screen).

*FvwmPager: StartIconic
    Causes the pager to start iconified.

*FvwmPager: NoStartIconic
    Causes the pager to start normally. Useful for canceling the effect of the StartIconic option.

*FvwmPager: LabelsBelow
    Causes the pager to draw desk labels below the corresponding desk.

*FvwmPager: LabelsAbove
    Causes the pager to draw desk labels above the corresponding desk. Useful for canceling the effect of the LabelsBelow option.

*FvwmPager: ShapeLabels
    Causes the pager to hide the labels of all but the current desk. This turns off label hilighting.

*FvwmPager: NoShapeLabels
    Causes the pager to show the labels of all visible desks. Useful for canceling the effect of the ShapeLabels option.

*FvwmPager: DeskLabels
    Tells FvwmPager to display a label for each desk. This is the default state, but this is useful for undoing Font none or NoDeskLabels.

*FvwmPager: NoDeskLabels
    Tells FvwmPager to not display desk labels.

*FvwmPager: MonitorLabels
    Tells FvwmPager to display a row of monitor labels. The monitor label on the desktop the monitor is currently viewing will be highlighted using the hilight color. Clicking on a monitor label will move that monitor to the selected desktop. This option is best used with 'DesktopConfiguration shared' to be able to control which monitor is moved to a selected desktop.

*FvwmPager: NoMonitorLabels
    Tells FvwmPager to not display monitor labels, the default state.

*FvwmPager: Font font-name
    Specified a font to use to label the desktops. If font_name is "none" then no desktop or monitor labels will be displayed. Note, if MonitorLabels or DeskLabels is used after Font none, the labels will be shown with a default font.

*FvwmPager: SmallFont font-name
    Specified a font to use to label the window names in the pager. If not specified, the window labels will be omitted. Window labels seem to be fairly useless for desktop scales of 32 or greater. If font_name is "none" then no window names will be displayed.

*FvwmPager: Fore color
    Specifies the color to use to write the desktop labels, and to draw the page-grid lines.

*FvwmPager: Back color
    Specifies the background color for the window.

*FvwmPager: Hilight color
    The active page and desk label will be highlighted by using this background pattern instead of the normal background.

*FvwmPager: HilightPixmap pixmap
    The active page will be highlighted by using this background pattern instead of the normal background.

*FvwmPager: DeskHilight
    Hilight the area shown by all active monitors with the current hilight color/pixmap. Useful for canceling the effect of the NoDeskHilight option.

*FvwmPager: NoDeskHilight
    Don’t hilight the active page.

*FvwmPager: WindowColors fore back hiFore hiBack
    Change the normal/highlight colors of the windows. fore and hiFore specify the colors as used for the font inside the windows. back and hiBack are used to fill the windows with.

*FvwmPager: WindowLabelFormat format
    This specifies a printf() like format for the labels in the mini window. Possible flags are: %t, %i, %c, and %r for the window’s title, icon title, class, or resource name, respectively. The default is "%i".

*FvwmPager: DeskColor desk color
    Assigns the color color to desk desk (or the current desk if desk is "*") in the pager window. This replaces the background color for the particular desk. This only works when the pager is full sized. When Iconified, the pager uses the color specified by *FvwmPager: Back.

*FvwmPager: Pixmap pixmap
    Use pixmap as background for the pager.

*FvwmPager: DeskPixmap desk pixmap
    Assigns the pixmap color to desk desk (or the current desk if desk is "*") in the pager window. This replaces the background pixmap for the particular desk.

*FvwmPager: DeskTopScale number
    If the geometry is not specified, then a desktop reduction factor is used to calculate the pager’s size. Things in the pager window are shown at 1/number of the actual size.

*FvwmPager: MiniIcons
    Allow the pager to display a window’s mini icon in the pager, if it has one, instead of showing the window’s name.

*FvwmPager: MoveThreshold pixels
    Defines the distance the pointer has to be moved before a window being dragged with button 2 is actually moved. The default value is three pixels. If the pointer moved less that this amount the window snaps back to its original position when the button is released. If pixels is less than zero the default value is used. The value set with the MoveThreshold command in fvwm is inherited by FvwmPager but can be overridden with this option.

*FvwmPager: SloppyFocus
    If the SloppyFocus option is used, you do not need to click into the mini window in the pager to give the real window the focus. Simply putting the pointer over the window inside the pager is enough.

    Note: This option interferes slightly with the MouseFocus and SloppyFocus styles of fvwm. Sometimes, if you click into the pager window to change pages or desks and then move the pointer to a place on the screen where a window of the new page will appear, this new window does not get the input focus. This may happen if you drag the pointer over one of the mini windows in the pager. There is nothing that can be done about this - except not using SloppyFocus in the pager.

*FvwmPager: SolidSeparators
    By default the pages of the virtual desktop are separated by dashed lines in the pager window. This option causes FvwmPager to use solid lines instead.

*FvwmPager: NoSeparators
    Turns off the lines separating the pages of the virtual desktop.

*FvwmPager: Balloons [type]
    Show a balloon describing the window when the pointer is moved into a window in the pager. The default format (the window’s icon name) can be changed using BalloonStringFormat. If type is Pager balloons are just shown for an un-iconified pager; if type is Icon balloons are just shown for an iconified pager. If type is anything else (or null) balloons are always shown.

*FvwmPager: BalloonFore color
    Specifies the color for text in the balloon window. If omitted it defaults to the foreground color for the window being described.

*FvwmPager: BalloonBack color
    Specifies the background color for the balloon window. If omitted it defaults to the background color for the window being described.

*FvwmPager: BalloonFont font-name
    Specifies a font to use for the balloon text. Defaults to fixed.

*FvwmPager: BalloonBorderWidth number
    Sets the width of the balloon window’s border. Defaults to 1.

*FvwmPager: BalloonBorderColor color
    Sets the color of the balloon window’s border. Defaults to black.

*FvwmPager: BalloonYOffset number
    The balloon window is positioned to be horizontally centered against the pager window it is describing. The vertical position may be set as an offset. Negative offsets of -n are placed n pixels above the pager window, positive offsets of +n are placed n pixels below. Offsets of -1 and 1 represent the balloon window close to the original window without a gap. Offsets of 0 are not permitted, as this would permit direct transit from pager window to balloon window, causing an event loop. Defaults to +3. The offset will change sign automatically, as needed, to keep the balloon on the screen.

*FvwmPager: BalloonStringFormat format
    The same as *FvwmPager: WindowLabelFormat, it just specifies the string to display in the balloons. The default is "%i".

*FvwmPager: Colorset desk colorset
    Tells the module to use colorset colorset for desk. If you use an asterisk '*' in place of desk, the colorset is used on all desks.

*FvwmPager: BalloonColorset desk colorset
    Tells the module to use colorset colorset for balloons on desk. If you use an asterisk '*' in place of desk, the colorset is used on all desks.

*FvwmPager: HilightColorset desk colorset
    Tells the module to use colorset colorset for hilighting on desk. If you use an asterisk '*' in place of desk, the colorset is used on all desks.

*FvwmPager: WindowColorsets colorset activecolorset
    Uses colorsets in the same way as *FvwmPager: WindowColors. The shadow and hilight colors of the colorset are only used for the window borders if the *FvwmPager: Window3DBorders is specified too.

*FvwmPager: WindowMinSize n
    Specifies the minimum size as n pixels of the mini windows. This does not include the width of the border, so the actual minimum size is 2 * WindowBorderWidth + WindowMinSize. The default is 3.

*FvwmPager: WindowBorderWidth n
    Specifies the width of the border drawn around the mini windows. This also affects the minimum size of the mini windows, which will be 2 * WindowBorderWidth + WindowMinSize. The default is 1.

*FvwmPager: HideSmallWindows
    Tells FvwmPager to not show windows that are the minimum size. Useful for tiny pagers where small windows will appear out of place.

*FvwmPager: Window3DBorders
    Specifies that the mini windows should have a 3d borders based on the mini window background. This option only works if *FvwmPager: WindowColorsets is specified.

*FvwmPager: UseSkipList
    Tells FvwmPager to not show the windows that are using the WindowListSkip style.

*FvwmPager: Monitor RandRName
    Tells FvwmPager to display windows only on RandRName monitor. This is especially meaningful when the DesktopConfiguration command is set to shared.

AUTHOR

Robert Nation
DeskColor patch contributed by Alan Wild
MiniIcons & WindowColors patch contributed by Rob Whapham
Balloons patch by Ric Lister
fvwm-workers: Dominik, Olivier, Hippo and others.