I think I've found a boog, what do you think?

Hi, I was today playing around with the tipical anti-fancy and ugly FvwmForm-QuitVerify and went into a very annoying problem. FvwmForm-QuitVerify shows and then dissapears as fast as it appeared.

To discard possible error causes I:

1.- Logged out and rebooted, since I have been doing weird things today and the environment might have got a bit messed.
2.- Reduced my form to the minimum.
3.- Reduced my form to this:

DestroyModuleConfig  FvwmForm-QuitVerify: *

*FvwmForm-QuitVerify: GrabServer
*FvwmForm-QuitVerify: WarpPointer

*FvwmForm-QuitVerify: Button      quit		"  Exit (^X)  "	^X
*FvwmForm-QuitVerify: Command     Quit
*FvwmForm-QuitVerify: Button      quit		"  Reload (^R)  "	^R
*FvwmForm-QuitVerify: Command     Restart
*FvwmForm-QuitVerify: Button      quit		"  Cancel (ESC)  "	^[
*FvwmForm-QuitVerify: Command     Nop

*FvwmForm-QuitVerify: Timeout     20 Nop "Timeout: %% seconds..."

And it worked. So, I inverted the process, to see what’s causing all this mess. I added two colorsets:

*FvwmForm-QuitVerify: Colorset 1
*FvwmForm-QuitVerify: ItemColorset 2

And the error appeared again. I then played with these two and found that the one to blame is this:

*FvwmForm-QuitVerify: ItemColorset 2

If I comment it then all works. The other one is irrelevant.

Then I started investigating and found that only non transparent colorsets work on such objects (weird, because I remember having transparencies on the buttons as well). I did not notice this until I started playing today because usually I dont use forms nor transparencies.
This, for example works:

Colorset  52 lightsteelblue, IconAlpha 50, sh #26476F, hi #26476F, bg 

While these doesnt (they make the dialog dissapear a moment after it spawns):

Colorset  52 RootTransparent, Tint #336699 50, fg lightsteelblue, \
    IconAlpha 50, sh #26476F, hi #26476F, bg #336699
Colorset  52 RootTransparent, Tint #336699 50, fg lightsteelblue
Colorset  52 RootTransparent buffer, Tint #336699 50, fg lightsteelblue, \
    IconAlpha 50, sh #26476F, hi #26476F, bg #336699

Oh! Almost forget, there is another thing. If I comment out the Timeout line then all works, doesn’t matter wich colorset do I use. So, summing up these two codes work ok:

Colorset  52 lightsteelblue, IconAlpha 50, sh #26476F, hi #26476F, bg 
DestroyModuleConfig  FvwmForm-QuitVerify: *
*FvwmForm-QuitVerify: Colorset 1
*FvwmForm-QuitVerify: ItemColorset 52
*FvwmForm-QuitVerify: GrabServer
*FvwmForm-QuitVerify: WarpPointer
*FvwmForm-QuitVerify: Button      quit		"  Exit (^X)  "	^X
*FvwmForm-QuitVerify: Command     Quit
*FvwmForm-QuitVerify: Button      quit		"  Reload (^R)  "	^R
*FvwmForm-QuitVerify: Command     Restart
*FvwmForm-QuitVerify: Button      quit		"  Cancel (ESC)  "	^[
*FvwmForm-QuitVerify: Command     Nop
*FvwmForm-QuitVerify: Timeout     20 Nop "Timeout: %% seconds..."

or:

Colorset  52 RootTransparent, Tint #336699 50, fg lightsteelblue, \
    IconAlpha 50, sh #26476F, hi #26476F, bg #336699

DestroyModuleConfig  FvwmForm-QuitVerify: *
*FvwmForm-QuitVerify: Colorset 1
*FvwmForm-QuitVerify: ItemColorset 52
*FvwmForm-QuitVerify: GrabServer
*FvwmForm-QuitVerify: WarpPointer
*FvwmForm-QuitVerify: Button      quit		"  Exit (^X)  "	^X
*FvwmForm-QuitVerify: Command     Quit
*FvwmForm-QuitVerify: Button      quit		"  Reload (^R)  "	^R
*FvwmForm-QuitVerify: Command     Restart
*FvwmForm-QuitVerify: Button      quit		"  Cancel (ESC)  "	^[
*FvwmForm-QuitVerify: Command     Nop
#####*FvwmForm-QuitVerify: Timeout     20 Nop "Timeout: %% seconds..."

And this one does not work:

Colorset  52 RootTransparent, Tint #336699 50, fg lightsteelblue, \
    IconAlpha 50, sh #26476F, hi #26476F, bg #336699

DestroyModuleConfig  FvwmForm-QuitVerify: *
*FvwmForm-QuitVerify: Colorset 1
*FvwmForm-QuitVerify: ItemColorset 52
*FvwmForm-QuitVerify: GrabServer
*FvwmForm-QuitVerify: WarpPointer
*FvwmForm-QuitVerify: Button      quit		"  Exit (^X)  "	^X
*FvwmForm-QuitVerify: Command     Quit
*FvwmForm-QuitVerify: Button      quit		"  Reload (^R)  "	^R
*FvwmForm-QuitVerify: Command     Restart
*FvwmForm-QuitVerify: Button      quit		"  Cancel (ESC)  "	^[
*FvwmForm-QuitVerify: Command     Nop
*FvwmForm-QuitVerify: Timeout     20 Nop "Timeout: %% seconds..."

So, basically:

if (cs.RootTransparent=True && Timeout_is_present) then
{
    mess_up_my_form();
}
else do_fine();

:laughing:
Is this a known issue? Can anyone reproduce this? Im using 2.5.12. I just figured I’d better put it here before submiting a bug report or something…

  • Thanks for any answer and regards :wink:

[color=red]Edited by theBlackDragon:
–> Possible bugs are no basic questions, so moving.[/color]

I can’t seem to reproduce this — can you see if you get it on 2.5.14?

– Thomas Adam

This is so odd, now I get this instead:

As you see for some reason the text from the timeout is mixing with the text that should be alone in that button.

And the only code is this:

### File: ~/.fvwm/config
Exec fvwm-root -r $./wallpapers/.wallpaper
Colorset   1 RootTransparent, Tint #26476F 50, fg white, IconAlpha 50, sh white, hi white, bg #26476F
Key     Escape  A   4   Module FvwmForm FvwmForm-QuitVerify
Exec bluefish
### File: ~/.fvwm/FvwmForm-QuitVerify
DestroyModuleConfig  FvwmForm-QuitVerify: *

*FvwmForm-QuitVerify: Colorset 1
*FvwmForm-QuitVerify: ItemColorset  1
*FvwmForm-QuitVerify: Font				-*-snap-*
*FvwmForm-QuitVerify: ButtonFont		-*-snap-*
*FvwmForm-QuitVerify: TimeoutFont	-*-snap-*
*FvwmForm-QuitVerify: InputFont		-*-snap-*
#*FvwmForm-QuitVerify: GrabServer
*FvwmForm-QuitVerify: WarpPointer

*FvwmForm-QuitVerify: Button      quit		"  Exit (^X)  "	^X
*FvwmForm-QuitVerify: Command     Quit
*FvwmForm-QuitVerify: Button      quit		"  Reload (^R)  "	^R
*FvwmForm-QuitVerify: Command     Restart
*FvwmForm-QuitVerify: Button      quit		"  Cancel (ESC)  "	^[
*FvwmForm-QuitVerify: Command     Nop

*FvwmForm-QuitVerify: Line        center
*FvwmForm-QuitVerify: Line        center
*FvwmForm-QuitVerify: Line        center
*FvwmForm-QuitVerify: Line        center
*FvwmForm-QuitVerify: Timeout     20 Nop "Timeout: %% seconds..."
*FvwmForm-QuitVerify: Line        center
*FvwmForm-QuitVerify: Line        center
*FvwmForm-QuitVerify: Line        center
*FvwmForm-QuitVerify: Line        center

That is the only content of the two unique files that Im using in this config. If you try to reproduce this make sure that the fvwm-root line points to a valid png.

Im downloading 2.5.14. Ill let you know as soon as I can.

Thanks. :)[/code]

Further info: as with the first issue, the problem goes away if I comment out the itemcolorset or the timeout line. So, even if the two issues are not the same, they are somewhat conected each other.

Im sure there is nothing wrong in the config, since the config that Im using right now has only four lines (which I posted above). Still downloading .14…

EDIT: Just confirm that I can reproduce this in .14 as well. :cry:

I can sort of reproduce it, but not exactly – for instance, I certainly don’t get the vanishing effect that you describe. One thing you might want to try, is defining a new module alias, such as ‘*FvwmForm-QV:’ rather than using ‘FvwmForm-QuitVerify’ – since the latter is already in existence anyway. That seemed to improve things for me.

– Thomas Adam

The vanishing effect appears only sometimes, and since im playing with the configs right now it may be influenced by some other factors. Using an alternate module alias I can get it working but I still get the messed button (it happens always in the last button, as shown in the screenshot). And that config is a blackbox, nothing from outside can interfere on it, since the config itself is the bare minimum.

As before, if I comment one of the itemcolorset or the timeout lines then the problem goes away. The same happens if I just take the transparentroot option out of the colorset definition.

Shunt it to fvwm-workers.

– Thomas Adam