Subject: FVWM: FvwmButtons swallowing iconifed FvwmPager

From: Dave Goldberg <[email-masked]>
Date: Fri, 09 Feb 1996 14:17:58 -0500

I've seen this question asked before and it always seems the answer is
"one can't".  Sure enough, if I set *FvwmPagerStartIconic, FvwmButtons
won't swallow it until I deiconify it.  However I'm a stubborn old
cuss so today being a slow Friday and all, I thought about it some and
came up with an ugly hack that works.  It occurred to me that while I
couldn't have FvwmButtons directly swallow an icon, I could have it
swallow an FvwmIconBox.  So I made a symlink to FvwmIconBox called
FvwmPagerBox (wouldn't it be nice if all modules worked like FvwmForm
so we could dispense with the symlinks, hint hint :-) and set it up so
it would only display the FvwmPager and then had FvwmButtons swallow
an FvwmPagerBox.  It means I have to start an FvwmPager anytime I run
FvwmButtons, but that's not so bad.  Here's the relevant .fvwm2rc
lines with a bit of commentary thrown in:

# I prefer a multipage desktop so I can use edgescrolling
DeskTopSize 3x3

# to avoid confusion with Fvwm* icon style
Style "FvwmPager" Icon

AddToFunc InitFunction "I" Module FvwmButtons
+ "I" Module FvwmPager 0 0
+ "I" EdgeScroll 0 0

AddToFunc RestartFunction "I" Module FvwmButtons
+ "I" FvwmPager 0 0
+ "I" EdgeScroll 0 0

# FvwmButtons
*FvwmButtonsFore Black
*FvwmButtonsBack gray
*FvwmButtonsFont -linotype-helvetica-bold-r-narrow-*-14-*-*-*-*-*-*-*
*FvwmButtonsGeometry -0-0
*FvwmButtonsColumns 2

*FvwmButtons LockScreen termlock.xpm Exec "" xcmd xlock -mode random
# this line is split for email's sake
*FvwmButtons - whatever Swallow "XClock" Exec xcmd xclock -bg gray \
-fg blue -hands yellow -hl red -padding 0
*FvwmButtons(2x5) - whatever Swallow "XBuffy" Exec xcmd xbuffy
*FvwmButtons(2x2) - whatever SwallowModule "FvwmIconBox" FvwmIconBox
*FvwmButtons(2x1) - whatever SwallowModule "FvwmTalk" FvwmTalk
*FvwmButtons(2x2) - whatever SwallowModule "FvwmPagerBox" FvwmPagerBox

# FvwmPager
*FvwmPagerBack gray
*FvwmPagerFore black
*FvwmPagerFont none
*FvwmPagerSmallFont -schumacher-clean-medium-r-normal-*-6-*-*-*-*-*-*-*
*FvwmPagerHilight skyblue
*FvwmPagerGeometry -0-0
*FvwmPagerIconGeometry -1-17
*FvwmPagerDesktopScale 25
*FvwmPagerStartIconic

# I leave out the rest of my *FvwmIconBox since it's mostly mirrored in
# *FvwmPagerBox
*FvwmIconBox "FvwmPager" -

# Pager Box
*FvwmPagerBoxIconBack lightgray
*FvwmPagerBoxIconHiFore black
*FvwmPagerBoxIconHiBack cadetblue
*FvwmPagerBoxBack gray
*FvwmPagerBoxFore lightgray
*FvwmPagerBoxPixmap twister.xpm
*FvwmPagerBoxGeometry 1x1+0-0
*FvwmPagerBoxMaxIconSize 150x120
# I can only seem to get rid of one scroll bar.  This makes the
# other one less intrusive.  (another hint :-)
*FvwmPagerBoxSBWidth 0
*FvwmPagerBoxFont -schumacher-clean-medium-r-normal-*-8-*-*-*-*-*-*-*
*FvwmPagerBoxPadding 0
*FvwmPagerBoxLines 1
*FvwmPagerBoxHideSC Vertical
*FvwmPagerBoxPlacement Top Left
*FvwmPagerBoxSetWMIconSize
*FvwmPagerBoxHilightFocusWin
*FvwmPagerBoxMouse 1 Click RaiseLower
*FvwmPagerBoxMouse 1 DoubleClick Iconify
*FvwmPagerBoxMouse 2 Click Module "FvwmIdent" FvwmIdent
*FvwmPagerBoxMouse 3 Click Iconify -1, Focus
*FvwmPagerBoxKey Left RaiseLower
*FvwmPagerBoxKey Right Iconify -1, Focus
*FvwmPagerBoxKey Up Iconify
*FvwmPagerBoxKey Down Module "FvwmIdent" FvwmIdent
*FvwmPagerBoxKey KP_9 Prev
*FvwmPagerBoxKey KP_3 Next
*FvwmPagerBoxKey KP_2 Down
*FvwmPagerBoxKey KP_8 Up
*FvwmPagerBoxKey KP_4 Left
*FvwmPagerBoxKey KP_6 Right
*FvwmPagerBox "*" -
*FvwmPagerBox "FvwmPager"
Dave Goldberg
Post: The Mitre Corporation\MS B020\202 Burlington Rd.\Bedford, MA 01730
Phone: 617-271-3887
Domain: [email-masked]  UUCP: {your neighborhood}!linus!mdf!dsg