FvwmPager(1)
πΈ FvwmPager(1) Β· Fvwm Modules πΈ
β¨ NAME β¨
FvwmPager is the Fvwm Pager module π
π SYNOPSIS π
FvwmPager [ -transient ] [ name ] [ first desk [ last desk ] ]
Okay bestie, FvwmPager gets spawned by fvwm, so no command line invocation will work π Don't even try it π
All desks with numbers between first desk and last desk get displayed π¦ If you leave out last desk, only first desk shows up. If you leave out both, the pager uses the current desk instead β¨ And if you put an asterisk * in place of first desk, the pager will always show the current desktop, even when you switch desks. Main character energy π
Here are some example lines for your .fvwm2rc π§
Module FvwmPager 0 3
or
Module FvwmPager *
Or, if you want it in 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 *
Now the -transient option π If you start the pager with -transient, the pager closes the next time a button gets released. This only works if the pager window's style is sticky (check the fvwm man page for that). You should use the StaysOnTop style too π«Ά
Heads up:-transientis only reliable when the pager window issticky, so set that up first or it won't behave π
Here's an example π
Style FvwmPager Sticky, StaysOnTop
*FvwmPager: Rows 1
*FvwmPager: Columns 1
Mouse 3 R C Module FvwmPager -transient
With that in your .fvwm2rc, pressing control and button 3 on the root window pops the pager up right under your mouse, and the viewport moves along with the mouse as you go π₯
π DESCRIPTION π
The FvwmPager module gives you a tiny little view of the Fvwm desktops you listed on the command line π¦ It's super useful as a reminder of where your active windows are. Pager windows wear the same color as their fvwm decorations, so it's giving cohesive π
The pager can move your viewport into the current desktop, switch desktops, or move windows around π
Pressing mouse button 1 in the pager moves your viewport to the page you picked on the desk you picked β¨ If you click button 1 in the desk-label area instead, you switch desks but don't change pages within the desk.
Dragging mouse button 2 on a miniature window drops that window wherever you release the button, and your viewport stays put π§ If you drag the window out of the pager and onto your actual desktop, a full-size image of it shows up so you can place it. There's no way to grab a full-size window and drag it into the pager, though π Since some mice don't have button 2, the author added a workaround: hold modifier-1 (usually Alt) and drag with button 3 to move windows in the pager π«Ά
Clicking mouse button 3 on a spot moves the viewport to that spot and switches desks if it needs to, but it won't snap the viewport to a page boundary π¦ Dragging button 3 moves the viewport as you drag, but it won't switch desktops, even if your pointer wanders onto another desktop π
With the *FvwmPager: SloppyFocus option, focus follows your mouse. Whatever window the pointer is over gets focus while the pointer is inside the pager π
When the pager is iconified, it turns into a fully functional pager for the current desk only πΈ You can move windows and viewports around inside the pager's icon too. Make sure you don't have any lines like this in your .fvwm2rc files:
Icon "Fvwm Pager" whatever
Watch out: lines like the one above can mess with the iconified pager, so double-check your .fvwm2rc π
π¦ COPYRIGHTS π¦
The FvwmPager program, plus the concept for hooking this module up to the Window Manager, are all original work by Robert Nation π
Copyright 1994, Robert Nation. No guarantees, warranties, or anything like that are provided or implied in any way whatsoever. Use this program at your own risk π You're allowed to use it for any purpose, as long as the copyright stays intact β¨
π§ INITIALIZATION π§
During initialization, FvwmPager pulls its config info from fvwm's module configuration database (see fvwm(1), section MODULE COMMANDS) π
Want several different pager setups? Pass an optional parameter, and FvwmPager uses that as its name instead π For example: Module FvwmPager OtherPager. OtherPager then reads only the lines in the config file that start with *OtherPager, and skips the lines that belong to FvwmPager. That way you can run multiple pager instances π
Note: the old way to get several configurations was to link the executable to another name, like this:
ln -s FvwmPager OtherPager
Honestly this might work, but this method is not supported π
π₯ KEYBOARD FOCUS CONTROL π₯
You can send keyboard focus to any window on the current desktop by clicking button 2 on its image in the pager π The window doesn't have to be visible, but it does have to be on the current page.
π INVOCATION π
The invocation method was already shown in the synopsis section π«Ά
β¨ CONFIGURATION OPTIONS β¨
*FvwmPager: Geometry geometryβ π Pins down the pager window's location and size, either fully or partly, using standard X11 notation. To keep the aspect ratio from getting squished, you might wanna leave out either the width or the height in your geometry spec. π*FvwmPager: Rows rowsβ Tells fvwm how many rows of desks to lay out in the pager window. πΈ*FvwmPager: Columns columnsβ Tells fvwm how many columns of desks to lay out in the pager window. π*FvwmPager: IconGeometry geometryβ Sets a size (optional) and a spot (optional) for the pager's icon window. FvwmPager has no easy way to figure out how tall the icon's label is, so if you use negative y-coordinates (which count from the bottom of the screen instead of the top), you've gotta make room for that label height yourself. π*FvwmPager: StartIconicβ Makes the pager start out iconified. π¦*FvwmPager: NoStartIconicβ Makes the pager start normally. Super handy for undoing the StartIconic option. β¨*FvwmPager: LabelsBelowβ Has the pager draw desk labels below their desk. π*FvwmPager: LabelsAboveβ Has the pager draw desk labels above their desk. Useful for canceling the effect of LabelsBelow. π«Ά*FvwmPager: ShapeLabelsβ Hides the labels of every desk except the current one. This also turns off label hilighting. π§*FvwmPager: NoShapeLabelsβ Shows the labels of all visible desks. Useful for undoing ShapeLabels. π*FvwmPager: Font font-nameβ Picks the font used to label the desktops. Iffont_nameis"none", no desktop labels get shown. π*FvwmPager: SmallFont font-nameβ Picks the font used to label window names in the pager. If you don't set this, the window labels get left out. Ngl, window labels seem pretty useless at desktop scales of 32 or greater. Iffont_nameis"none", no window names get shown. π*FvwmPager: Fore colorβ Sets the color for writing the desktop labels and drawing the page-grid lines. π*FvwmPager: Back colorβ Sets the background color for the window. πΈ*FvwmPager: Hilight colorβ The active page and desk label get highlighted with this background instead of the normal one. Main character energy. π₯*FvwmPager: HilightPixmap pixmapβ The active page gets highlighted with this background pattern instead of the normal one. π¦*FvwmPager: DeskHilightβ Hilights the active page with the current hilight color or pixmap. Useful for undoing NoDeskHilight. β¨*FvwmPager: NoDeskHilightβ Don't hilight the active page. π*FvwmPager: WindowColors fore back hiFore hiBackβ Changes the normal and highlight colors of the windows.foreandhiForeare the colors for the font inside the windows, andbackandhiBackare what fill the windows. π¨*FvwmPager: WindowLabelFormat formatβ Sets a printf()-like format for the labels in the mini windows. The flags are%t,%i,%c, and%r, which stand for the window's title, icon title, class, or resource name, respectively. The default is"%i". π§Ύ*FvwmPager: Label desk labelβ Gives the text label to desk desk (or the current desk, if desk is"*") in the pager window. This is so good for giving your desktops symbolic names, like this:
*FvwmPager: Label 1 Mail
*FvwmPager: Label 2 Maker
*FvwmPager: Label * Matlab
π« Heads up: there's currently a much better way to name desks globally (not just in FvwmPager), using the DesktopName command, so you shouldn't use this option anymore.
*FvwmPager: DeskColor desk colorβ Gives the color color to desk desk (or the current desk, if desk is"*") in the pager window. This replaces the background color for that particular desk. It only works when the pager is full sized. When it's iconified, the pager uses whatever color you set with*FvwmPager: Back. π
TIP: Try using *FvwmPager: DeskColor together with FvwmCpp (or FvwmM4) and FvwmBacker to give your various desktops and their pager representations identical colors. Bestie, the matching is everything. π
*FvwmPager: Pixmap pixmapβ Uses pixmap as the background for the pager. πΌοΈ*FvwmPager: DeskPixmap desk pixmapβ Assigns the pixmap to desk desk (or the current desk, if desk is"*") in the pager window. This replaces the background pixmap for that particular desk. β¨
TIP: Try using *FvwmPager: DeskPixmap together with FvwmCpp (or FvwmM4) and FvwmBacker to give your various desktops and their pager representations identical pixmaps. Same matching energy, different vibe. π«Ά
*FvwmPager: DeskTopScale numberβ If you don't set the geometry, a desktop reduction factor gets used to work out the pager's size. Things in the pager window show up at 1/number of their actual size. π*FvwmPager: MiniIconsβ Lets the pager show a window's mini icon in the pager (if it has one) instead of the window's name. π§Έ*FvwmPager: MoveThreshold pixelsβ Sets how far the pointer has to move before a window being dragged with button 2 actually moves. The default is three pixels. If the pointer moves less than that, the window snaps back to where it started when you let go of the button. If pixels is less than zero, the default value is used. The MoveThreshold command in fvwm gets inherited by FvwmPager, but this option can override it. π―*FvwmPager: SloppyFocusβ With this option, you don't have to click into the mini window in the pager to give the real window focus. Just hovering over the window inside the pager is enough. β¨
β οΈ Note: this option interferes a little 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 spot where a window on the new page will appear, that new window doesn't get the input focus. This can happen if you drag the pointer over one of the mini windows in the pager. There's 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 makes FvwmPager use solid lines instead. π€*FvwmPager: NoSeparatorsβ Turns off the lines separating the pages of the virtual desktop. π«§*FvwmPager: Balloons [type]β Shows a balloon describing the window when the pointer moves into a window in the pager. The default format (the window's icon name) can be changed with BalloonStringFormat. If type isPager, balloons only show up for an un-iconified pager. If type isIcon, balloons only show up for an iconified pager. If type is anything else (or null), balloons always show up. π*FvwmPager: BalloonFore colorβ Sets the color for the text in the balloon window. If you leave it out, it defaults to the foreground color of the window being described. π©·*FvwmPager: BalloonBack colorβ Sets the background color for the balloon window. If you leave it out, it defaults to the background color of the window being described. π©΅*FvwmPager: BalloonFont font-nameβ Picks the font for the balloon text. Defaults tofixed. π€*FvwmPager: BalloonBorderWidth numberβ Sets the width of the balloon window's border. Defaults to1. ποΈ*FvwmPager: BalloonBorderColor colorβ Sets the color of the balloon window's border. Defaults toblack. π€*FvwmPager: BalloonYOffset numberβ The balloon window gets positioned so it's horizontally centered against the pager window it's describing, and you can set its vertical position as an offset. Negative offsets of-nput it n pixels above the pager window, and positive offsets of+nput it n pixels below. Offsets of-1and1put the balloon window right next to the original window with no gap. Offsets of0aren't allowed, because that would let you move directly from the pager window to the balloon window, which causes an event loop. π It defaults to+3. The offset flips its sign automatically when needed, so the balloon stays on the screen. π«§*FvwmPager: BalloonStringFormat formatβ Same as WindowLabelFormat. It just sets the string that shows up in the balloons. The default is"%i". π§Ύ*FvwmPager: Colorset desk colorsetβ Tells the module to use colorset for desk. If you put an asterisk*in place of desk, the colorset gets used on all desks. π*FvwmPager: BalloonColorset desk colorsetβ Tells the module to use colorset for balloons on desk. If you put an asterisk*in place of desk, the colorset gets used on all desks. π*FvwmPager: HilightColorset desk colorsetβ Tells the module to use colorset for hilighting on desk. If you put an asterisk*in place of desk, the colorset gets used on all desks. β¨*FvwmPager: WindowColorsets colorset activecolorsetβ Works just like WindowColors, but with colorsets. The shadow and hilight colors of the colorset only get used for the window borders if Window3DBorders is specified too. π*FvwmPager: WindowBorderWidth nβ Sets the width of the border around the mini windows. This also sets the minimum size of the mini windows to(2 * n + 1). The default is1. π*FvwmPager: Window3DBordersβ Gives the mini windows 3D borders based on the mini window background. This option only works if WindowColorsets is specified. π§*FvwmPager: UseSkipListβ Tells FvwmPager to hide windows that use theWindowListSkipstyle. π
β¨ AUTHOR β¨
okay so the main brains behind this bad boy are π
- Robert Nation π, the OG creator
- 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
bestie that's the whole crew πβ¨ this page came from the 3rd Berkeley Distribution, version 2.7.0, dated 19 October 2022 π ily, now go pager-hop your desktop π§π
π¦ where this page comes from
- debian bookworm: fvwm 1:2.7.0-2 Β· GPL-2.0-only
- debian trixie: fvwm 1:2.7.0-3 Β· GPL-2.0-or-later
- ubuntu noble: fvwm 1:2.7.0-2build2 Β· GPL-2.0-only
- ubuntu questing: fvwm 1:2.7.0-3
- ubuntu resolute: fvwm 1:2.7.0-3build1 Β· GPL-2.0-or-later
- ubuntu stonking: fvwm 1:2.7.0-3build1 Β· GPL-2.0-or-later
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms