|
|
Laidout DevelopmentHere is some general information about the development of Laidout. As with any project, testers and coders are certainly encouraged to test and code! Some general links which might be relevant:
The Mailing List Bugs and Feature Requests
If there is something that you think is a bug, irritation, or missing feature, search the mailing list, bug tracker and the help page for any mention of it first. If you can't find it, and you still think it is an issue demanding attention, please post it to the mailing list, and perhaps the bug tracker. I'm still learning how to use the bug tracker, so please be patient if your bug posting experience isn't gratifying. Development Source Code
Laidout has so far been coded entirely by one person, Tom Lechner, and the French translation is from Nabyl Bennouri. It would be pleasant if more people were involved! Laidout is built on the Laxkit, whose sole purpose for existence at the moment is to be the windowing backbone of Laidout. Anything said about Laidout applies just as much to the Laxkit. There is copius doxygen style source code documentation for you to whet your appetite, which is easily accessible by running "make docs", which basically just tells doxygen to do its thing. Running "make alldocs" will build all the documentation for Laidout and for the Laxkit, as long as you have a link in the top Laidout directory pointing to whereever you have the Laxkit source files. For release tarballs, the Laxkit is there already. You can download the cutting edge, latest and (ideally) greatest version of Laidout from the subversion repository with this command:
svn co http://laidout.svn.sourceforge.net/svnroot/laidout/trunk laidout
Translations
Laidout in many ways is still very primitive and constantly changing, but any translations done for either messages in Laidout itself, or of the Laidout web pages are greatly appreciated. Currently, Laidout can be translated to languages that can be expressed in Latin-1 fonts. Work is continuing to make Laidout work completely with Utf8 encodings, opening up the field to any language. Translating Laidout to new languages is mainly a matter of translators translating a few hundred little words and phrases. Download the current development source code as above, and look in the src/po directory. The files named something.po are the current translations. There is a README file in that directory explaining how you should go about translating to new languages. Basically, you copy laidout.pot to your_language.po, and edit that file so it has the translated strings. You can do this by hand, or you might use a program like kbabel.
Current Translations The Laidout File Format
Documentation for the Laidout file format is gotten easily through running:
laidout --file-format
This will dump out a pseudo-Laidout file with copious comments about each of the possible Laidout file elements, arranged in the order they appear in real Laidout files. The format itself is an indented data file format, sort of in the same spirit of yaml, but is slightly more ad-hoc, making it even easier to read and figure out, in this developer's opinion. Laidout's indented format is simply a collection of nested name-value pairs, where both are scanned in as strings, at which point it is up to the application to decipher the strings into integers, points, and whatnot. Please click here for the current file format description. However, PLEASE NOTE that that file makes a big todo about "Project" files, but currently, project files can only be loaded, not saved. "Document" files, however, are fully supported, and are more general purpose laidout containers. Saving as a project, and working in a project environment will be implemented by version 0.09. I swear. |