I sent this direct to Olivier, here it is to the mailing list.
[EMAIL PROTECTED] wrote:
I am afraid to do not understand. what I would like to implement is automatic configuration. An alternative to atom is a new (undocumented) _command_, say, ParentRelative. If a module has a transparent background then it send to fvwm2 "ParentRelative On" to force the ParentalRelativity and WindowShadeShrinks styles. If the colorset change and the background become non transparent the modules then send "ParentRelative Off".
Why not wait until the WindowStyle command is implemented and then have the module send "WindowId xxx WindowStyle ParentRelative On" ?
A solution here, is again a new command similar to Colorset. When a FvwmButton change the background of a swallowed window with X-id ID (and if the swallowed app is an Fvwm module, see the next paragraph) it can send the command "BackgroundChange". Then fvwm2 will send the string "ROOT_BG_CHANGE_STRING ID" to modules and the module with X-id ID may be able to update its background if it is transparent (fvwm2 already send "ROOT_BG_CHANGE_STRING" when fvwm2 detects that the root background change). BTW, it will be maybe better to send a MX_ROOT_BG_CHANGE message as we have now some places? Also it will be useful for FvwmButtons to know if the swallowed window is a FVWM Module or a normal X application. The only solution I see is to claim in the FvwmButtons man page that if the swallow command begin with Fvwm or Module then FvwmButtons will consider that it will swallow a Fvwm module. So if a complex function is used to launch a swallowed app the name of this complex function have some importance. Is this acceptable?
The only thing a transparent window needs to do when the root window changes is a refresh. Why not have FvwmButtons do a refresh on each swallowed window if the button that holds the window is transparent?
// end of resend // On playing a bit with this I think the correct way to handle transparent colorsets and the root window changinf is for FvwmTheme to look for changes to the root window and for it to resend the Colorset command to fvwm. The following line in FvwmConsole fixes up all the transparent modules with a background change: sendtomodule FvwmTheme Colorset 0 transparent Obviously this only works with colorset 0 being transparent and FvwmTheme should do the necessary for each colorset with a transparent background. I don't think there is any need to have any code in the modules to handle root changes, they all already have code to cope with colorset changes so let's use that mechanism. Cheers, Tim. -- Visit the official FVWM web page at <URL:http://www.fvwm.org/>. To unsubscribe from the list, send "unsubscribe fvwm-workers" in the body of a message to [EMAIL PROTECTED] To report problems, send mail to [EMAIL PROTECTED]