FvwmPager - the FVWM Pager module
FvwmPager is spawned by fvwm, so no command line invocation will work. From
within the .fvwmrc file, FvwmPager is spawned as follows:
Module FvwmPager 0 3
Module FvwmPager * *
or from within an fvwm pop-up menu:
AddToMenu Module-Popup "Modules" Title
+ "Audio" Module FvwmAudio
+ "Auto" Module FvwmAuto 200
+ "Buttons" Module FvwmButtons
+ "Ident" Module FvwmIdent
+ "Banner" Module FvwmBanner
+ "Pager" Module FvwmPager 0 3
+ "Pager" Module FvwmPager * *
where "0" is the first desktop to show, and "3" is the last
and "*" is the current dektop. In the second format (with two
asterisks) the current desk is always visible in the pager (and it is also the
The FvwmPager module shows a miniature view of the Fvwm desktops which are
specified in the command line. This is a useful reminder of where your active
windows are. Windows in the pager are shown in the same color as their fvwm
The pager can be used to change your viewport into the current
desktop, to change desktops, or to move windows around.
Pressing mouse button 1 in the pager will cause you viewport to
change to the selected page of the selected desk. If you click with button 1
in the desk-label area, you will switch desks but not pages within the
Dragging mouse button 2 on a miniature view of a window will cause
that window to be move to the location where you release the mouse button,
but your viewport will not change. If you drag the window out of the pager
and onto your desktop, a full size image of the window will appear for you
to place. There is no way to pick up a full size image of the window and
move it into the pager, however. Since some mice do not have button 2, I
have made provisions to drag windows in the pager by using pressing
modifier-1 (usually Alt) and dragging with button 3.
Clicking mouse button 3 on a location will cause the viewport to
move to the selected location and switch desks if necessary, but will not
align the viewport to a page boundary. Dragging button 3 will cause the
viewport to move as you drag but not switch desktops, even if the pointer
moves to another desktop.
When iconified, the pager will work as a fully functional current
page only pager. Windows and viewports can be moved within the icon of the
pager. Users will want to make sure that they have no lines similar to
Icon "Fvwm Pager" whatever
in their .fvwmrc files.
The FvwmPager program, and the concept for interfacing this module to the Window
Manager, are all original work by Robert Nation.
Copyright 1994, Robert Nation. No guarantees or warranties or
anything are provided or implied in any way whatsoever. Use this program at
your own risk. Permission to use this program for any purpose is given, as
long as the copyright is kept intact.
During initialization, FvwmPager will eventually search a configuration
file which describes the time-outs and actions to take. The configuration file
is the same file that fvwm used during initialization.
If the FvwmPager executable is linked to another name, ie ln -s
FvwmPager OtherPager, then another module called OtherPager can be started,
with a completely different configuration than FvwmPager, simply by changing
the keyword FvwmPager to OtherPager. This way multiple pager programs can be
You can direct the keyboard focus to any window on the current desktop by
clicking with button 2 on its image in the pager. The window does not need to
be visible, but it does need to be on the current page.
The invocation method was shown in the synopsis section
FvwmPager reads the same .fvwmrc file as fvwm reads when it starts up, and looks
for certain configuration options:
- *FvwmPagerGeometry geometry
- Completely or partially specifies the pager windows location and geometry,
in standard X11 notation. In order to maintain an undistorted aspect
ratio, you might want to leave out either the width or height dimension of
the geometry specification
- *FvwmPagerRows rows
- Tells fvwm how many rows of desks to use when laying out the pager window.
- *FvwmPagerColumns columns
- Tells fvwm how many columnss of desks to use when laying out the pager
- *FvwmPagerIconGeometry 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).
- Causes the pager to start iconified.
- Causes the pager to start normally. Useful for cancelling the effect of
the StartIconic option.
- *FvwmPagerFont font-name
- Specified a font to use to label the desktops. If font_name is
"none" then no desktop labels will be displayed.
- *FvwmPagerSmallFont 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.
- *FvwmPagerFore color
- Specifies the color to use to write the desktop labels, and to draw the
- *FvwmPagerBack color
- Specifies the background color for the window.
- *FvwmPagerHilight color
- The active page and desk label will be highlighted by using this
background pattern instead of the normal background.
- *FvwmPagerWindowColors 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.
- *FvwmPagerLabel desk label
- Assigns the text label to desk desk (or the current desk if
desk is "*") in the pager window. Useful for assigning symbolic
names to desktops, i.e.
*FvwmPagerLabel 1 Mail
*FvwmPagerLabel 2 Maker
*FvwmPagerLabel * Matlab
- *FvwmPagerDeskColor 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
TIP: Try using *FvwmPagerDeskColor in conjunction with
FvwmCpp (or FvwmM4) and FvwmBacker to assign identical colors to your
various desktops and the pager representations.
- *FvwmPagerDeskTopScale 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.
- Allow the pager to display a window's mini icon in the pager, if it has
one, instead of showing the window's name.
- *FvwmPagerBalloons [type]
- Show a balloon describing the window when the pointer is moved into a
window in the pager. Currently only the window's icon name is shown. If
type is Pager balloons are just shown for an uniconified
pager; if type is Icon balloons are just shown for an
iconified pager. If type is anything else (or null) balloons are
- *FvwmPagerBalloonFore color
- Specifies the color for text in the balloon window. If omitted it defaults
to the foreground color for the window being described.
- *FvwmPagerBalloonBack color
- Specifies the background color for the balloon window. If omitted it
defaults to the background color for the window being described.
- *FvwmPagerBalloonFont font-name
- Specifies a font to use for the balloon text. Defaults to fixed.
- *FvwmPagerBalloonBorderWidth number
- Sets the width of the balloon window's border. Defaults to 1.
- *FvwmPagerBalloonBorderColor color
- Sets the color of the balloon window's border. Defaults to black.
- *FvwmPagerBalloonYOffset 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 0 are not permitted, as this would permit direct transit
from pager window to balloon window, causing an event loop. Defaults to
+2. The offset will change sign automatically, as needed, to keep the
balloon on the screen.
DeskColor patch contributed by Alan Wild
MiniIcons and WindowColors patch contributed by Rob Whapham
Balloons patch by Ric Lister <firstname.lastname@example.org>.