Pager(1x)

πŸ’– Pager(1x) β€” AfterStep X11 window manager πŸ’–

okay bestie, sit down, hydrate, and let me tell you about Pager. That's the manual page Pager(1x), and it ships with the AfterStep X11 window manager, so you already know this is giving classic desktop-core energy. It's an AfterStep module for virtual desktop navigation, and yes, it has an absolutely unhinged number of config options and we are going to go through every single one of them together, hand in hand, no skips. 🫢


πŸ‘‘ NAME πŸ‘‘

Pager β€” AfterStep module for virtual desktop navigation

literally that's the whole name section, but the way it serves... πŸ’…


🌸 BASE CONFIGURATION OPTIONS 🌸

so there are exactly two of these and they live in the base file. iconic of them.

  • *DeskTopSize Columns x Rows β€” this defines how many view Columns by how many view Rows the desk(s) have, in proportional units. so like, 2x1 would show 2 views of one desk, one beside another. cute, right?
  • *DeskTopScale number β€” if the geometry isn't specified, then a desktop reduction factor gets used to calculate the pager's size. things in the pager window are shown at 1/number of the actual size. so the number goes on the bottom, no cap.

πŸŽ€ MyStyle DEFINITIONS πŸŽ€

starting with version 1.7.60, Pager supports definition of most of its visual parameters in the look file as MyStyles. bestie, you can also define styles in the pager config file, but the main contents of the look file will override them β€” that's just how it is. so please, include them in your pager config anyway, so that you get a nice looking Pager even if the styles aren't defined in the look file. future-proofing, periodt.

The following standard MyStyle names are used:

  • *PagerUWindowStyle β€” defaults to "unfocused_window_style". this is the unfocused window representation's style. Background pixmap and gradient can be used here. ✨
  • *PagerFWindowStyle β€” defaults to "focused_window_style". the focused window representation's style. Background pixmap and gradient can be used here too.
  • *PagerSWindowStyle β€” defaults to "sticky_window_style". the sticky window representation's style. you guessed it: background pixmap and gradient can be used here.
  • *PagerActiveDesk β€” the active (selected) desk's label style. heads up though, this style defines only the look of the desk's LABEL β€” if you wanna define how your actual desk window looks, you should use the *PagerStyle option instead, see below. Background pixmap, gradient and transparency can be used here. πŸ¦‹
  • *PagerInActiveDesk β€” same as above, only for the inactive desk's label. Background pixmap, gradient and transparency can be used here as well.

πŸ’… CONFIGURATION OPTIONS πŸ’…

this is the main character section. buckle up. πŸ“

  • ActiveDeskBevel β€” defines how the border around Pager's desk representation of the current desk should be drawn.

See Also: Bevel flags for further details.

Example:

*PagerActiveDeskBevel Left,Top
# draws thick bevelled lines at the top and left of the desk
  • Align β€” defines how Pager's desk title should be aligned on the desk titlebar. See Align options for further details.

Example:

*PagerAlign  Center
# places title in the center both vertically and horizontally
  • BalloonBorderHilite β€” defines the bevel to be drawn around balloons. this replaces the BorderWidth setting, so don't go looking for that one.

See Also: Bevel flags for further details.

  • BalloonCloseDelay number β€” specifies the period in milliseconds to delay the disappearance of the balloon when you leave a window with the mouse. the goodbye delay, fr fr.
  • BalloonDelay number β€” specifies the period in milliseconds to delay the appearance of the balloon. the hello delay. πŸ™ˆ
  • BalloonStyle MyStyle β€” the MyStyle to be used to draw the balloon. note that balloons could be shaped (BackPixmap 125 and 126).
  • BalloonTextPaddingX size β€” the width of the border around the text in balloons.
  • BalloonTextPaddingY size β€” the height of the border around the text in balloons.
  • BalloonXOffset offset β€” specifies the horizontal offset (in pixels) to use when displaying balloons.
  • BalloonYOffset offset β€” the balloon window is positioned to be horizontally centered against the application 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. defaults to +2.
  • Balloons β€” turns on the balloon feature. a "balloon" is displayed showing the name of the window the pointer is resting on in the Pager. currently only the window's icon name is shown. note that balloons are not shown for the iconified pager. the balloon background and text are configured with the MyStyle "*PagerBalloon".

