.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "App::Asciio 3pm" .TH App::Asciio 3pm "2010-04-25" "perl v5.10.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" App::Asciio \- Plain ASCII diagram .PP .Vb 12 \& | | | | \& | | | | | | \& | | | | | | \& v | v | v | \& v v v \& _\|_\|_\|_\|_ _\|_\|_\|_\|_ \& /\e _ \e /\e _\|_ \e \& \e \e \e_\e \e _\|_\|_ _\|_\|_ _ _\e \e \e \e \e \& \-\-\-\-\-> \e \e _\|_ \e / _\|_\e / _\|_\|_\e/\e \e/\e \e \e \e \e \e \-\-\-\-\-> \& \e \e \e \e \e/\e_\|_, \e/\e \e_\|_\|_\*(Aq \e \e \e \e \e \e_\e \e \& \e \e_\e \e_\e/\e_\|_\|_\|_/\e \e_\|_\|_\|_/\e \e_\e \e_\e \e_\|_\|_\|_\|_\e \& \e/_/\e/_/\e/_\|_\|_/ \e/_\|_\|_/ \e/_/\e/_/\e/_\|_\|_\|_\|_/ \& \& | | | | \& | | | | | | | \& v | | | v | | \& | v | | | \& v | | v \& v v \& (\e_/) \& (O.o) ASCII world domination is near! \& (> <) .Ve .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& $> perl asciio.pl .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This gtk2\-perl application allows you to draw \s-1ASCII\s0 diagrams in a modern (but simple) graphical application. The \s-1ASCII\s0 graphs can be saved as \s-1ASCII\s0 or in a format that allows you to modify them later. .PP Thanks to all the Perl-QA hackathon 2008 in Oslo for pushing me to do an early release. .PP Special thanks go to the Muppet and the gtk-perl group, Ga\*'bor Szabo\*' for his help and advices. .PP Adam Kennedy coined the cool name. .PP Sometimes a diagram is worth a lot of text in a source code file. It has always been painfull to do \&\s-1ASCII\s0 diagrams by hand. .SH "DOCUMENTATION" .IX Header "DOCUMENTATION" .SS "Asciio user interface" .IX Subsection "Asciio user interface" .Vb 10 \& .\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-. \& | Asciio | \& |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-| \& | ............................................................... | \& | ..............\-\-\-\-\-\-\-\-\-\-\-\-\-..\-\-\-\-\-\-\-\-\-\-\-\-..\-\-\-\-\-\-\-\-\-\-\-\-\-\-...... | \& | .............| stencils > || asciio > || box |..... | \& | .............| Rulers > || computer > || text |..... | \& | .............| File > || people > || wirl_arrow |..... | \& grid\-\-\-\-\-\-\-\-\-\->.......\*(Aq\-\-\-\-\-\-\-\-\-\-\-\-\-\*(Aq| divers > || axis |..... | \& | ............................\*(Aq\-\-\-\-\-\-\-\-\-\-\-\-\*(Aq| boxes > |..... | \& | ......................^...................| rulers > |..... | \& | ......................|...................\*(Aq\-\-\-\-\-\-\-\-\-\-\-\-\-\-\*(Aq..... | \& | ......................|........................................ | \& | ......................|........................................ | \& | ......................|........................................ | \& | ......................|........................................ | \& \*(Aq\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\*(Aq \& | \& | \& context menu .Ve .SS "context menu" .IX Subsection "context menu" The context menu allows to access to \fBasciio\fR commands. \fB\s-1ASCII\s0\fR is used to insert \s-1ASCII\s0 elements. .SS "keyboard shortcuts" .IX Subsection "keyboard shortcuts" All the keyboad commands definitions can be found under \fIasciio/setup/actions/\fR. Among the commands implemented are: .IP "\(bu" 2 select all .IP "\(bu" 2 delete .IP "\(bu" 2 undo .IP "\(bu" 2 group/ungroup .IP "\(bu" 2 open / save .IP "\(bu" 2 local clipboard operations .PP A window displaying the currently available commands is displayed if you press \fBK\fR. .SS "elements" .IX Subsection "elements" There but a few elements implemented at the moment. .PP \fIwirl arrow\fR .IX Subsection "wirl arrow" .PP An arrow that tries to do what you want. Try rotating the end clockwise then counter clockwise to see how it acts .PP .Vb 10 \& ^ \& | \& | \-\-\-\-\-\-\-\-. \& | | \& \*(Aq\-\-\-\-\-\-\- | \& | \& O\-\-\-\-\-\-\-\-\-\-\-\-\-X / | \& / | \& / | \& / v \& / \& / \& v .Ve .PP \fIbox and text\fR .IX Subsection "box and text" .PP Both are implemented within the same code. Try double clicking on a box to see what you can do with it. .PP .Vb 10 \& .\-\-\-\-\-\-\-\-\-\-. \& | title | \& .\-\-\-\-\-\-\-\-\-\-. |\-\-\-\-\-\-\-\-\-\-| ************ \& | | | body 1 | * * \& \*(Aq\-\-\-\-\-\-\-\-\-\-\*(Aq | body 2 | ************ \& \*(Aq\-\-\-\-\-\-\-\-\-\-\*(Aq \& anything in a box \& (\e_/) | \& edit_me (O.o) <\-\-\-\-\-\-\-\-\-\-\-\-\*(Aq \& (> <) .Ve .PP \fIyour own stencils\fR .IX Subsection "your own stencils" .PP Take a look at \fIsetup/stencils/computer\fR for a stencil example. Stencils lites in \fIsetup/setup.ini\fR will be loaded when \fBAsciio\fR starts. .PP \fIyour own element type\fR .IX Subsection "your own element type" .PP For simple elemnts, put your design in a box. that should cover 90% of anyone's needs. You can look in \&\fIlib/stripes\fR for element implementation examples. .SS "exporting to \s-1ASCII\s0" .IX Subsection "exporting to ASCII" You can export to a file in \s-1ASCII\s0 format but using the \fB.txt\fR extension. .PP Exporting to the clipboard is done with \fBctl + e\fR. .SH "EXAMPLES" .IX Header "EXAMPLES" .Vb 9 \& User code ^ ^ OS code \& \e / \& \e / \& \e / \& User code <\-\-\-\-Mode\-\-\-\-\->OS code \& / \e \& / \e \& / \e \& User code v v OS code \& \& \& \& \& .\-\-\-. .\-\-\-. .\-\-\-. .\-\-\-. .\-\-\-. .\-\-\-. \& OS API \*(Aq\-\-\-\*(Aq \*(Aq\-\-\-\*(Aq \*(Aq\-\-\-\*(Aq \*(Aq\-\-\-\*(Aq \*(Aq\-\-\-\*(Aq \*(Aq\-\-\-\*(Aq \& | | | | | | \& v v | v | v \& .\-\-\-\-\-\-\-\-\-\-\-\-. | .\-\-\-\-\-\-\-\-\-\-\-. | .\-\-\-\-\-. \& | Filesystem | | | Scheduler | | | MMU | \& \*(Aq\-\-\-\-\-\-\-\-\-\-\-\-\*(Aq | \*(Aq\-\-\-\-\-\-\-\-\-\-\-\*(Aq | \*(Aq\-\-\-\-\-\*(Aq \& | | | | \& v | | v \& .\-\-\-\-. | | .\-\-\-\-\-\-\-\-\-. \& | IO |<\-\-\-\-\*(Aq | | Network | \& \*(Aq\-\-\-\-\*(Aq | \*(Aq\-\-\-\-\-\-\-\-\-\*(Aq \& | | | \& v v v \& .\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-. \& | HAL | \& \*(Aq\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\*(Aq \& \& \& \& \& .\-\-\-\-\-\-\-\-\-. .\-\-\-\-\-\-\-\-\-. \& | State 1 | | State 2 | \& \*(Aq\-\-\-\-\-\-\-\-\-\*(Aq \*(Aq\-\-\-\-\-\-\-\-\-\*(Aq \& ^ \e ^ \e \& / \e / \e \& / \e / \e \& / \e / \e \& / \e / \e \& / v v \& ****** ****** ****** \& * T1 * * T2 * * T3 * \& ****** ****** ****** \& ^ ^ / \& \e \e / \& \e \e / \& \e \e / stimuli \& \e \e / \& \e \e v \& \e .\-\-\-\-\-\-\-\-\-. \& \*(Aq\-\-\-\-\-\-\-\-| State 3 | \& \*(Aq\-\-\-\-\-\-\-\-\-\*(Aq .Ve .SH "DEPENDENCIES" .IX Header "DEPENDENCIES" gnome libraries, gtk, gtk-perl, perl .SH "BUGS AND LIMITATIONS" .IX Header "BUGS AND LIMITATIONS" Undoubtedly many as I wrote this as a fun little project where I used no design nor 'methodic' whatsoever. .SH "AUTHOR" .IX Header "AUTHOR" .Vb 3 \& Khemir Nadim ibn Hamouda \& CPAN ID: NKH \& mailto:nadim@khemir.net .Ve .SH "LICENSE AND COPYRIGHT" .IX Header "LICENSE AND COPYRIGHT" This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. .SH "SUPPORTED OSes" .IX Header "SUPPORTED OSes" .SS "Gentoo" .IX Subsection "Gentoo" I run gentoo, packages to install gtk-perl exist. Install Ascii with cpan. .SS "FreeBSD" .IX Subsection "FreeBSD" FreeBSD users can now install asciio either by package: .PP $ pkg_add \-r asciio .PP or from source (out of the ports system) by: .PP $ cd /usr/ports/graphics/asciio $ make install clean .PP Thanks to Emanuel Haupt. .SS "Ubuntu and Debian" .IX Subsection "Ubuntu and Debian" Ports are on the way. .SS "Windows" .IX Subsection "Windows" AsciiO is part of \fBcamelbox\fR and can be found here: . Install, run AsciiO from the 'bin' directory. .PP .Vb 10 \& .\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-. \& / /| \& / camelbox for win32 / | \& / / | \& / / | \& .\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-. | \& | _\|_\|_\|_\|_\|_\e\e_, | | \& | (_. _ o_ _/ | | \& | \*(Aq\-\*(Aq \e_. / | | \& | / / | | \& | / / .\-\-. .\-\-. | | \& | ( ( / \*(Aq\*(Aq \e/ \*(Aq\*(Aq \e " | | \& | \e \e_.\*(Aq \e ) | | \& | || _ \*(Aq./ | | \& | |\e \e _\|_\|_.\*(Aq\e / | | \& | \*(Aq\-./ .\*(Aq \e |/ | | \& | \e| / )|\e | | \& | |/ // \e\e | . \& | |\e _\|_// \e\e_\|_ | / \& | //\e\e /_\|_/ mrf\e_\|_| | / \& | .\-\-_/ \e_\-\-. | / \& | /_\|_/ \e_\|_\e |/ \& \*(Aq\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\*(Aq .Ve .PP \&\fBcamelbox\fR is a great distribution for windows. I hope it will merge with X\-berry series of Perl distributions. .SH "Mac OsX" .IX Header "Mac OsX" This works too (and I have screenshots to prove it :). I don't own a mac and the mac user hasn't send me how to do it yet. .SH "other unices" .IX Header "other unices" \&\s-1YMMV\s0, install gtk-perl and AsciiO from cpan. .SH "SEE ALSO" .IX Header "SEE ALSO" .Vb 6 \& http://www.jave.de \& http://search.cpan.org/~osfameron/Text\-JavE\-0.0.2/JavE.pm \& http://ditaa.sourceforge.net/ \& http://www.codeproject.com/KB/macros/codeplotter.aspx \& http://search.cpan.org/~jpierce/Text\-FIGlet\-1.06/FIGlet.pm \& http://www.fossildraw.com/?gclid=CLanxZXxoJECFRYYEAodnBS8Dg (doesn\*(Aqt always respond) \& \& http://www.ascii\-art.de (used some entries as base for the network stencil) \& http://c2.com/cgi/wiki?UmlAsciiArt \& http://www.textfiles.com/art/ \& http://www2.b3ta.com/_bunny/texbunny.gif \& \& \& *\eo_ _o/* \& / * * \e \& <\e *\eo/* /> \& ) \& o/* / > *\eo \& <\e /> \& _\|_o */\e /\e* o_\|_ \& * /> <\e * \& /\e* _\|_o_ _o_\|_ */\e \& * / * * \e * \& <\e /> \& *\eo/* \& ejm97 _\|_)_\|_ .Ve