Notes about documentation, checking in: o the first line of a doc string should be a brief synopsis sentence. This is in keeping with Emacs tradition, and the synopses are used in overviews and treated slightly specially in places. o be sure to mention all formal argument names in the doc string; in particular, running "rm -f scwm.sgml; make scwm.sgml" from doc/ will verify that this has been done (tries to ensure reasonably complete documentation -- minimally users need to know what each formal is supposed to contain... those descriptions usually come after the synopsis line). o when you do check in, be sure to add a change log entry. Emacs has add-change-log-entry which works great if you use it from the file and function in which you made the change. If you're not using pcl-cvs mode to do your CVS updates, consider it -- it works pretty well, and is a lot nicer than the command line or even the vc-mode keybindings. Other files to read: * naming-conventions * smobs * dynamic-modules * common-primitive-mistakes * guile-gc-notes * hungarian-tags --09/16/98 gjb o when creating a new global (only if absolutely necessary, of course), use the EXTERN mechanism; declare it only in the appropriate .h file, with either EXTERN or EXTERN_SET; this will initialize it in the corresponding .c file only. If the .c/.h pair doesn't currently have any globals, #define filename_IMPLEMENTATION at the top of the .c file and copy and modify the #undef EXTERN... block from another .h file. o Explore the X tools you may not have used before; xev can show events going to a window, xprop can watch property changes, xwindowinfo will show all sorts of useful information. o Xnest isn't perfect, but is usually a better alternative than trying to debug the WM running your development environment. Another alternative is to run a second X server; on Linux for example, "X :1" will start a second server, running on the next available VC. "scwm -d :1" will then start scwm running on it. --09/23/98 jtl