Help! I'm getting duplicate FvwmIconMans

Yesterday, yum incorrectly removed fvwm from my CentOS 7.9 machine. So I ran yum install fvwm, and it installed version “2.6.6-1.el7” from the epel repository.

This installation would not properly process my .fvwm2rc file, which I’ve been using for years, and which contained the single line
FvwmM4 $[HOME]/.fvwmrc.M4
So I ran m4 from the command line and put the output into .fvwm2rc, and everything seems to work EXCEPT…

I have duplicate FvwmIconMan windows! My .fvwm2rc contains a line
*FvwmIconMan: nummanagers 4
followed by lines that specify properties for all of them, and separately for each of the four. But when fvwm starts, there are TWO COPIES of each icon manager – i.e. two of each type, so eight in all. So I have two icon managers showing editor windows, two for xterms on the current desktop and so forth.

Weirder yet, if/when I restart fvwm, I get another set – so three for all xterms, three for all editor windows etc.

Has anyone got any idea what is going on? What can possibly be causing this behaviour?

What does your entire fvwm configuration look like?

Well, it’s longer than I would normally have posted, but since thomasadam explicitly asked…

ImagePath /usr/X11R6/share/include/X11/pixmaps/

# Now the real stuff....

Module FvwmCommandS

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
#
# Desktop/pages configuration
#

EdgeScroll 0 0
EdgeResistance 10000 0
ClickTime 200
ColormapFocus FollowsFocus
MoveThreshold 1
# IgnoreModifiers L25
DeskTopSize 1x1

BugOpts RaiseOverUnmanaged
Style * SnapAttraction 3 Icons Screen


#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
#
# FvwmWinList
#

*FvwmWinListBack #908090
*FvwmWinListFore Black
*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
*FvwmWinListAction Click1 Iconify -1,Focus
*FvwmWinListAction Click2 Iconify
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent
*FvwmWinListUseSkipList
*FvwmWinListGeometry +0-1


#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
#
# Pager
#

Module FvwmPager 0 11
*FvwmPager: Rows 2
*FvwmPagerBack #908090
*FvwmPagerFore #484048
# turn off desktop names for swallowing in above button bar example:
#*FvwmPagerFont none
*FvwmPager: LabelsBelow
*FvwmPager: DeskTopScale 20
*FvwmPagerHilight #cab3ca
*FvwmPagerGeometry +300+1
*FvwmPager: Label 0 "Main"
*FvwmPager: Label 1 "Admin"
*FvwmPager: Label 2 "Drains"
*FvwmPager: Label 3 Win3
*FvwmPager: Label 4 Win4
*FvwmPager: Label 5 "Postgres"
*FvwmPager: Label 6 "Root"
*FvwmPager: Label 7 "Devel1"
*FvwmPager: Label 8 "Remote1"
*FvwmPager: Label 9 "Remote2"
*FvwmPager: Label 10 "Remote3"
*FvwmPager: Label 11 "Puppet"
*FvwmPager: DeskColor 0 "ForestGreen"
*FvwmPager: DeskColor 1 "SaddleBrown"
*FvwmPager: DeskColor 2 "LightSkyBlue"
*FvwmPager: DeskColor 3 "Black"
*FvwmPager: DeskColor 4 "MidnightBlue"
*FvwmPager: DeskColor 5 "Blue"
*FvwmPager: DeskColor 6 "LightCyan"
*FvwmPager: DeskColor 7 "Yellow"
*FvwmPager: DeskColor 8 "yellowgreen"
*FvwmPager: DeskColor 9 "Cornsilk"
*FvwmPager: DeskColor 10 "Chartreuse3"
*FvwmPager: DeskColor 11 "Cornsilk"
*FvwmPagerSmallFont 5x8
*FvwmPagerBalloons            All
*FvwmPagerBalloonBack         Yellow
*FvwmPagerBalloonFore         Black
*FvwmPagerBalloonFont         lucidasanstypewriter-12
*FvwmPagerBalloonYOffset      +2
*FvwmPagerBalloonBorderWidth  1
*FvwmPagerBalloonBorderColor  Black

Module FvwmBacker
*FvwmBacker: Command (Desk 0) -solid "ForestGreen"
*FvwmBacker: Command (Desk 1) -solid "SaddleBrown"
*FvwmBacker: Command (Desk 2) -solid "LightSkyBlue"
*FvwmBacker: Command (Desk 3) -solid "Black"
*FvwmBacker: Command (Desk 4) -solid "MidnightBlue"
*FvwmBacker: Command (Desk 5) -solid "Blue"
*FvwmBacker: Command (Desk 6) -solid "LightCyan"
*FvwmBacker: Command (Desk 7) -solid "Yellow"
*FvwmBacker: Command (Desk 8) -solid "yellowgreen"
*FvwmBacker: Command (Desk 9) -solid "Cornsilk"
*FvwmBacker: Command (Desk 10) -solid "Chartreuse3"
*FvwmBacker: Command (Desk 11) -solid "Cornsilk"

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
#
# Fonts
#


