I have been looking at the Panel feature for FvwmButtons. So I wrote a simple module config for a button+panel, which worked as expected. Except that when I clicked to open, I saw a brief glimpse of the panel at the right-hand side of my desktop. This gif here shows exactly what I mean. Although I have tweaked the module config in various ways, I still cannot find how to prevent this.
So I ask; is this normal, and can it be prevented? The test module config that I used is as follows. Using fvwm version 2.6.6. TIA.
Style StatusBar !Title, BorderWidth 4, HandleWidth 4, Sticky
DestroyModuleConfig StatusBar: *
*StatusBar: BoxSize fixed
*StatusBar: Geometry 200x24+950+650
*StatusBar: Columns 200
*StatusBar: Rows 24
*StatusBar: Back gray9
*StatusBar: Fore gray60
*StatusBar: Padding 0 0
*StatusBar: Frame 0
*StatusBar: Font terminus-bold-16
*StatusBar: (176x4)
*StatusBar: (20x24, Icon mm_play.png, \
Panel (right, delay 12, smooth, steps 10, position Button center 0 0 ) PanelBar \
"Module FvwmButtons -g -10000-10000 -transientpanel PanelBar")
*StatusBar: (4x24)
*StatusBar: (176x16, Title "qrstuvwxyz")
*StatusBar: (176x4)
Style PanelBar !Title, BorderWidth 4, HandleWidth 4, Sticky
DestroyModuleConfig PanelBar: *
*PanelBar: BoxSize fixed
*PanelBar: Geometry 100x24
*PanelBar: Columns 100
*PanelBar: Rows 24
*PanelBar: Back gray9
*PanelBar: Fore gray60
*PanelBar: Padding 0 0
*PanelBar: Frame 0
*PanelBar: Font terminus-bold-16
*PanelBar: (100x4)
*PanelBar: (100x16, Title "zyxwvutsrq")
*PanelBar: (100x4)
I see here, you’ve tried to have the geometry of the FvwmButtons in the panel popup off screen, as in:
"Module FvwmButtons -g -10000-10000 -transientpanel PanelBar"
That’s not right, and won’t place the window off-screen. Try again with different values.
– Thomas Adam
Indeed, the FvwmButtons manpage does mention setting the geometry to off-screen to prevent a brief flash from the panel. Although I’m not sure what off-screen means here. Does that mean beyond the maximium allowable range of the desktop, whatever that is?
The manpage suggested using “-g -30000-30000”. I’ve now tried “-5000-5000”, “-10000-10000”, “-30000-30000”, “-90000-90000” and “-9999999-9999999”, but the problem remains the same. Just putting in larger numbers hasn’t worked so far.
Okay, it seems to be working, although the reasons why are unclear.
First, I started the PanelBar module on its own with…
Module FvwmButtons -g -33300-33300 PanelBar"
Then via FvwmConsole, I was able to confirm that PanelBar appeared at x,y = -32384,-32732. Well off the visible desktop.
So I then looked at the line of my module config which spawns PanelBar, and changed it to this.
"Module FvwmButtons -g -33300-33300 -transientpanel PanelBar"
But when I restarted the StatusBar module, the ghost panel flicker bug still appears as before.
Then finally, I replaced -transientpanel with just -transient, like this.
"Module FvwmButtons -g -33300-33300 -transient PanelBar"
And when I restarted the StatusBar module, the ghost panel problem had just disappeared.
So it seems this ghost panel problem only occurs with the -transientpanel option.