Copyright © 2004-2005 Bruno Takahashi C. de Oliveira
Licensed under the GNU General Public License
Summary:: Aewan is a multi-layered ascii-art/animation editor that produces both stand-alone cat-able art files and an easy-to-parse format for integration in your terminal applications. It is primarily designed for Linux, although it currently also compiles under FreeBSD and possibly other *NIX systems.
More details: Aewan is a curses-based program that allows for the creation and editing of ascii art. The user is able to move the cursor around the screen by means of the arrow keys and 'paint' characters by pressing the corresponding keys. There are dialog boxes that allow the user to choose foreground and background colors, as well as bold and blink attributes. The user may also select rectangular areas of the canvas in order to move, copy and paste them. Aewan also supports 'intelligent' horizontal and vertical flipping (e.g. converts '\' to '/', etc).
What sets Aewan apart from similar projects is the fact that it can work with multiple layers, and has the ability to turn transparency and visibility on and off for each layer. A layer dialog is provided through which the user can change the order of the layers. Thus, each layer can be edited independently in order to generate a composite drawing. Instead of using the layers for compositing, it is also possible to use the layers as frames for an animation, thus enabling the user to create ascii animations with Aewan.
Aewan can export animations to a "less movie", that is, a regular file that will show the animation when when paged through in the 'less' pager or similar program (even Notepad will work if you don't need color). It can also export a shellscript which will play the animation on the terminal when executed.
The file format is easy to parse, so it is easy to write a terminal-based application that uses the Aewan files to display onscreen. Currently it has been tested on the Linux terminal, rxvt, xterm, the Cygwin terminal and the FreeBSD console.
The onscreen display is quite spartan, seeking to conserve as much onscreen real state as possible (since I'd like to run well on a standard 80x25 terminal). Most commands are given through keystrokes (the F1 key shows a table of keys so you don't have to memorize them). Here is a screenshot. You can see additional screenshots in the Screenshots section.
Screenshot of Aewan with a canvas open for editing