autistdraw
==========

'autistdraw' is a terminal drawing application with multiplayer support.

image::autistdraw.png[align="center"]

Packages
--------
Regular releases are sporadic.  git master should be stable enough.  You can get
a package with the latest development version from Archlinux's AUR, or from
openSUSE Build Service for the rest of mainstream distributions.  Consult the
list of repositories and their respective links at:

https://build.opensuse.org/project/repositories/home:pjanouch:git

Building
--------
Build dependencies: CMake, pkg-config, liberty (included), termo (included) +
Runtime dependencies: ncursesw, libev

 $ git clone --recursive https://github.com/pjanouch/autistdraw.git
 $ mkdir autistdraw/build
 $ cd autistdraw/build
 $ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug
 $ make

To install the application, you can do either the usual:

 # make install

Or you can try telling CMake to make a package for you.  For Debian it is:

 $ cpack -G DEB
 # dpkg -i autistdraw-*.deb

Note that for versions of CMake before 2.8.9, you need to prefix `cpack` with
`fakeroot` or file ownership will end up wrong.

Usage
-----
For standalone mode you can run the program without arguments:

 $ autistdraw

To run as a server for other clients to connect to and draw simultaneously:

 $ autistdraw -s :1234

To connect to a running server, run:

 $ autistdraw -c localhost:1234

Once you have the program running, simply select a colour you like from the
palette and draw by pressing and dragging the mouse.  Use the middle mouse
button to move the canvas.

You can store the current image to `drawing.bin` and load it back using the
's' and 'l' keys respectively.  To just export the current picture for printing
it on a terminal, press 'e'.  To export for IRC, press 'E'.

Known Issues
------------
VTE-based terminals, such as gnome-terminal, are terminally broken and you will
experience drawing artefacts.  Those are neither a problem of this application,
nor a problem of ncurses as far as I can tell.

To achieve the best results, please use a decent terminal such as rxvt-unicode
or xterm.  These two are feature-full and *fast*.  st also works great.

Even so, try not to strain the application too much.  It can and will break if
you flood the communication channel with the terminal.

Contributing and Support
------------------------
Use this project's GitHub to report any bugs, request features, or submit pull
requests.  If you want to discuss this project, or maybe just hang out with
the developer, feel free to join me at irc://irc.janouch.name, channel #dev.

Bitcoin donations: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9

License
-------
This software is released under the terms of the 0BSD license, the text of which
is included within the package along with the list of authors.
