First Firefox window full screen on layer 4, without window decorations.
Subsequent Firefox windows floating and with window decorations on layer 6.
And what would be really cool:
When the first Firefox window is closed, then another one open is moved to layer 4 and made full screen.
I guess I could do some of it using FvwmEvent and wmctrl on window open/close. Devil’s Pie also looks interesting. At first glance, these tools seem to provide all the features necessary, incl. setting windows to always be above or always be below other windows.
In the end I realized that with only FVWM. Taken from the hiwiwi configuration, and edited (typos possible):
AddToFunc MyMaximizeInLayer3
+ I All ("Firefox", Layer 3, !Transient) ResizeMove 2592p 1620p 288p 0p
+ I UpdateStyles
+ I All (Layer 3, !Transient) WindowStyle \
FixedPosition, FixedUSPosition, FixedPPosition, \
FixedSize, FixedUSSize, FixedPSize
AddToFunc MyUndecorateInLayer3
+ I All (Layer 3, !Transient) WindowStyle NoTitle, !Borders
AddToFunc MyUpdateLayer3
+ I MyUndecorateInLayer3
+ I UpdateStyles
+ I MyMaximizeInLayer3
AddToFunc MyUpdate
+ I Layer 0 3
+ I UpdateStyles # Firefox may open more windows now -> current may change
+ I MyUpdateLayer3
AddToFunc MyUpdateIfInList
+ I Current (!Transient, "Firefox") MyUpdate
AddToFunc MyResizeInLayer4
+ I Current (Layer 4, "Firefox") Resize 1024p 768p
AddToFunc MyOnWindowAdd
+ I Any (CurrentDesk, Layer 3) MyResizeInLayer4
+ I None (CurrentDesk, Layer 3) MyUpdateIfInList
Module FvwmEvent
*FvwmEvent: Cmd
*FvwmEvent: add_window MyOnWindowAdd
Full screen in this case actually leaves some space for a navigation bar on the left side, 288px wide.