One weekend, I got bored and decided to work on xbill for a while. I started by converting all the code from C++ into C, as well as cleaning up a lot of really bad code and changing the build system from imake to autoconf. This was all well and good, but completely non user-visible.

The next step was the UI. The existing code was very dependent on X, and the X specific code was far too closely tied to what should have been the generic user interface code. So, I created a new UI layer, and refactored the Athena and Motif interfaces into separate modules, which both used common X routines in a few places. This also had the nice advantage that a binary could be built with both UIs, and the --gui option would select one. Again, this is pretty cool (in my opinion), but isn't especially user-visible.

With the new UI framework, adding new interfaces isn't too hard. Conveniently enough, I had a chance to play with GTK for a few hours at work, and that was enough to convince me to write a GTK UI module. It's now the default, since it looks much better than either of the others.

About 5 minutes of autoconf stuff got autodetection of Xaw3d, which makes the Athena interface look a bit less ugly.

The --size option now allows a larger playing field.


Brian Wellington (,

XBill - dnsjava - ~bwelling