The GUI front-end sent few message to Linuxconf when the user do some action. There are two types of messages: Action and Dump.
When the user hit a button or select a menu item, the front-end send and action message to Linuxconf. This message looks like this:
action form-ID ID button_state mouse-X mouse-y
The button state is an integer encoding the mouse button and keyboard state. The following values are or'ed together.
mouse-x and mouse-y represent the position of the mouse in the form.
When a user hits the close button or menu entry of the window manager (The X on the top-right of the window generally), the front-end must send a special action. It must send the special ID "X" like this:
action form-ID X
When a button with the dumpflag enabled is hit, it triggers a dump
of all fields of its parent top level form (MainForm). The dump is
done before the
action is sent. The dump must walk recursively
sub-forms composing the
The form-path of each field is created by concatenating the ID of the various parent form, creating some form of path. A dot is used as the separator. This is assembled from left to right, where the ID of the top level MainForm is on the left.
The value for most field is sent in ASCII format. Some processing is done for few field types.
The state of few widget is not relevant. As such, no dump is done for those. Here is the list of widget ignored this way.
The value is encoded as 1 is the check-box is selected and 0 if not.
The instance value of the selected radio buttons is sent. Unselected radio buttons are not dumped.
A textarea widget may hold a very long text. When dumping the value we simply send one "dump" line per text line.