On Fri, Feb 24, 2012 at 05:56:51PM -0500, Chris Siebenmann wrote:
>  Here are two thoughts on relatively self-contained potential FVWM GSoC
> projects:
> 
> * a module that is the inverse  of FvwmCommand; call it FvwmQuery.
>   Where FvwmCommand allows shell scripts to send commands to FVWM,
>   FvwmQuery would allow them to get information from it.

But FvwmCommand can already do this.

>   The FVWM module interface and the Perl library for it allows you to
>   ask for a lot of useful information from FVWM, but this isn't readily
>   accessible outside of writing an actual module. Since the current

It's not readily available without redesigning and thinking about how to
store the information "thrown away" from commands in a FVWM config file, is
the *actual* problem here.  It has nothing to do with modules being
selective about what it stores from Send_ConfigInfo in terms of what's
available to be displayed -- the simple answer is the useful information is
parsed into a structure where it's not in a human-readable format.

>   module interface is mostly low level, there would be some amount of
>   defining useful high-level things to ask for and maybe documenting
>   the module interface (if this is considered desirable).

The module interface is documented.

>   (Writing such a module and trying it out might lead to also adding
>   more information to the module interface, if an FvwmQuery module
>   alone would be too small for a GSoC project.)

See above.  Please be very careful here again, it has *nothing* to do with
the module interface at all -- we can send whatever we like from FVWM.  It
might mean a few additional packets, but going on Send_ConfigInfo for now, I
wouldn't have thought so.

What would be needed as a prerequisite though is something I planned to do
but haven't yet, and have FVWM listen on a socket for $DISPLAY -- this then
means FvwmConsole, FvwmCommand and this mythical FvwmQuery module disappear
all in to one invocation of the same thing -- anything that can listen on a
socket.

> * A Ruby and/or Python library for the FVWM module interface to go
>   with the existing Perl library[*]. As above, this might also involve
>   documenting the module interface.
> 
>   (The elaborate version of this would autogenerate all of the necessary
>   low level constants and so on for all languages from the C headers, so
>   that adding these additional languages didn't increase the maintenance
>   efforts.)

Why?

We could just turn the module interface into a .so essentially and expose
that to the FFI for other languages -- such as .xs from perl.

That is a valid project, and not that difficult to do.

-- Thomas Adam

-- 
"Deep in my heart I wish I was wrong.  But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)

Reply via email to