Style * Font "-adobe-helvetica-medium-r-normal--14-140-75-75-p-82-iso8859-1"
Style * IconFont "-adobe-helvetica-bold-r-normal--14-140-75-75-p-82-iso8859-1"



#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
#
# Window decoration styles:
#


AddToDecor Default
+ TitleStyle LeftJustified
+ ButtonStyle 2 17 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x70@1 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1
+ ButtonStyle 6 13 10x0@1 80x0@1 80x10@1 80x80@0 0x80@0 0x60@1 10x65@1 70x65@0 70x0@0 55x0@1 55x10@1 55x55@0 10x55@0
+ ButtonStyle 4 16 60x40@1 60x80@0 15x80@0 15x40@1 60x40@1 40x40@1 40x25@1 75x25@1 75x60@0 60x60@0 75x60@0 75x40@0 85x40@0 85x15@0 60x15@1 60x25@1
+ ButtonStyle 1 7 70x15@0 30x55@1 50x55@0 40x85@1 80x45@0 60x45@1 70x15@0





# Style "*"           NoIcon
#  Style "*"           BorderWidth 7, HandleWidth 7
# Style "*"           Color lightgrey/dimgrey
Style "*"           DecorateTransient, NoPPosition
Style "*"           RandomPlacement, SmartPlacement

Style "Fvwm*"       NoTitle, Sticky
Style "Fvwm*"       BorderWidth 2, CirculateSkipIcon, CirculateSkip
Style "FvwmConsole" Title, Slippery
Style "FvwmPager"   StaysOnTop
Style "FvwmButtons" StaysOnTop
Style "FvwmIconMan" BorderWidth 2, NoTitle

Style "*clipboard"  Sticky
Style "xbiff"       NoTitle, Sticky, WindowListSkip, ClickToFocus
Style "xbuffy"      NoTitle, Sticky, WindowListSkip, ClickToFocus
Style "XPerfmon++"  Sticky, NoTitle, ClickToFocus
Style "XEyes"       Sticky, NoTitle, ClickToFocus
Style "XClock"      Sticky, NoTitle, ClickToFocus
Style "ABD Card"    NoTitle
Style "Minibuffer"  Sticky, NoTitle
Style "minibuf"     Sticky, NoTitle
Style "XTerm"       Icon xterm.xpm, SloppyFocus, IconBox -70 1 -1 -140

Style "Emacs"       NoIcon
Style "Mozilla-bin" NoIcon


Style SmallBlob UsePPosition, NoTitle, NoHandles, BorderWidth 10



#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
#
# Defining Menus
#

AddToMenu WMOps         "Window Manager"        Title
+                       "Redisplay All"         Refresh
+                       ""                      Nop
+                       "FVWM Pager"            Module FvwmPager -transient 0 11 
+                       "FVWM PPager"           Module FvwmPager 0 11 
+                       "FVWM Console"          Module FvwmConsole
+                       "Restart FVWM"          Restart
+                       ""                      Nop
+                       ""                      Nop
+                       "Quit FVWM"             Quit


AddToMenu Window-Ops    "Window Ops"    Title
+                       "Refresh Window" RefreshWindow
+                       "Stick"         Stick
+                       "To Desk..."    Popup Window-Desk-Ops
+                       "More..."       Popup More-Window-Ops
+                       "Describe"      Module "FvwmIdent" FvwmIdent


AddToMenu More-Window-Ops       "More Window Ops"       Title
+                       "Refresh Window" RefreshWindow
+                       "Move"          Move
+                       "Resize"        Resize
+                       "Raise"         Raise
+                       "Lower"         Lower
+                       "(De)&Iconify"  Iconify
+                       "Close"         Close
+                       ""              Nop
+                       "Destroy"       Destroy


AddToMenu Desk-Ops      "Goto Desk"     Title
+                       ""Main""                GotoDesk 0 0
+                       ""Admin""               GotoDesk 0 1
+                       ""Drains""              GotoDesk 0 2
+                       "Win3"          GotoDesk 0 3
+                       "Win4"          GotoDesk 0 4
+                       ""Postgres""            GotoDesk 0 5
+                       ""Root""                GotoDesk 0 6
+                       ""Devel1""              GotoDesk 0 7
+                       ""Remote1""             GotoDesk 0 8

AddToMenu Window-Desk-Ops       "Move To Desk"  Title
+                       ""Main""                MoveToDesk 0 0
+                       ""Admin""               MoveToDesk 0 1
+                       ""Drains""              MoveToDesk 0 2
+                       "Win3"          MoveToDesk 0 3
+                       "Win4"          MoveToDesk 0 4
+                       ""Postgres""            MoveToDesk 0 5
+                       ""Root""                MoveToDesk 0 6
+                       ""Devel1""              MoveToDesk 0 7
+                       ""Remote1""             MoveToDesk 0 8

AddToMenu Tools         "Tools"         Title
+                       "Shell"         Popup Shells
+                       ""              Nop
+                       "Firefox"       Exec firefox &
+                       "Emacs"         Exec emacs &
+                       ""
+                       "remote"        Module FvwmForm FvwmForm-Rlogin



