Fvwm3MFL(1)
the Fvwm3 front-loader module
Description
FVWMMFL
NAME
FvwmMFL - the Fvwm3 front-loader module
SYNOPSIS
FvwmMFL can only be invoked by Fvwm3. Command line invocation of the FvwmMFL will not work.
This module has no command-line options.
DESCRIPTION
The FvwmMFL module provides access to Fvwm events over a unix-domain socket. This module is intended to provide externally-written programs (clients) the ability to receive information from Fvwm and to perform an action on that event.
The information from Fvwm3 is in the form of JSON packets. Each JSON packet has different fields, depending on the type requested.
COMMUNICATION
The default unix-domain socket for FvwmMFL is $TMPDIR/fvwm_mfl.sock, although this can be overridden via an environment variable FVWMMFL_SOCKET.
REGISTERING INTEREST
Commands can be sent to FvwmMFL to control which information is sent the client. The set command is used for this. The table below shows which events can be subscribed to.

For example, to register an interest in new_window and focus_change, the following commands would be set via the socket:
set new_window
set focus_change
To remove interest in an event, use the unset command:
unset focus_change
JSON FORMAT
Each packet sent to a client is in plain JSON. The information contained in each packet varies depending on the event.
TODO: document each JSON structure.
EXAMPLE
The following example shows how to monitor for focus_change events at the shell, printing the JSON returned:
echo set focus_change | nc -U /tmp/fvwm_mfl.sock 2>&1 | jq --unbuffered
Outputs:
{
"focus_change": { "window":
"0x5400022", "type": 0,
"hilight": {
"text_colour": 16777215, "bg_colour":
32767 } } }
AUTHORS
This module first appeared in 2020.