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]

Reply via email to