AddToMenu Shells        "Shells"        Title
+                       "xterms"        Exec xterm -T `hostname` -n `hostname` -sb -sl 1000 &
+                       "xterm"         Exec xterm -T `hostname` -n `hostname` -sb -sl 1000 -geometry 80x50 &
+                       ""             Nop
+                       "host1"         Exec /home/robert/Scripts/rxterm host1 -sb -sl 1000 
+                       "host2"         Exec /home/robert/Scripts/rxterm host2 
-sb -sl 1000 
+                       " "             f.nop


#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
#
# FvwmIconMan
#

Module FvwmIconMan

*FvwmIconMan: nummanagers               4
*FvwmIconMan: resolution                global
*FvwmIconMan: font                      -*-lucidabright-medium-r-normal-*-*-110-*-*-p-*-iso8859-1
*FvwmIconMan: foreground                white
*FvwmIconMan: background                darkgreen
*FvwmIconMan: plainbutton               down
*FvwmIconMan: selectbutton              up yellow firebrick
*FvwmIconMan: focusbutton               up white purple
*FvwmIconMan: focusandselectbutton      up yellow purple
*FvwmIconMan: followfocus               true
*FvwmIconMan: sort                      name
*FvwmIconMan: format                    "%i"

*FvwmIconMan: action Mouse     1 N sendcommand Iconify
*FvwmIconMan: action Mouse     2 N sendcommand WarpToWindow
*FvwmIconMan: action Mouse     3 N sendcommand "Module FvwmIdent FvwmIdent"

*FvwmIconMan: action Key  Left  N gotobutton Left, select
*FvwmIconMan: action Key  Right N gotobutton Right, select
*FvwmIconMan: action Key  Up    N gotobutton Up, select
*FvwmIconMan: action Key  Down  N gotobutton Down, select
*FvwmIconMan: action Key  q     N quit


*FvwmIconMan: 1 managergeometry "1x0+1140+10"
*FvwmIconMan: 1 buttongeometry   170x0
*FvwmIconMan: 1 show            class=Emacs
*FvwmIconMan: 1 followfocus     true
*FvwmIconMan: 1 resolution      desk

*FvwmIconMan: 2 managergeometry 1x0-70+0
*FvwmIconMan: 2 buttongeometry   100x0
*FvwmIconMan: 2 show            class=XTerm
*FvwmIconMan: 2 followfocus     true
*FvwmIconMan: 2 resolution      desk

*FvwmIconMan: 3 managergeometry 1x0+80+10
*FvwmIconMan: 3 buttongeometry   200x0
*FvwmIconMan: 3 show            class=firefox
*FvwmIconMan: 3 followfocus     true

*FvwmIconMan: 4 managergeometry 1x0+0+0
*FvwmIconMan: 4 buttongeometry   120x0
*FvwmIconMan: 4 dontshow        icon=Untitled class=Vncconfig class=FvwmPager class=FvwmIconMan class=XTerm class=FvwmIdent
*FvwmIconMan: 4 followfocus     true


#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
#
# Defining functions
#

AddToFunc Move-or-Raise
+               C       Raise
+               M       Move

AddToFunc Resize-or-Lower
+               C       Lower
+               M       Resize

AddToFunc Move-or-Open
+               C       Iconify
+               M       Move



#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
#
# Mouse Bindings
#

Mouse 1 R N Menu Tools
Mouse 2 R N Menu Window-Ops Nop
Mouse 3 R N Menu Desk-Ops

Mouse 1 R C Menu WMOps
Mouse 1 R S Menu WMOps
Mouse 3 R C WindowList
Mouse 3 R C WindowList

Mouse 1 I N Move-or-Open
Mouse 1 I M Move-or-Raise
Mouse 2 I N Move-or-Open
Mouse 2 I M Move-or-Lower
Mouse 3 I A Popup Window-Ops

Mouse 1 TSF N Move-or-Raise
Mouse 2 TSF N Resize-or-Lower
Mouse 3 TSF N Popup Window-Ops

Mouse 1 W M Move-or-Raise
Mouse 2 W M Resize-or-Lower
Mouse 3 W M Popup Window-Ops

Mouse 0 1 A Popup Window-Ops
Mouse 0 2 A Close
Mouse 0 4 A Iconify
Mouse 0 6 A Resize



#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
#
# FVWM initialise and restart functions
#

AddToFunc StartFunction   "I" Module FvwmIconMan
+                         "I" Module FvwmButtons
+                         "I" Module FvwmBanner 
+                         "I" Module FvwmBacker

AddToFunc RestartFunction "I" Module FvwmIconMan
+                         "I" Module FvwmButtons
+                         "I" Module FvwmBanner 


#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
Key Mode_switch A A Exec xmessage -name "SmallBlob" -bg red -fg white -nearmouse -timeout 1 'I am here!'

You are launching all your modules twice, once in your config and once in your StartFunction. Remove the Module Foo from the line before the module configs and only launch from your StartFunction.

Yes, that was it!
You’re a hero!

It’s been many years since I made a non-trivial change to my fvwm init file, and it/I was obviously doing something in a way that the less ancient version I unwitting started using does not like.

I’ll have to read up on what else is different now:-)

Again, many thanks.