<html> <head> <title>The Official FVWM Homepage - Important Changes Since Fvwm-1.xx</title> </head> <body BACKGROUND="black-stone1.jpg" bgcolor="#000000" text="#ffffff" link="#FFFF88" vlink="#EEDDDD" alink="#ff0000"> <center> <h1><font color="pink">The Official FVWM Homepage - Important Changes Since Fvwm-1.xx</font></h1> </center> <P> The module interface remained fairly stable when going from Fvwm-1.xx to Fvwm-2.xx. The change most likely to affect modules is the addition of an extra value to the header. This value is a timestamp. Most modules contained the line: <FONT COLOR="YELLOW"><PRE> unsigned long header[3]; </FONT></PRE> This must be changed to: <FONT COLOR="YELLOW"><PRE> unsigned long header[HEADER_SIZE]; </FONT></PRE> The rest of the changes are handled in the library function ReadFvwmPacket. <P> Another notable change is that modules do not have to read the .fvwmrc file themselves. They can request the appropriate lines from fvwm: <!-- dje, from FvwmAnimate.c --> <FONT COLOR="YELLOW"><PRE> static void ParseOptions() { char *buf; while (GetConfigLine(Channel,&buf), buf != NULL) { ParseConfigLine(buf); } /* end config lines */ } /* end function */ </FONT></PRE> This is the preferred method of getting module-specific configuration lines. <P> Starting in fvwm-2.0 pl 1, fvwm2 passes command line arguments to the modules, so if the user said ``FvwmPager 2 4'', the module will see argv[6] = 2 and argv[7] = 4, instead of argv[6] = ``2 4''. <P> Some new packet types are defined, and a few values were added to some packet types. <P> <hr> </body> </html>