LibGx is a lightweight, non-intrusive, public-domain C++ widget library for writing X11 applications, most likely for Linux. LibGx is non-intrusive so that it fits neatly into the various *nix programing models. A programmer can either use the simple internal event loop for applications, or use a variety of different techniques to service X11 needs within the application (via select, threading, etc.). LibGx is novel in that although it is built directly on top of Xlib, it does not wrapper Xlib itself. Xlib is used by the programmer for its drawing routines and Xlib structures are used when programing with or extending libGx. LibGx also uses and exposes the X event queue. LibGx does not have (and does not need) its own internal event scheme or type.

LibGx has been in use for several years and is fully usable for real applications.

I started writing libGx probably in the winter of '94.

LibGx Downloads (libCb and LibTmr needed too)

libGx-release-20131119.tgz Public Domain
libGx-release-20090930.tgz Public Domain 55decf404a29fe8fe77e0457e371134c
libGx-release-20090810.tgz Public Domain 201d18df582eb644752149f25e9e63d0
libGx-release-20060724.tgz Public Domain 4dae7be92c069ff625f1c6f190164948

After extracting this, download and extract libCb and libTmr in the libGx directory. You could extract them elsewhere and create libCb/libTmr symbolic links to them.  Configure and compile libCb and libTmr before configuring and compiling libGx.