DOKK / manpages / debian 12 / fvwm3 / Fvwm3Pager.1.en
FVWMPAGER(1)   FVWMPAGER(1)

FvwmPager - the Fvwm Pager module

FvwmPager [ -transient ] [ name ] [ first desk [ last desk ] ] FvwmPager is spawned by fvwm, so no command line invocation will work.

All desks with desk numbers between first desk and last desk are displayed. 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.

FvwmPager will compute its initial window size based on your monitor(s) configuration. By default it makes a page 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. FvwmPager will preserve this aspect ratio when you resize it. See the Geometry option for more info.

Example lines to put in your .fvwm2rc:

Module FvwmPager 0 3

or

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
+ Console      Module FvwmConsole
+ Ident        Module FvwmIdent
+ Banner       Module FvwmBanner
+ Pager        Module FvwmPager 0 3

or

+ Pager        Module FvwmPager *

If the pager is started with the -transient option, the next time a button is released the pager is closed. Note that this option does only work if the window style of the pager window is 'sticky' (see the fvwm man page). You should use the 'StaysOnTop' style too.

Example:

Style FvwmPager Sticky, StaysOnTop
*FvwmPager: Rows       1
*FvwmPager: Columns    1
Mouse 3 R C Module FvwmPager -transient

With this in your .fvwm2rc, if you press control and button 3 in the root window the pager pops up under the mouse and while the viewport moves with the mouse.

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

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

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.

With the *FvwmPager: SloppyFocus option the focus is transferred to the window pointed at with the mouse when the pointer is inside the pager.

When iconified, the pager will work as a fully functional current desk 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 .fvwm2rc files.

During initialization, FvwmPager gets config info from fvwm's module configuration database (see fvwm(1), section MODULE COMMANDS).

To use FvwmPager with several different configurations, you can invoke FvwmPager with an optional parameter, which it will use as its name instead (e.g "Module FvwmPager OtherPager"). OtherPager will then read only the lines in the configuration file starting with "*OtherPager", and not the lines belonging to FvwmPager. This way multiple pager instances may be used.

Note: the old way to use the FvwmPager with several different configurations is to link the executable to another name, i.e.

ln -s FvwmPager OtherPager

This may work, but this method is not supported.

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: 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: Font font-name

Specified a font to use to label the desktops. If font_name is "none" then no desktop labels will be displayed.

*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 active page 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.

TIP: Try using *FvwmPager: DeskColor in conjunction with FvwmCpp (or FvwmM4) and FvwmBacker to assign identical colors to your various desktops and the pager representations.

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

TIP: Try using *FvwmPager: DeskPixmap in conjunction with FvwmCpp (or FvwmM4) and FvwmBacker to assign identical pixmaps to your various desktops and the pager representations.

*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 per-monitor.

Robert Nation
DeskColor patch contributed by Alan Wild
MiniIcons & WindowColors patch contributed by Rob Whapham
Balloons patch by Ric Lister <ric@giccs.georgetown.edu>
fvwm-workers: Dominik, Olivier, Hippo and others.

2023-01-17