See Also: MyStyle definition for details.

  • Columns β€” tells afterstep how many columns of desks to use when laying out the pager window. set it to 1 for a vertical Pager and define PagerRows.
  • Decoration param1[,param2[,...]] β€” allows you to decorate your pager to your liking. the following parameters can be specified: NoDeskLabel, NoPageSeparator, NoSelection, SelectionColor, GridColor, DeskBorderWidth, DeskBorderColor, LabelBelowDesk, HideInactiveLabels, VerticalLabel.

See Also: Pager Decoration options for further details.

  • DontDrawBg β€” if specified, will not display the background image. use this with xearth or xfishtank.
⚠️ okay bestie, important: this one is deprecated. use DontDrawBackground (a Look option) instead. don't be out here using deprecated flags, it's not the vibe. πŸ’€
  • Geometry β€” completely or partially specifies the pager window 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 the height dimension of the geometry specification. your ratio stays snatched that way. πŸ’…
  • IconGeometry β€” specifies a size (optional) and location (optional) for the pager's icon window. since there is no easy way for Pager 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 (negative y is used to specify a location relative to the bottom instead of the top of the screen).
  • InActiveDeskBevel β€” defines how the border around Pager's desk representation of the inactive desk(s) should be drawn.

See Also: Bevel flags for further details.

  • Label β€” assigns the text label to desk desk in the pager window. useful for assigning symbolic names to desktops. name your desks, they deserve it. πŸŽ€
  • MyStyle β€” styles for different Pager properties are called from the file "pager", and the associated MyStyle definitions are located in a selected Look file. Fonts, foreground and background colors, gradients, pixmaps, and transparencies can be specified for Pager's components.

