Sometimes (apparently randomly) FvwmButtons places the swallowed FvwmIconMan in the top left corner instead of where I specified it. See here.
Restarting fvwm again solves the problem. I can see that it is still swallowed, as FvwmIdent identifies it to be FvwmButtons.
Swallow "FvwmIconMan" "Module FvwmIconMan" \
BugOpts ExplainWindowPlacement On
in your .fvwm2rc, so that you can see (if it happens again) where FVWM places FvwmButtons and FvwmIconMan, and why. More likely, I suspect a race condition in starting FvwmButtons – perhaps delaying it would help in your StartFunction (see ‘Schedule’, or ‘Wait’)
– Thomas Adam
Thank you, I think it works now
I think it was a race condition as you said. I got FvwmButtons to wait for FvwmIconMan to start in StartFunction, and I haven’t had the problem again, yet. As it happens randomly, I can’t be sure that it works, but if the problem comes again, I shall tell it.