XTC: the X Tool Collection

My name is Eugene O'Neil, and I am the author of the X Tool Collection. I can be reached at eugene@cs.umb.edu

Disclaimer

I am just now modifying this web page for the first time in ages, and it will probably be ages before I do it again. This is not because I have lost interest in XTC, it is because I have spent all my free time writing code instead of documentation.

In short, do not be alarmed if this opening page is horribly out of date by the time you read this. To get a better idea of how progress is going, check out my new changelog page.

Description

XTC is an implementation of the X Window Protocol, written in pure Java. It does not require any native C libraries, such as Xlib: instead, it is intended as a complete replacement for such libraries, written from the ground up to be flexible, object-oriented, and multi-threaded.

My ultimate goal is to accomplish in one library what Motif, Athena, and most other libraries that use Xlib fail to do properly in two: provide a simple, powerful, usable GUI toolkit.

Licensing

this code is in the public domain, meaning you can use it for any purpose without any obligation. It does not have a restrictive license: in fact, it does not technically have a license at all. It can, however, be used in any product that has any license, open or propriatary.

If you make improvements to this code, please consider contributing your improvements back to me, for the betterment of everyone using XTC. Contributions must be released to the public domain to be accepted, and all submissions are assumed to be in the public domain unless otherwise noted. I also welcome advice, feedback, and ideas for new features.

Documentation

To learn more details about XTC, check out my XTC concepts web page. It isn't much, but then I'm not as enthusiastic about documenting my code as I am about writing it.

Actually, the best way to learn more about XTC is to run the example programs in the XTC.tools package, and playing with the source code to see how they tick. Most programs are barely more than a page long, just long enough to demonstrate a particularly useful feature of XTC. I have always preferred to learn by example, and now I find that is also how I prefer to teach.

Getting It!

Here is a link to the current (Alpha quality) source code: download page .

Maja

Maja is a bash shell script that automatically compiles modified .java files, much like make. However, maja is simpler to configure and more efficient: it only invokes javac once on all the files, instead of on each file individually.


Eugene O'Neil