See Also: MyStyle definition for further details.

  • NoBalloons β€” do not show Ballons in Pager. (yes, that's how it's spelled up in here. it's giving typo but we love it.)
  • Rows β€” tells afterstep how many rows of desks to use when laying out the pager window. set it to 1 for a horizontal Pager and define PagerColumns.
  • ShadeButton "unpressed_image" ["pressed_image"] β€” you should be able to "shade" a row or column of desks by pressing a special Shade button on the desk's title. define the images to be used for it with this option. if no images are defined β€” then there will be no button and the feature will be disabled. πŸ”₯
  • SmallFont β€” specifies a font to use to label the window names in the pager. it overrides the font specified in the Focused/Unfocused/Sticky window style in the look file. it also displays text on the background color β€” which can be useful if BackPixmap is specified in the window style. oh and, window labels seem to be fairly useless for desktop scales of 32 or greater. ngl, noted. 😭
  • StartIconic β€” causes the pager to start iconified.
  • StickyIcons β€” specifies that icons should stick to the screen's glass and follow it from desk/view to desk/view. they're going wherever you're going, bestie. 🫢
  • Style desk style β€” sets the style to be used for the desk desk representation in the Pager. where style can be the name of any style definition in the look file, and desk is a number corresponding to the desktop number: 0,1,2,3,N.... use it if you want to specify a different style for the Pager background other than the default, which is the scaled down *PagerDesktopImage. πŸ‘‘

🌈 USAGE 🌈

so, technically Pager can be run from the command line, but it is normally spawned by afterstep in the autoexec file, in the following manner:

Module    "I"  Pager beginning_desktop# ending_desktop#
Wait "I"  Pager

in case you use Pager to switch your root backgrounds, Wait can be used as shown above. this will insure that the Pager has set the root background before you start any further apps (like transparent aterms and Eterms). order of operations matters, no cap. πŸ’…

or from within an afterstep menu file by 'Pager':

% cat "~/.afterstep/start/Modules/Pager"      Module "Pager" Pager
first_desktop last_desktop      MiniPixmap "mini-as.xpm"

to stop the Pager module, a menu item can be used:

% cat "~/.afterstep/start/Modules/Pager_Stop"      KillModuleByName
"Stop Pager" Pager      MiniPixmap "mini-as.xpm"

and that's where part one leaves us, bestie β€” there's more coming, so don't go anywhere. πŸ’–

✨ DESCRIPTION ✨

okay bestie so listen πŸ’– the Pager module shows you a miniature view of the AfterStep desktops that you specify on the command line. it's basically a tiny map of your whole vibe, and it's lowkey a lifesaver as a reminder of where your active windows actually are πŸ‘€

Windows inside the pager get styled according to your MyStyle definitions:

  • *PagerUWindowStyle β€” for unfocused windows πŸŒ™
  • *PagerFWindowStyle β€” for focused windows πŸ”₯
  • *PagerSWindowStyle β€” for sticky windows πŸ“

and if you literally never defined those MyStyles? no big deal, Pager defaults to the same styles as used for your actual windows. slay. πŸ‘‘

The Pager can be used to change your viewport into the current desktop, to change desktops, or to move windows around. so many talents fr fr ✨


πŸ–±οΈ the mouse lore (iykyk)

  • Pressing mouse button 1 or 2 in the Pager β†’ your viewport changes to the selected page of the selected desk. and if you click with button 1 in the desk-label area, you switch desks but not pages within the desk. delicate little distinction, don't mess it up πŸŽ€
  • Clicking and dragging with mouse button 2 on a miniature window in the Pager β†’ that window gets moved to the location where you release the mouse button, but your viewport does not change. if you drag the window out of the pager and onto your desktop, a full size image of the window appears 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. that's just not a feature, bestie, we don't make the rules 😭
  • Since some mice do not have button 2, provisions have been made to drag windows in the Pager by pressing modifier-1 (usually Alt) and dragging with button 3. adaptive. iconic. πŸ’…

πŸ¦‹ when it's iconified

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. cute, compact, capable 🧚


🌈 background tea (read this one)

Starting with version 1.7.122 Pager no longer loads background images into the memory. Module asetroot should be used to accomplish that task. But Pager will still be able to switch backgrounds as you switch between desks, after you've run asetroot to load images.

Use *PagerDontDrawBg option in pager config file to TURN background switching OFF. πŸ”Œ

See asetroot man page for more information. πŸ“–


Users will want to make sure that they have no lines similar to

Style     "Pager"   Icon myIcon.[xpm|jpg|png]

in their feel files. πŸ™ˆ not me warning you about this β€” but fr, check your feel files.


🌸 INITIALIZATION 🌸

During initialization, Pager will search for a configuration file which describes the images, locations and actions to take. here's the priority order, bestie:

  1. the file specified by the -f option (if given) πŸ‘‘
  2. else, the ~/.afterstep/pager file, if it exists
  3. else, /usr/local/share/afterstep/pager will be used

and here's a party trick: if the Pager executable is linked to another name, i.e.

ln -s Pager OtherPager

then another module called OtherPager can be started, with a completely different set of configurations than Pager, simply by adding *OtherPager options following the same *Pager configuration options below to the pager file. This way multiple Pager programs can be used. multitasking queen energy, honestly ✨


πŸŽ€ KEYBOARD FOCUS CONTROL πŸŽ€

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. no skipping ahead, okay? 😌


πŸ’… INVOCATION πŸ’…

Pager can be invoked from the autoexec file or from a menu item as shown in the Synopsis section above. ✨

AfterStep will search through the directories specified in the ModulePath configuration in the base (where # is your colordepth) to attempt to locate Pager. it's giving "where in the world is Pager" πŸ•΅οΈβ™€οΈ


πŸ‘‘ CONFIGURATION FILES πŸ‘‘

Pager reads the base file and pager file when it starts up and looks for its configuration options. that's it, that's the system. 🌟


and that's the whole page, bestie!! 🫢 big kiss to 3rd Berkeley Distribution for the source and AfterStep v.2.2.12 for this absolute classic β€” Pager(1x), you will always be famous πŸ‘‘πŸ’– go forth and page responsibly ✨

πŸ“¦ where this page comes from