The Window Manager Report - Notes: wmx (20080422)

Disclaimer: these notes are guaranteed to be incomplete, and they are probably also wrong. Use them at your own risk.

These notes apply to v6pl1, not the more recent v7. There have been some changes, most notably that I've seen with menuing.

Minimal window manager that I quite like with vertical/sideways shaped window title bars. It's almost identical to wm2 but with virtual desktops. No development work appears to have been done since April 2001 (at which time dual head support was apparently added). I've had trouble compiling it on recent systems.

In an answer to what appears to be a nearly identical compilation problem mentioned on the wmx mailing list, Chris Canaam (the original author) wrote the following:

Re: [wmx] Compile Errors in WMX-6 with gcc 3.2 and intel C++
Chris Cannam - Tue Sep 24 10:19:54 2002

Andrew Fant wrote:
> -fpermissive in CXXFLAGS is a good thing.

Well, it looks like the error is pretty comprehensively described
in the gcc error message you quoted:

Menu.C:625: default argument given for parameter 3 of `
   CommandMenu::CommandMenu(WindowManager*, XEvent*, char* = 0)'
Menu.h:92: after previous specification in `
   CommandMenu::CommandMenu(WindowManager*, XEvent*, char* = 0)'

The line at Menu.C:625 simply shouldn't have the " = 0" in it at
all -- you aren't strictly allowed to give default argument values
when defining (as opposed to declaring) a method, it's just that
compilers rarely complain.  It's the sort of error that generally
arises from over-zealous cut-and-paste.  I guess your gcc (a new
one? 3.x?) and the relatively uncommon Intel compiler are rather
stricter than previous versions of gcc.


I found no " = 0" anywhere near line 624 (the line number given by my make error) but instead I changed:

CommandMenu::CommandMenu(WindowManager *manager, XEvent *e,
                         char* otherdir = NULL )
    : Menu(manager, e)


CommandMenu::CommandMenu(WindowManager *manager, XEvent *e,
                         char* otherdir )
    : Menu(manager, e)

And it compiled fine (although still with lots and lots of warnings). 
by giles