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();
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
[color=red]Edited by theBlackDragon:
–> Possible bugs are no basic questions, so moving.[/color]