FVWMPAGER(1) | FVWMPAGER(1) |
FvwmPager - The fvwm pager module
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.
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 reference to the location of windows and monitors in the virtual desktops.
The pager can show labels with the names of the virtual desktops and monitors. The labels can be shown individually or together. By default the desk labels are shown, to disable them use NoDeskLabels. To show the monitor labels, use the MonitorLabels option. The labels can be used as buttons to move the monitors to new desktops. See the LABELS configuration section for more details.
The mouse can be used to change the current page/desk, to drag windows to new locations, or send windows fvwm commands. The default behavior is mouse 1 (left button) will switch desk/page a monitor is currently viewing to the area clicked. Mouse 2 (middle) can be used to drag windows to new locations or focus them. And mouse 3 (right) can Scroll the view port to the location clicked.
The mouse behavior can be configured, which button does what, and allow sending custom commands to fvwm. See the MOUSE BEHAVIOUR configuration section below for a more detailed description of mouse behavior and how to customize it.
FvwmPager fully supports multiple monitors and fvwm’s DesktopConfiguration. The Monitor option can be used to show only the windows and virtual desktop area used by specific monitor. See MONITOR AND DESKTOP CONFIGURATION for details on ways to configure the pager to work with per-monitor or shared desktop configurations.
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.
Using the SendToModule fvwm command, some of FvwmPager’s configurations can be modified while running. This allows showing/hiding labels, changing which monitor is being tracked, and a few other things. See the SENDING COMMANDS.
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.
The configuration options are split into two groups to help organize the large list of configuration options the pager has. Below you can find configuration options for the GEOMETRY, LABELS, HILIGHTING, WINDOW LOOKS, BALLOON WINDOWS, MOUSE BEHAVIOUR, MONITOR AND DESKTOP CONFIGURATION, DESK STYLES, and MISCELLANEOUS.
Configures the size of the pager along with how the desktops are arranged in a grid when viewing more than one desktop.
*FvwmPager: Geometry geometry
If X or Y are included in the geometry string, the pager will open at the specified position. The sign specifies which edge to measure from: +X from the left edge, -X from right edge, +Y from top edge, or -Y from bottom edge.
*FvwmPager: DesktopScale number
*FvwmPager: Rows rows
*FvwmPager: Columns columns
*FvwmPager: IconGeometry geometry
FvwmPager can add labels to each virtual desktop shown. The labels can show the name of the desktops and/or the name of the monitors. Labels can be used as buttons to move monitors between virtual desktops. They can be positioned either above or below each desktop. If ShapeLabels is set, only the labels on the current desktop are shown.
*FvwmPager: Font font-name
*FvwmPager: LabelsBelow
*FvwmPager: LabelsAbove
*FvwmPager: ShapeLabels
*FvwmPager: NoShapeLabels
*FvwmPager: DeskLabels
*FvwmPager: NoDeskLabels
*FvwmPager: MonitorLabels
*FvwmPager: NoMonitorLabels
FvwmPager will highlight the current location of each monitor in the virtual desktop. This can highlight both the area inside the desk, and the desk labels. Which labels are highlighted is a combination of the DesktopConfiguration and the below options.
*FvwmPager: DeskHilight
*FvwmPager: NoDeskHilight
*FvwmPager: LabelHilight
*FvwmPager: NoLabelHilight
The following options can be used to specify the general look of the mini windows. This includes labels, borders, mini icons, and how to deal with small windows. By default windows use the foreground (border and labels) and background of the colorset used in fvwm. See 'DESK STYLES' below for options to configure custom colors.
*FvwmPager: WindowFont font-name
Note, for backwards compatibility the option SmallFont is an alias for this option.
*FvwmPager: WindowLabelFormat format
*FvwmPager: WindowBorderWidth n
*FvwmPager: Window3DBorders
*FvwmPager: MiniIcons
*FvwmPager: WindowMinSize n
*FvwmPager: HideSmallWindows
Balloon windows provide popup labels for each window when the mouse hovers over it. The label, font, color, and position of these balloon windows can be configured below.
*FvwmPager: Balloons [type]
*FvwmPager: BalloonFont font-name
*FvwmPager: BalloonStringFormat format
*FvwmPager: BalloonBorderWidth number
*FvwmPager: BalloonYOffset number
The mouse can be used to change the current virtual desk/page, Scroll through the pages, move windows and more using the mouse. These actions can be configured using the following Mouse options. Each mouse button <N> can have a single action bound to it. Only the primary mouse buttons, 1 - 5 are supported. The default bindings are as follows:
*FvwmPager: Mouse 1 ChangePage *FvwmPager: Mouse 2 MoveWindow FlipFocus NoWarp *FvwmPager: Mouse 3 Scroll *FvwmPager: Mouse 4 Nop *FvwmPager: Mouse 5 Nop
The mouse bindings and additional behaviors can be configured using the following options.
*FvwmPager: Mouse <N> ChangePage
*FvwmPager: Mouse <N> MoveWindow [command]
*FvwmPager: Mouse <N> WindowCmd command
*FvwmPager: Mouse <N> Scroll
*FvwmPager: Mouse <N> Cmd command
*FvwmPager: Mouse <N> Nop
*FvwmPager: MoveThreshold pixels
*FvwmPager: SloppyFocus
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: SendCmdAfterMove
*FvwmPager: IgnoreWorkingArea
FvwmPager supports multiple monitors and the per-monitor and shared DesktopConfiguration. FvwmPager can further be configured to show only a single monitor or to interact with the monitors in specific ways.
*FvwmPager: Monitor RandRName
*FvwmPager: CurrentMonitor RandRName
*FvwmPager: CurrentDeskPerMonitor
*FvwmPager: CurrentDeskGlobal
*FvwmPager: IsShared
*FvwmPager: IsNotShared
These configuration options can be used to configure the look of each desk the pager shows individually. The options all take one or two parameters, The first optional parameter is the desk to configure and the second is the value to set. If the desk is not provided, or a "*" is used, the setting applies to all desktops.
Colorsets are preferred over color names. Once a colorset is configured, the related color settings will have no affect. When using colorsets, the pager will update if the colorset is changed in fvwm. Color names are still supported, and any valid 'X11/rgb.txt' name is accepted. For best results, don’t mix colorsets and color names.
Note setting an option for all desks will override any previous options set, so make sure to set the global options for all desks first, and the individual options for single desks second. For example, to make all desks use colorsets 10 and 11 except desk 2 which uses colorsets 12 and 13, use the following:
*FvwmPager: Colorset 10 *FvwmPager: HilightColorset 11 *FvwmPager: Colorset 2 12 *FvwmPager: HilightColorset 2 13
*FvwmPager: Colorset [desk] colorset
*FvwmPager: HilightColorset [desk] colorset
*FvwmPager: WindowColorset [desk] colorset
*FvwmPager: FocusColorset [desk] colorset
*FvwmPager: WindowColorsets WindowColorset FocusColorset
*FvwmPager: BalloonColorset [desk] colorset
*FvwmPager: Fore [desk] color
*FvwmPager: Back [desk] color
For backwards compatibility the option, '*FvwmPager: DeskColor [desk] color', is an alias for this option and works the same.
*FvwmPager: HiFore [desk] color
*FvwmPager: HiBack [desk] color
For backwards compatibility the option, '*FvwmPager: Hilight [desk] color', is an alias for this option and works the same.
*FvwmPager: WindowFore [desk] color
*FvwmPager: WindowBack [desk] color
*FvwmPager: FocusFore [desk] color
*FvwmPager: FocusBack [desk] color
*FvwmPager: WindowColors WindowFore WindowBack FocusFore FocusBack
*FvwmPager: BalloonFore [desk] color
*FvwmPager: BalloonBack [desk] color
*FvwmPager: BalloonBorderColor [desk] color
*FvwmPager: Pixmap [desk] pixmap
For backwards compatibility the option, '*FvwmPager: DeskPixmap [desk] pixmap', is an alias for this option and works the same.
*FvwmPager: HilightPixmap [desk] pixmap
*FvwmPager: LabelPixmap [desk] True|False
*FvwmPager: UseSkipList
*FvwmPager: StartIconic
*FvwmPager: NoStartIconic
*FvwmPager: SolidSeparators
*FvwmPager: NoSeparators
Using the SendToModule command, FvwmPager can be sent the following list of commands: Monitor, CurrentMonitor, DeskLabels, NoDeskLabels, MonitorLabels, NoMonitorLabels, CurrentDeskPerMonitor, CurrentDeskGlobal, IsShared, and IsNotShared. Each command functions identically to its configuration option, changing the configuration of the running pager.
Note: these commands work only on the running instance only, to make any changes permanent, update the relevant config file.
For example, you can tell a running instance of FvwmPager to track a specific monitor by sending it the following command:
SendToModule FvwmPager Monitor RandRname
This will either change which monitor is being shown or tell the pager to only show a specific monitor. Note that the special value of none will show all windows on all monitors.
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.
2024-11-30 |