summaryrefslogtreecommitdiff
path: root/app/fvwm/docs/mod_changes.html
blob: 87b41b9c8636db2111190c1396e178f134144f45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<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,&amp;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>