12 May 2013
LGM, and sharing tools
This year's Libre Graphics Meeting in Madrid at Medialab Prado has
come and gone. The LGM always opens up new doors, showing the wide variety of what people are working on,
with some great ideas for what kind of tools and working methods
are possible. I gave two short talks. One about Laidout, and another about the concept of sharing tool interfaces
across different applications. In making tools in Laidout, I find I want to use them in other programs, and some
things in other programs I want to use in Laidout, such as Inkscape's in-development on canvas tiling tool.
This should be easy to do, but there is much work to be done!
Read more about this here.
I am hoping to have a new release of Laidout by July 14. One year between releases is way too long!
One new feature being debugged is scripting, which will allow scripting tools among other things, such
as a graphical shell, available right on canvas. Another feature coming soon is alignment anchoring, so that child
objects can orient themselves to parent objects
15 July 2012
Laidout 0.093 Released! Yippee!
Laidout Version 0.093 is at last
available, as source or an
amd64 precompiled deb package, for you to experiment with. As always, Laidout is very much a work in progress.
I tend to work on Laidout to suit my immediate needs, so probably there are loads of bugs I
fail to activate. I try to fix any bugs people tell me about, so when you find some, you can let me know via the mailing list,
or perhaps the bug tracker.
What's not new is that there is still no native text tool. I swear I'm working on it. What IS new in this release:
I have also been working on a polyhedron unwrapper to be used with
net impositions, but integration with Laidout is still not working. In the meantime, you could try the standalone unwrapper,
found in src/polyptych in downloaded source.
- A new alignment tool, allowing you to align objects to edges, on lay them out along paths, with various forms of rotation.
From the object tool, select some objects and press 'a' to start, using this tool.
See here for a video tutorial
- A new n-up tool, which is used for laying out objects into rows and columns. From the object tool, select some objects, and press 'n' to start
using this tool. Currently, you may only lay out in
grids where each cell is the same size, or grids where row heights and columns widths may vary. Also you may randomize
within the bounds of a rectangle. Future versions will let you flow objects into areas also.
- The path tool has gotten some much needed attention. It hopefully crashes less, and is actually usable now. Improving that
also debugged svg import so that paths import with an actual resemblance to the original svg!
- The object tool now has little on canvas flip controls. Click on them to easily flip vertically or horizontally, or drag out
one of them to define a flip line.
- You may now define your own keyboard shortcuts. If you run "laidout -S", it will output a dump of all currently bound
shortcuts in text format, or "laidout -H" for an html dump. A downside currently is there is no editor in the program.
You have to manually edit that dump, then put a line in
your ~/.config/laidout/(version)/laidoutrc to say where the new shortcuts are. I'm working on an editor.
Otherwise, here are some new tutorials, for things new in 0.093:
Read old news
What the hell?
Laidout is desktop publishing software, particularly for multipage, cut and folded booklets,
with page sizes that don't even have to be rectangular. It currently only runs on Linux.
See the Laidout Features page for what it can do now, the Roadmap
for what it's supposed to do eventually, and this
(incomplete) comparison to a few other desktop publishing and vector graphics programs.
It is in the "Mostly does what I want on my machine" stage of development. I try to have a new "stable" release once
in awhile, at least when various other projects
don't eat all my time, which seems to happen a lot lately.
"Stable" in this context means that it is only slightly less buggy then the raw development branch.
Usually, I only work on it when I have to get a new book done.
I have been using Laidout to lay out my comics into books since 2006.
So, one out of 7 billion people agree that Laidout might actually be useful!
An example of what I use Laidout for is to make small booklets by chopping up
tabloid sized paper. With a fold, two cuts, and stapling, one can make three cute
little 5.5inch x 5.6inch books. Laidout allows editing in the master printing page order, or, just as easily in reader spreads,
as it would appear after the book is assembled. Also, Laidout's approach to imposing pages is broad enough
to allow non-rectangular
pages, paving the way for easy creation of, for instance, dodecahedron calendars, or indeed any layout on arbitrary
polyhedral surfaces (sometimes otherwise known as packaging).
Many more features are planned, like such non-essentials (to me anyway) as text! Who needs text
when a picture is worth a thousand words?
Laidout is currently built with the Laxkit, an X gui toolkit.
Laidout and the Laxkit are both rough and highly experimental. The main development
aim is to make a well documented, very modular, expandable, and configurable desktop publishing program,
with an emphasis on developing features and interfaces not commonly found in other programs, as long as they are useful.
Laidout only works on variations of Linux for now. It should work on Macs after a small amount of hacking,
but I don't have access to a Mac to make it so.
The current release is Version 0.093.
Really these are more like development snapshots than anything resembling stability. You can help
turn Laidout into something like stable by posting feedback on your experiences with it to the
Laidout mailing list, or dropping me a line.
In any case, you can get Laidout in source code form, or as a deb package for amd 64bit systems. The main download area is
laidout-0.093.tar.bz2 (the source code)
laidout_0.093_amd64.deb (binary, should work on Debian Unstable, and recent Ubuntu)
Compiling the source
If you download the source code form, you must compile and install from the command line. First, as root or with "sudo", install dependencies:
apt-get install g++ libpng12-dev libx11-dev libxi-dev libxft-dev libcups2-dev libimlib2-dev libfontconfig-dev libfreetype6-dev libssl-dev xutils-dev
If you want to use the unstable polyhedron unwrapper, then you need to also do this:
apt-get install libgraphicsmagick++1-dev mesa-common-dev libglu1-mesa-dev libftgl-dev
tar xvfj laidout-0.093.tar.bz2
If you want to attempt to use the unstable polyhedron unwrapper, then you need add --yesgl to the configure line above,
or try the standalone version in laidout-0.093/src/polyptych.
Alternately, you can build a deb package from the source tar like the following. You'll need to have dpkg-dev and fakeroot packages installed.
This will create an installable deb package! If you try this and it doesn't work, please let me know. It is supposed to work!!
tar xvfj laidout-0.093.tar.bz2
For the development version, you can browse the subversion repository
or you can grab a copy from the repository with this command:
svn checkout svn://svn.code.sf.net/p/laidout/code/trunk laidout-svn
To compile from svn source, see the further instructions in the README.
If you think you might like to help develop Laidout, please see this page.
Also, go to the
Laidout Sourceforge project page for
mailing lists, project statistics, and other Sourceforge goodies.
There is a general purpose mailing list here.
Currently, the only developer is Tom Lechner,
and he has been hacking away at Laidout to help make his artwork.