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!'
somiaj
2 November 2023 17:47
4
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.