The Laxkit

  Main
  News
  Faq
  Documentation
    Downloading
    Compiling
    Hello World
    Todo
    Contact
  Download
  Links
  Contact
  

Documentation

Click here for the current Doxygen documentation

Here is the current rough developer's Roadmap.
Here is the Laxkit Sourceforge project page.

Downloading

You can download the current allegedly Stable Release (0.0.5) here.

Otherwise, you can grab the current development version from the svn repository:

svn co https://laxkit.svn.sourceforge.net/svnroot/laxkit/laxkit/trunk laxkit
Or you can browse the repository here. The Laxkit is licensed under the LGPL.

That I know of, there are currently exactly 2 downloadable programs using the Laxkit. One is a (very rough and aging) polyhedron calendar maker, which you can get here. The other is desktop publishing software called Laidout, which has been the driving force behind my making the Laxkit.


Compiling the Library

The Laxkit depends on:

- libxpm
- libpng
- X11
- cups
- Imlib2
- fontconfig
Soon, it will likely also depend on:
- lcms
- freetype
All of these are pretty standard for all major linux distributions. When you're sure you have those things installed, just type:

./configure
make
make install


By default, this will cause liblaxkit.a, liblaxatts.a, and liblaxinterfaces.a to be put in /usr/local/lib, and the header files will be put in /usr/local/include/lax-(whatever.version).

If you type ./configure --prefix=/your/own/install/path, then the laxkit will get installed in prefix/include, prefix/share/doc, prefix/lib, etc. What files were installed are put into the file install.log.

  • liblaxkit is the main core of the kit, consisting of buttons, text edits, and the like.
  • liblaxinterfaces is for lots of user interfaces to various artsy sorts of objects, like curvy lines and bezier color patch gradients.
  • liblaxatts contains only the part of liblaxkit in the LaxFiles namespace. LaxFiles has the functions and classes useful to parse indented data files.

  • This library currently is being developed on a Debian "unstable" Linux machine, but it has few dependencies at the moment, and should be relatively easy to get to compile on most Unix like systems. It works on my machine as they say. I am not aware of any one else in the universe using the Laxkit, so it will likely have lots of bugs that I've inadvertently learned to not activate. I only have a Linux machine and very little experience with other platforms, and I would very much like to hear of success/failure/accusations/insults/patches from attempts to compile on other platforms.


    Laxkit Hello World
    Here is a very simple Laxkit program.
    #include <lax/mesbar.h>
    using namespace Laxkit;
    
    int main(int argc,char **argv)
    {
       anXApp app;
       app.init(argc,argv);
       app.addwindow(new MessageBar(NULL,"mesbar",MB_MOVE, 5,5,100,100,0, "Blah!"));
       app.run();
       return 0;
    }
    


    You would compile it something like this:
    g++ laxhello.cc -I/usr/include/freetype2 -L/usr/X11R6/lib -lX11 -lXft -lm -lXpm -lpng \
         -lcups -llaxkit -o laxhello


    It produces the following window:
    Laxhello output

    ~~ TODO ~~

    Coding. I've already programmed something more or less working for about 85% of my planned widgets and interfaces. This existing code needs lots of cleanup. The most important goal is support for left-right, right-left and mixed fonts, and a good font dialog, which I should have done at about the 10% mark.

    Features planned but either not started or not functional include:

  • an html-ish table container
  • a font dialog
  • configurable shortcut integration
  • support for MPX style events

  • The doxygen documentation has a more extensive list of coding todo.



    Contacting

    If you have complaints and/or contributions as to how to streamline my dilettante code, please let me know. I'm sure there are a lot of little programming tricks and Xlib+window manager pitfalls I haven't a clue about. "Chuck all this, and switch to Fltk or Gtkmm" is probably very good advice to me, but I don't want to hear it (but try again in one more year). Please help develop! I'd rather be drawing cartoons.

    Here is the person to complain to: Tom Lechner





    SourceForge.net Logo Support This Project      Last $Date: 2007-10-29 21:50:39 -0700 (Mon, 29 Oct 2007) $