Thomas Adam <[email protected]> writes: > FVWM was written before any formal message parsing libraries existed. > Currently, the communication protocol that FVWM uses is a packed structure > which is shoved down a pipe, which the receiving end has registered interest > in by locking on to various > messages which are sent. > > Other libraries exist to abstract away this message construction, such as > msgpack which allows for other binary data to be considered (rather than > packing unsigned longs down a pipe, which is how FVWM does this currently). > > Another benefit is that other languages have native msgpack bindings, which > would allow for agnostic FVWM APIs to be created to allow scripting in any > language. This is similar to how neovim does things, for example. > > Hence, it would be interesting to: > > * Replace the current FVWM <-> Module messages with msgpack; > * Expose interfaces for modules to listen on certain events;
I had some fun working on that interface and documenting it. Pretty sure msgpack would be a bit slower than the current hand crafted interface. Might use a bit more memory too. If that interface was fast enough, Fvwm could move stuff out of core into modules, like menus and window frames. PS: I'm replying with GNUS. I got a Cc: line like this: fvwmorg/fvwm3 <fvwm3@nfvwmorg/fvwm3 <reply+aej52lu3o4de4ne5pojrpmv4l3mzpevbnhhcd4c...@reply.github.com>, Subscribed <[email protected]> I changed that to [email protected]. Something seems broken. -- Dan Espen
