On 2/4/06, Mikhael Goikhman <[EMAIL PROTECTED]> wrote:
> On 04 Feb 2006 16:56:47 +0000, seventh guardian wrote:
> >
> > > > existing structure only stores the name, and not the asterisk. Of
> > > > course we could use the existing char* MyName, but that would defeat
> > > > the whole purpose of using the ModuleArgs struct.
> > > >
> > > > I wonder if we need the asterisk in the first place. Wouldn't it be
> > > > easyer "new-code-wise" to use only the name for pattern matching? It
> > > > could be stripped off by fvwm or simply not used in the config files.
> > > >
> > > > (since this is only experimental code we are allowed to forget
> > > > backward compatibility issues)
> > >
> > > Eventually you have to deal with compatibility.
> >
> > Yes, but unless there's a reason for the use of the asterisk, it is
> > cleaner not to have it. Configuration keywords are changing all the
> > time, it won't be that difficult to strip the * from the config files.
>
> Here you speak about the fvwm configuration. You can't omit the asterisk
> without inventing a new syntax that does not conflict with the syntax of
> fvwm commands and functions. I see no problem in the asterisks syntax, it
> seems to be more optimal than other possible syntaxes for module configs.
>
> > By the way, anyone knows why is the asterisk there for?
>
> Here I suppose you ask about the asterisk sent in M_CONFIG_INFO packets.
> I suggest you to learn the fvwm-to-module protocol more in depth.
>
> You may run FvwmGtkDebug or FvwmDebug to see what is sent by fvwm to a
> module on its Send_ConfigInfo request. You may discover that the asterisk
> is needed to distinguish from other M_CONFIG_INFO packets that carry a
> non module configuration. BTW, perllib solves this by having two tracker
> types, GlobalConfig and ModuleConfig, so a module in perl has a nice API.

Yes, but as I found in the source code, modules distinguish them by
looking for the "*FvwmMyname" string instead of just the asterisk. I
don't know about perl, but c modules usually do that. In this case it
would be as easy to look for just for "FvwmMyname", without needing
either the asterisked string or calling CatString3.

> Redesigning the module protocol may be fine in the future, but this would
> mean much larger changes than you think. A good suggestion may be, for
> example, to add a new module packet MX_MODULE_CONFIG carrying the
> configuration line without the leading "*FvwmModule: ", and not just
> omitting an asterisk, as you suggest.
>
> Please do not break any compatibility right now. Let's not forget, we are
> in the freeze before 2.6.0.

I guess you're right. Breaking compatibility now would be a waste of
time, since it's going to be redesigned again for 2.6..

So we're back to the issue of using CatString3 or not..

Reply via email to