2012-07-19 22:05:33 +02:00
|
|
|
|
\input texinfo @c -*-texinfo-*-
|
|
|
|
|
|
|
|
|
|
@c %**start of header
|
|
|
|
|
@setfilename ponysay.info
|
|
|
|
|
@settitle Ponysay
|
|
|
|
|
@afourpaper
|
|
|
|
|
@documentencoding UTF-8
|
|
|
|
|
@documentlanguage en
|
|
|
|
|
@finalout
|
|
|
|
|
@c %**end of header
|
2012-08-20 21:46:52 +02:00
|
|
|
|
@set VERSION 2.1.1
|
2012-07-19 22:05:33 +02:00
|
|
|
|
|
|
|
|
|
@copying
|
|
|
|
|
This manual is for ponysay
|
|
|
|
|
(version @value{VERSION}),
|
|
|
|
|
|
|
|
|
|
Copyright @copyright{} 2012 Mattias Andrée
|
|
|
|
|
|
|
|
|
|
@quotation
|
|
|
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
|
|
|
under the terms of the GNU Free Documentation License, Version 1.3 or
|
|
|
|
|
any later version published by the Free Software Foundation; with no
|
|
|
|
|
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
|
2012-07-20 01:44:47 +02:00
|
|
|
|
Texts. A copy of the license is included in the section entitled
|
|
|
|
|
``GNU Free Documentation License''.
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@end quotation
|
|
|
|
|
@end copying
|
|
|
|
|
|
|
|
|
|
@ifnottex
|
|
|
|
|
@node Top
|
|
|
|
|
@top Ponysay: ponies for your terminal
|
|
|
|
|
@insertcopying
|
|
|
|
|
@end ifnottex
|
|
|
|
|
|
|
|
|
|
@titlepage
|
|
|
|
|
@title Ponysay
|
|
|
|
|
@subtitle A cowsay wrapper for ponies.
|
|
|
|
|
@subtitle Covers ponysay version @value{VERSION}.
|
2012-07-25 17:14:02 +02:00
|
|
|
|
@c ** start of front page image **
|
|
|
|
|
@c If print make a pdf or hard copy with the front cover
|
|
|
|
|
@c you may or may not want to remove this.
|
|
|
|
|
@image{infoimage,423.5px}
|
|
|
|
|
@c ** end of front page image **
|
2012-07-21 14:37:40 +02:00
|
|
|
|
@author by Mattias Andrée (maandree)
|
2012-07-19 22:05:33 +02:00
|
|
|
|
|
|
|
|
|
@page
|
|
|
|
|
@vskip 0pt plus 1filll
|
|
|
|
|
@insertcopying
|
|
|
|
|
@end titlepage
|
|
|
|
|
|
|
|
|
|
@contents
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@menu
|
|
|
|
|
* Overview:: Brief overview of @command{ponysay}.
|
|
|
|
|
* Invoking ponysay:: How to run @command{ponysay}.
|
2012-07-20 01:44:47 +02:00
|
|
|
|
* Advanced usage:: Advanced usage of @command{ponysay}.
|
2012-07-25 01:08:01 +02:00
|
|
|
|
* Environment variables:: Environment variables.
|
2012-07-19 22:05:33 +02:00
|
|
|
|
* Limitations:: Limitations.
|
|
|
|
|
* Problems and requests:: Reports and requests.
|
2012-07-20 01:44:47 +02:00
|
|
|
|
* Dependencies:: Dependencies.
|
2012-07-20 04:55:29 +02:00
|
|
|
|
* Installing:: Installing.
|
2012-07-20 18:33:04 +02:00
|
|
|
|
* Extensions:: Extensions.
|
2012-07-21 14:36:09 +02:00
|
|
|
|
* Inner workings:: Inner workings.
|
2012-07-20 04:55:29 +02:00
|
|
|
|
* Contributing:: Contributing.
|
2012-07-26 05:18:09 +02:00
|
|
|
|
* Change log:: Differences between the version of @command{ponysay}.
|
2012-08-15 21:25:54 +02:00
|
|
|
|
* Ponysay contributors:: Ponysay contributors.
|
2012-07-20 04:55:29 +02:00
|
|
|
|
* Ponysay license:: Ponysay license.
|
2012-07-19 22:05:33 +02:00
|
|
|
|
* GNU Free Documentation License:: Copying and sharing this manual.
|
|
|
|
|
* Concept index:: Concept index.
|
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@node Overview
|
|
|
|
|
@chapter Overview
|
|
|
|
|
@cindex overview
|
|
|
|
|
|
|
|
|
|
@command{ponysay} displays an image of a My Little Pony pony saying some text provided
|
2012-08-20 15:47:26 +02:00
|
|
|
|
by the user in a terminal, or a quote from the series. It is was wrapper for
|
|
|
|
|
@command{cowsay}, but since version 2.1 it reimplementation @command{cowsay}. If message
|
|
|
|
|
is not provided, e.g. by piping, it accepts standard input. The pony saying the given
|
|
|
|
|
message is printed on standard output.
|
2012-07-19 22:05:33 +02:00
|
|
|
|
|
|
|
|
|
@command{ponythink} is to @command{ponysay} as @command{cowthink} is to @command{cowsay}.
|
|
|
|
|
|
2012-07-28 01:59:39 +02:00
|
|
|
|
@command{ponysay} is generally used to decorate your terminal with a random pony, when
|
2012-08-20 15:47:26 +02:00
|
|
|
|
you start the terminal. But if you known anypony how does like ponies [fat chance] you
|
|
|
|
|
can always make screen-shots of @command{ponysay -q} runs and communication that way over
|
|
|
|
|
e-mail.
|
2012-07-28 01:59:39 +02:00
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@node Invoking ponysay
|
|
|
|
|
@chapter Invoking @command{ponysay}
|
|
|
|
|
@cindex invoking
|
|
|
|
|
@cindex options
|
|
|
|
|
@cindex arguments
|
|
|
|
|
@cindex ponythink
|
|
|
|
|
|
|
|
|
|
The format for running the @command{ponysay} program is:
|
|
|
|
|
|
|
|
|
|
@example
|
2012-07-26 03:34:04 +02:00
|
|
|
|
ponysay [@var{option}@dots{}] [--] [@var{message}]
|
|
|
|
|
ponythink [@var{option}@dots{}] [--] [@var{message}]
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@end example
|
|
|
|
|
|
|
|
|
|
Running @command{ponysay} will print a speech balloon,
|
|
|
|
|
@command{ponythink} will print a thought balloon.
|
|
|
|
|
Otherwise @command{ponysay} and @command{ponythink} is the same thing.
|
|
|
|
|
|
|
|
|
|
@command{ponysay} supports the following options:
|
|
|
|
|
|
|
|
|
|
@table @option
|
|
|
|
|
|
2012-07-26 03:34:04 +02:00
|
|
|
|
@item --
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex @command{--}
|
2012-07-26 03:34:04 +02:00
|
|
|
|
Parse the following arguments as parts of @code{@var{message}}.
|
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@item -h
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@itemx --help
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex @command{-h}
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@cindex @command{--help}
|
2012-07-19 22:05:33 +02:00
|
|
|
|
Show summary of options.
|
|
|
|
|
|
|
|
|
|
@item -v
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@item --verion
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex @command{-v}
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@cindex @command{--version}
|
2012-07-19 22:05:33 +02:00
|
|
|
|
Show version of program.
|
|
|
|
|
|
|
|
|
|
@item -f PONY
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@itemx --pony PONY
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex @command{-f}
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@cindex @command{--pony}
|
2012-07-19 22:05:33 +02:00
|
|
|
|
Specify the pony that should printed, this can either be a file name or
|
|
|
|
|
a pony name printed by @command{ponysay -l}. If it is a file name with
|
|
|
|
|
a relative path and does not include a `@code{/}', it must begin with
|
|
|
|
|
`@code{./}', this is a @command{cowsay} issue. This option can be used
|
|
|
|
|
multiple times to specify a set of ponies from which one will be selected
|
|
|
|
|
randomly. If no pony is specified one will be selected randomly.
|
|
|
|
|
|
2012-08-19 04:55:38 +02:00
|
|
|
|
If you have @command{util-say} installed, you can use .png-files as the
|
|
|
|
|
arguments for this options.
|
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@item -q [PONY...]
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@itemx --quote [PONY...]
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex @command{-q}
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@cindex @command{--quote}
|
2012-08-15 20:45:08 +02:00
|
|
|
|
By using this option, a pony will be printed with quotes from her in My Little Pony:
|
2012-07-25 02:06:26 +02:00
|
|
|
|
Friendship is Magic. The pony will be selected randomly, unless at least one pony
|
|
|
|
|
is added as an argument after @command{-q}. If one or more ponies are added after
|
|
|
|
|
@command{-q}, the pony will be selected randomly from that set of ponies.
|
|
|
|
|
This option requires the extension @command{ponyquotes4ponysay}, which
|
|
|
|
|
is included by default since version 1.2.
|
2012-07-19 22:05:33 +02:00
|
|
|
|
|
|
|
|
|
@item -W COLUMN
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@itemx --wrap COLUMN
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex @command{-W}
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@cindex @command{--wrap}
|
2012-07-19 22:05:33 +02:00
|
|
|
|
Specify the screen column where the message should be wrapped,
|
|
|
|
|
this is by default 40, which is inherited from @command{cowsay}.
|
|
|
|
|
|
|
|
|
|
@item -l
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@itemx --list
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex @command{-l}
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@cindex @command{--list}
|
2012-07-19 22:05:33 +02:00
|
|
|
|
Lists all installed ponies. If the extension @command{ponyquotes4ponysay}
|
|
|
|
|
is installed the ponies which have quotes, i.e. can be used with the
|
|
|
|
|
@command{-q} option, will be mark by being printed in bold or bright
|
|
|
|
|
(depending on the terminal.)
|
|
|
|
|
|
|
|
|
|
@item -L
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@itemx --linklist
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex @command{-L}
|
2012-08-19 15:19:17 +02:00
|
|
|
|
@cindex @command{--altlist}
|
2012-07-19 22:05:33 +02:00
|
|
|
|
Lists all installed ponies. If the extension @command{ponyquotes4ponysay}
|
|
|
|
|
is installed the ponies which have quotes, i.e. can be used with the
|
|
|
|
|
@command{-q} option, will be mark by being printed in bold or bright
|
|
|
|
|
(depending on the terminal.) This options differs from @command{-l} by
|
2012-07-28 05:48:25 +02:00
|
|
|
|
printing alternative names (symbolic links) inside brackets after their
|
2012-07-19 22:05:33 +02:00
|
|
|
|
target ponies.
|
|
|
|
|
@end table
|
|
|
|
|
|
|
|
|
|
If neither @command{-q} is used nor any @var{message} is specified, @command{ponysay}
|
|
|
|
|
will read the message from stdin (standard input); however, if no arguments
|
|
|
|
|
are used that nothing is piped to stdin, a help message will be printed.
|
|
|
|
|
If you want to use @command{ponysay} without arguments and enter the message
|
|
|
|
|
by hand, you can run @code{cat | ponysay}.
|
|
|
|
|
|
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
|
|
|
|
@node Advanced usage
|
|
|
|
|
@chapter Advanced usage of @command{ponysay}.
|
|
|
|
|
@cindex advanced usage
|
|
|
|
|
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@menu
|
|
|
|
|
* Fortune cookies:: Displaying with fortune cookies.
|
|
|
|
|
* Ponification:: Ponify your fortune cookies.
|
|
|
|
|
* Running on TTY:: Running on TTY (Linux VT).
|
|
|
|
|
* Running on screen:: Running on @command{screen}.
|
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Fortune cookies
|
|
|
|
|
@section Fortune cookies
|
2012-07-20 01:44:47 +02:00
|
|
|
|
@cindex fortune
|
2012-07-26 03:34:04 +02:00
|
|
|
|
@cindex startup
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@cindex on startup
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex .bashrc
|
2012-07-20 18:33:04 +02:00
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
If you have @command{fortune} installed -- this program may be named
|
2012-08-15 20:45:08 +02:00
|
|
|
|
@command{fortune-mod} in your GNU/Linux distributions package repository --
|
2012-07-20 01:44:47 +02:00
|
|
|
|
you can run @code{fortune | ponysay} to get a random pony reading a
|
|
|
|
|
random fortune cookie.
|
|
|
|
|
|
|
|
|
|
By adding @code{fortune | ponysay} to the end [easiest way] of your
|
2012-08-20 15:47:26 +02:00
|
|
|
|
@code{~/.bashrc} -- or equivalent for your shell if you do not use GNU Bash
|
2012-08-15 20:45:08 +02:00
|
|
|
|
(standard shell for most distributions now a days) -- you will get the
|
2012-07-20 01:44:47 +02:00
|
|
|
|
effect described in the previous paragraph every time you open a terminal.
|
|
|
|
|
|
2012-07-20 18:33:04 +02:00
|
|
|
|
|
|
|
|
|
@node Ponification
|
|
|
|
|
@section Ponification
|
|
|
|
|
@cindex ponification
|
2012-07-25 17:14:02 +02:00
|
|
|
|
@cindex text ponification
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@cindex ponypipe
|
|
|
|
|
|
2012-08-18 03:34:39 +02:00
|
|
|
|
You can ponify text (i.e. replaces words search as `everyone' with `everypony')
|
2012-07-20 18:33:04 +02:00
|
|
|
|
by using @code{fortune | ponypipe} instead of using @command{fortune}.
|
|
|
|
|
@command{ponypipe} can be downloaded from @url{https://github.com/maandree/ponypipe}.
|
2012-08-18 03:34:39 +02:00
|
|
|
|
Alternatively you can use @command{pinkie} (or @command{pinkiepie}), which can
|
2012-07-20 18:33:04 +02:00
|
|
|
|
be downloaded from @url{https://github.com/maandree/pinkie-pie}, which is just
|
2012-08-18 03:41:08 +02:00
|
|
|
|
@code{fortune | ponypipe}. There is also a large @command{sed} script, similar
|
|
|
|
|
to @command{ponypipe}: @url{http://www.reddit.com/r/mylittlelinux/comments/srixi/using_ponysay_with_a_ponified_fortune_warning/}
|
2012-08-20 15:47:26 +02:00
|
|
|
|
However I think @command{ponypipe} as better at replacing words than the @command{sed}
|
|
|
|
|
script, but I haven't used the script so I wouldn't know for sure.
|
2012-07-20 18:33:04 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Running on TTY
|
|
|
|
|
@section Running on TTY
|
2012-07-20 01:44:47 +02:00
|
|
|
|
@cindex tty
|
|
|
|
|
@cindex linux vt
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex .bashrc
|
2012-07-20 18:33:04 +02:00
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
If you use TTY and have a custom colour palette, you should also add to your
|
|
|
|
|
@code{~/.bashrc}, before @code{fortune | ponysay}:
|
|
|
|
|
@example
|
2012-08-19 03:16:13 +02:00
|
|
|
|
[ "$TERM" = "linux" ] &&
|
2012-07-20 01:44:47 +02:00
|
|
|
|
function ponysay
|
|
|
|
|
@{ exec ponysay "$@@"
|
|
|
|
|
#RESET PALETTE HERE
|
|
|
|
|
@}
|
|
|
|
|
@end example
|
|
|
|
|
|
2012-07-20 18:33:04 +02:00
|
|
|
|
|
|
|
|
|
@node Running on screen
|
|
|
|
|
@section Running on @command{screen}
|
|
|
|
|
@cindex screen
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex .bashrc
|
2012-07-20 18:33:04 +02:00
|
|
|
|
|
2012-08-15 20:45:08 +02:00
|
|
|
|
@command{screen} will adapt ANSI colour escape sequences to your terminal's
|
2012-07-28 05:48:25 +02:00
|
|
|
|
capabilities. This means that if your terminal reports itself as @code{xterm}
|
|
|
|
|
in @code{$TERM} ponies will lose their colours; they will only use the lower 16
|
|
|
|
|
colours instead of the top 240 colours. By default, almost all X terminals,
|
|
|
|
|
including @command{xterm} and @command{mate-terminal} reports themselves as
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@code{xterm} in @code{$TERM}, and some reports their actual name in @code{$COLORTERM}.
|
2012-07-28 05:48:25 +02:00
|
|
|
|
So before opening @command{screen} you use set @code{$TERM} to @code{xterm-256color},
|
2012-07-20 18:33:04 +02:00
|
|
|
|
if you are using a terminal with support for @code{xterm}'s 256 colours; this
|
|
|
|
|
can be done by adding to your @code{~/.bashrc}:
|
|
|
|
|
@example
|
2012-08-19 03:16:13 +02:00
|
|
|
|
[ "$TERM" = "xterm" ] &&
|
2012-07-20 18:33:04 +02:00
|
|
|
|
function screen
|
|
|
|
|
@{ export TERM="xterm-256color"
|
|
|
|
|
exec screen "$@@"
|
|
|
|
|
@}
|
|
|
|
|
@end example
|
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
|
|
|
|
|
2012-07-25 01:08:01 +02:00
|
|
|
|
@node Environment variables
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@chapter Environment variables
|
|
|
|
|
@cindex environment variables
|
|
|
|
|
@cindex truncation
|
|
|
|
|
|
|
|
|
|
@command{ponysay} supports the follow environment variables:
|
|
|
|
|
|
|
|
|
|
@table @option
|
|
|
|
|
@item PONYSAY_BOTTOM
|
|
|
|
|
@cindex PONYSAY_BOTTOM
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@cindex tty
|
2012-07-19 22:05:33 +02:00
|
|
|
|
Under TTY (Linux VT), if the output is larger the the screen's height, only
|
2012-07-28 05:48:25 +02:00
|
|
|
|
the beginning is printed, leaving two blank lines. If you want the bottom
|
2012-07-19 22:05:33 +02:00
|
|
|
|
to be printed rather the the beginning you can export @code{PONYSAY_BOTTOM}
|
|
|
|
|
with the value @code{yes}, @code{y} or @code{1}.
|
|
|
|
|
|
|
|
|
|
@item PONYSAY_SHELL_LINES
|
|
|
|
|
@cindex PONYSAY_SHELL_LINES
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@cindex tty
|
2012-07-19 22:05:33 +02:00
|
|
|
|
Under TTY (Linux VT), if the output is larger the the screen's height, two
|
|
|
|
|
lines are left blank. If you want more, or less, blank lines you can export
|
|
|
|
|
@code{PONYSAY_SHELL_LINES} with the value of how many blank lines you want.
|
|
|
|
|
Naturally this takes effect if the output is not actually larger than the
|
|
|
|
|
screen.
|
|
|
|
|
|
|
|
|
|
@item PONYSAY_FULL_WIDTH
|
|
|
|
|
@cindex PONYSAY_FULL_WIDTH
|
2012-07-20 18:33:04 +02:00
|
|
|
|
You can export @code{PONYSAY_FULL_WIDTH} with the value @code{yes}, @code{y}
|
|
|
|
|
or @code{1}, if you do not want the output to be truncated on the width to
|
2012-07-19 22:05:33 +02:00
|
|
|
|
fit the terminal.
|
|
|
|
|
|
|
|
|
|
@item PONYSAY_TRUNCATE_HEIGHT
|
|
|
|
|
@cindex PONYSAY_TRUNCATE_HEIGHT
|
|
|
|
|
Export @code{PONYSAY_TRUNCATE_HEIGHT} with the value @code{yes}, @code{y}
|
|
|
|
|
or @code{1}, if you want to truncate the output on the height even if you
|
|
|
|
|
are not running @command{ponysay} under TTY.
|
2012-07-20 18:33:04 +02:00
|
|
|
|
|
|
|
|
|
@item PONYSAY_COWSAY
|
2012-07-25 01:08:01 +02:00
|
|
|
|
@itemx PONYSAY_COWTHINK
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@cindex PONYSAY_COWSAY
|
2012-08-15 20:45:08 +02:00
|
|
|
|
@cindex PONYSAY_COWTHINK
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@cindex custom cowsay
|
|
|
|
|
@cindex replace cowsay
|
2012-08-20 15:47:26 +02:00
|
|
|
|
Since version 2.1 this is no longer used as @command{cowsay} has been
|
|
|
|
|
reimplemented inside @command{ponysay}, but it is possible we will add
|
|
|
|
|
a way to replace that back-end.
|
|
|
|
|
|
2012-07-20 18:33:04 +02:00
|
|
|
|
If you want to use another program than @command{cowsay} (the first
|
|
|
|
|
@command{cowsay} found in @code{$PATH}), you can export @code{PONYSAY_COWSAY}
|
2012-08-19 03:16:13 +02:00
|
|
|
|
with the value of that program. In earlier versions than version 2.0: If, and
|
2012-08-19 01:49:05 +02:00
|
|
|
|
only if, @code{PONYSAY_COWSAY} does not have any value, @command{cowsay} is
|
|
|
|
|
patch with @code{use utf8;} to the beginning. The @code{use utf8;} patch is
|
|
|
|
|
introduced to make it easier to customise cowsay.
|
2012-07-20 18:33:04 +02:00
|
|
|
|
|
|
|
|
|
@code{PONYSAY_COWTHINK} will be used instead of @code{PONYSAY_COWSAY} if
|
|
|
|
|
you run @command{ponythink}.
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@end table
|
|
|
|
|
|
2012-08-15 20:45:08 +02:00
|
|
|
|
See @ref{kmsponies4ponysay} for additional environment variables used by the
|
2012-07-25 01:08:01 +02:00
|
|
|
|
extension @command{kmsponies4ponysay}.
|
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Limitations
|
|
|
|
|
@chapter Limitations
|
|
|
|
|
@cindex limitations
|
|
|
|
|
|
|
|
|
|
@menu
|
|
|
|
|
* Terminals:: Limitations on terminals.
|
2012-07-20 19:22:21 +02:00
|
|
|
|
* Cowsay:: Limitations on cowsay.
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@end menu
|
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@node Terminals
|
|
|
|
|
@section Terminals
|
2012-07-26 03:34:04 +02:00
|
|
|
|
@cindex terminals
|
|
|
|
|
@cindex fonts
|
|
|
|
|
@cindex broken ponies
|
2012-07-19 22:05:33 +02:00
|
|
|
|
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex xterm
|
|
|
|
|
@cindex putty
|
2012-07-19 22:05:33 +02:00
|
|
|
|
Ponysay works perfectly on @command{xterm}, @command{xterm} like terminals including
|
|
|
|
|
@command{putty}, settings may however need to be customised for Unicode Character Set
|
|
|
|
|
(UCS) support, but less well, depending on font, on VTE based terminals including
|
|
|
|
|
@command{mate-terminal}.
|
|
|
|
|
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex kms
|
|
|
|
|
@cindex kernel mode settings
|
|
|
|
|
@cindex tty
|
|
|
|
|
@cindex linux vt
|
2012-07-20 01:44:47 +02:00
|
|
|
|
On Linux's native terminal Linux VT (TTY) it works less well, and not good at all with
|
2012-08-15 20:45:08 +02:00
|
|
|
|
Kernel Mode Settings (KMS) support. See @url{https://github.com/erkin/ponysay/issues/1}
|
2012-07-20 01:44:47 +02:00
|
|
|
|
for more information. @command{ponysay} clears the screen before printing to TTY, this
|
|
|
|
|
is because if your graphics driver supports KMS, the colours will be messed by when the
|
|
|
|
|
ponies position moves on the screen, this is also reason why the output is truncated on
|
|
|
|
|
the height in TTY by default.
|
|
|
|
|
|
2012-07-20 04:55:29 +02:00
|
|
|
|
Most terminals have support for 256 colours, we do however only use the top 240 colours;
|
2012-07-28 05:48:25 +02:00
|
|
|
|
this is because the lower 16 colours are usually, in contrast to the top 240, customised.
|
2012-07-20 04:55:29 +02:00
|
|
|
|
We assume that the top 240 colours have their standard values. In TTY with KMS support
|
|
|
|
|
we dot have any actual (except for @math{2^{24}} + full transparency.)
|
|
|
|
|
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex xterm
|
|
|
|
|
@cindex urxvt
|
|
|
|
|
@cindex putty
|
|
|
|
|
@cindex rxvt
|
|
|
|
|
@cindex mrxvt
|
|
|
|
|
@cindex Eterm
|
|
|
|
|
@cindex aterm
|
|
|
|
|
@command{ponysay} works perfectly on @command{xterm}, @command{urxvt} and @command{putty},
|
|
|
|
|
but @command{rxvt}, @command{mrxvt} and @command{Eterm} do not have UTF-8 support and are
|
|
|
|
|
currently not supported. Additionally @command{aterm} have neither UTF-8 support nor 256
|
|
|
|
|
colour support, and is therefore not yet support.
|
|
|
|
|
|
|
|
|
|
@cindex 9term
|
|
|
|
|
Due to extreme limitations in @command{9term} @command{ponysay} will never be able to
|
|
|
|
|
run on it.
|
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
|
|
|
|
@node Cowsay
|
|
|
|
|
@section Cowsay
|
2012-08-20 15:47:26 +02:00
|
|
|
|
@cindex cowsay
|
|
|
|
|
|
|
|
|
|
This section describes the limitation of @command{cowsay}, but since version 2.1
|
|
|
|
|
@command{cowsay} is no longer used because of it. So none of the following limitations
|
|
|
|
|
are present anymore.
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
|
|
|
|
When @command{cowsay} determines the length of a word it measures in number of bytes
|
2012-07-20 04:55:29 +02:00
|
|
|
|
(in UTF-8), therefore non-ASCII words will malformat the balloon with the message.
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
|
|
|
|
Further, @command{cowsay} does not recognise ANSI escape sequences, therefore, using
|
|
|
|
|
colours and text styling in messages will also malformat the balloon with the message.
|
2012-07-19 22:05:33 +02:00
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
@command{cowsay} does not support balloon, including the link between the message and
|
|
|
|
|
the pony, customisation, other than using @command{cowthink}. However you can modify
|
2012-08-15 20:45:08 +02:00
|
|
|
|
@command{cowsay} (written Perl, so you can edit the installed files) to make the balloon
|
2012-07-20 01:44:47 +02:00
|
|
|
|
look different, maybe using box drawing characters.
|
|
|
|
|
|
2012-08-20 15:47:26 +02:00
|
|
|
|
@command{cowsay} does not support setting the minimum size of the balloon, both directions
|
2012-07-20 04:55:29 +02:00
|
|
|
|
on the balloon–pony links. or any other placement of the balloon than at the top to
|
|
|
|
|
the left.
|
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
@cindex figlet
|
2012-08-15 20:45:08 +02:00
|
|
|
|
@cindex toilet
|
2012-07-28 05:48:25 +02:00
|
|
|
|
@command{cowsay}'s word wrapping handles single line breaks as normal blank spaces,
|
2012-07-28 14:03:45 +02:00
|
|
|
|
this messes up messages created with programs such as @command{figlet} and @command{TOIlet}.
|
2012-07-19 22:05:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-20 15:47:26 +02:00
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@node Problems and requests
|
|
|
|
|
@chapter Problems and requests
|
|
|
|
|
|
|
|
|
|
@menu
|
|
|
|
|
* Problems:: Reporting bugs.
|
2012-07-20 01:44:47 +02:00
|
|
|
|
* Requests:: Requesting ponies.
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@end menu
|
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@node Problems
|
|
|
|
|
@section Reporting bugs
|
|
|
|
|
@cindex bugs
|
|
|
|
|
|
|
|
|
|
If you find a bug in @command{ponysay}, install the last version
|
|
|
|
|
from @url{https://github.com/erkin/ponysay}, and if it is still
|
|
|
|
|
present, please report it at @url{https://github.com/erkin/ponysay/issues}.
|
|
|
|
|
Please be as descriptive as possible, as it will help us verify it
|
|
|
|
|
solve it faster.
|
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@node Requests
|
2012-07-20 01:44:47 +02:00
|
|
|
|
@section Requesting ponies
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@cindex pony requests
|
|
|
|
|
|
|
|
|
|
If you want I specific pony added, ask us at @url{https://github.com/erkin/ponysay/issues}
|
|
|
|
|
and we will add it. To speed the up the process, if possible, supply good
|
|
|
|
|
pictures. Full visibly, transparent background, and pixelated are the
|
|
|
|
|
properties that makes a picture good.
|
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Dependencies
|
|
|
|
|
@chapter Dependencies
|
|
|
|
|
@cindex dependencies
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@cindex optional dependencies
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
|
|
|
|
@menu
|
|
|
|
|
* Required runtime dependencies:: Required runtime dependencies.
|
|
|
|
|
* Optional runtime dependencies:: Optional runtime dependencies.
|
|
|
|
|
* Package building dependencies:: Package building dependencies.
|
|
|
|
|
* Dependencies for pony providers:: Dependencies for pony providers.
|
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Required runtime dependencies
|
|
|
|
|
@section Required runtime dependencies
|
|
|
|
|
|
|
|
|
|
@table @option
|
|
|
|
|
@item cowsay
|
|
|
|
|
This is a wrapper for @command{cowsay}.
|
|
|
|
|
@item coreutils
|
2012-08-20 15:47:26 +02:00
|
|
|
|
@command{stty} is used to determine the size of the terminal.
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@item python
|
2012-08-20 15:47:26 +02:00
|
|
|
|
@command{ponysay} is written in pure Python 3.
|
2012-07-20 01:44:47 +02:00
|
|
|
|
@end table
|
|
|
|
|
|
|
|
|
|
@node Optional runtime dependencies
|
|
|
|
|
@section Optional runtime dependencies
|
|
|
|
|
@cindex extensions
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@cindex optional dependencies
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
|
|
|
|
@table @option
|
2012-08-20 15:47:26 +02:00
|
|
|
|
@item util-say>=2
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@cindex @command{util-say}
|
|
|
|
|
@cindex kms
|
|
|
|
|
@cindex tty
|
|
|
|
|
@cindex linux vt
|
2012-07-25 05:19:26 +02:00
|
|
|
|
For improved TTY support for user with custom colour palette and KMS support.
|
2012-08-19 03:16:13 +02:00
|
|
|
|
It can be downloaded at @url{https://github.com/maandree/util-say}.
|
2012-08-19 04:55:38 +02:00
|
|
|
|
|
|
|
|
|
@cindex png images
|
|
|
|
|
@cindex images, png
|
|
|
|
|
@cindex portable network graphics
|
2012-08-20 15:47:26 +02:00
|
|
|
|
For the purpose of simplifying for pony contributors, @command{ponysay}
|
2012-08-19 04:55:38 +02:00
|
|
|
|
supports using .png-images (note that the file must not miss the
|
|
|
|
|
@code{.png} in the file) in addition of .pony-files or pony names.
|
2012-07-20 01:44:47 +02:00
|
|
|
|
@end table
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Package building dependencies
|
|
|
|
|
@section Package building dependencies
|
|
|
|
|
|
|
|
|
|
@table @option
|
|
|
|
|
@item gzip
|
2012-08-20 15:47:26 +02:00
|
|
|
|
Used for compressing manuals.
|
|
|
|
|
@item texinfo
|
|
|
|
|
@itemx info
|
|
|
|
|
@command{texinfo} and @command{info} are required if you want this @command{info} manual.
|
2012-07-20 01:44:47 +02:00
|
|
|
|
@item make
|
|
|
|
|
Required to run the make script.
|
|
|
|
|
@item coreutils
|
|
|
|
|
The make script uses @command{install}, @command{unlink}, @command{rm}, @command{ln},
|
2012-08-20 21:46:52 +02:00
|
|
|
|
@command{mkdir} and @command{cp} and @command{cut}.
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@item sed
|
2012-08-20 15:47:26 +02:00
|
|
|
|
Used by the make script for @command{PREFIX} customisation.
|
2012-07-20 01:44:47 +02:00
|
|
|
|
@end table
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Dependencies for pony providers
|
|
|
|
|
@section Dependencies for pony providers
|
|
|
|
|
@cindex contributing
|
|
|
|
|
|
|
|
|
|
@table @option
|
|
|
|
|
@item make
|
|
|
|
|
Required to run @command{make -B ttyponies`}.
|
|
|
|
|
@item coreutils
|
|
|
|
|
@command{ln} and @command{readlink} are used in the @command{ttyponies} subscript.
|
|
|
|
|
@item bash
|
|
|
|
|
Used in the ttyponies subscript.
|
2012-08-20 15:47:26 +02:00
|
|
|
|
@item util-say>=2
|
2012-07-20 01:44:47 +02:00
|
|
|
|
Used by @command{make ttyponies} to build ttyponies from xterm ponies.
|
|
|
|
|
It can be downloaded at @url{https://github.com/maandree/util-say}.
|
|
|
|
|
@end table
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@node Installing
|
|
|
|
|
@chapter Installing
|
|
|
|
|
@cindex installing
|
|
|
|
|
@cindex make
|
|
|
|
|
|
2012-07-25 01:08:01 +02:00
|
|
|
|
@menu
|
2012-08-18 03:26:35 +02:00
|
|
|
|
* From upstream:: Installing manually from upstream (GitHub repository).
|
|
|
|
|
* Arch Linux:: Packages for Arch Linux.
|
|
|
|
|
* Gentoo Linux:: Packages for Gentoo Linux.
|
|
|
|
|
* Debian GNU/Linux:: Packages for Debian GNU/Linux and Ubuntu.
|
|
|
|
|
* Uninstallation:: Uninstalling when installed manually.
|
2012-07-25 01:08:01 +02:00
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node From upstream
|
|
|
|
|
@section From upstream
|
2012-08-18 03:26:35 +02:00
|
|
|
|
@cindex upstream installation
|
|
|
|
|
|
|
|
|
|
@menu
|
|
|
|
|
* Installations basics:: The basics of installations.
|
2012-08-19 03:16:13 +02:00
|
|
|
|
* Custom installations:: Installation customisation.
|
2012-08-18 03:26:35 +02:00
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
|
|
@node Installations basics
|
|
|
|
|
@subsection Installations basics
|
|
|
|
|
@cindex make
|
|
|
|
|
@cindex basic installation
|
|
|
|
|
|
2012-07-25 01:08:01 +02:00
|
|
|
|
|
2012-07-20 04:55:29 +02:00
|
|
|
|
Before installing @command{ponysay}, make sure your system have the packages listed under
|
|
|
|
|
@ref{Required runtime dependencies} and @ref{Package building dependencies} installed.
|
|
|
|
|
|
|
|
|
|
Tarballs can be downloaded at @url{https://github.com/erkin/ponysay/tarball/master}
|
|
|
|
|
for bleeding edge, or from @url{https://github.com/erkin/ponysay/tags} for releases.
|
|
|
|
|
|
|
|
|
|
If you have @command{git} you @command{clone} the project URL
|
|
|
|
|
@url{https://github.com/erkin/ponysay.git}.
|
|
|
|
|
|
2012-08-19 03:16:13 +02:00
|
|
|
|
In the terminal, @command{cd} into the ponysay directory and execute
|
|
|
|
|
@command{./configure && make install}. This will install @command{ponysay} into the
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@code{/usr}, meaning you may need to run @command{make install} as root,
|
|
|
|
|
e.g. by running @command{sudo make install}.
|
|
|
|
|
|
|
|
|
|
Now you will be to use ponysay, run: @command{ponysay "I am just the cutest pony!"},
|
|
|
|
|
or if have a specific pony in your mind: @command{ponysay -f pinkie "Partay!~"}.
|
|
|
|
|
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@cindex manpage translations
|
2012-07-25 01:08:01 +02:00
|
|
|
|
@command{ponysay} comes with this @command{info} manual and a manpage in section 6,
|
|
|
|
|
@command{man 6 ponysay} (or just @command{man ponysay}). The manpage is also available
|
2012-08-19 03:16:13 +02:00
|
|
|
|
in Spanish: @command{man -L es 6 ponysay}. The install the Spanish manual add the
|
|
|
|
|
option @command{--with-man-es} when running @command{./configure}.
|
2012-07-25 01:08:01 +02:00
|
|
|
|
|
|
|
|
|
|
2012-08-18 03:26:35 +02:00
|
|
|
|
@node Custom installations
|
|
|
|
|
@subsection Custom installations
|
|
|
|
|
@cindex customised installations
|
|
|
|
|
@cindex installation customisation
|
|
|
|
|
@cindex make
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@cindex @command{./configure}
|
|
|
|
|
@cindex configure
|
|
|
|
|
|
|
|
|
|
@cindex @command{--everything}
|
|
|
|
|
A basic installation will install everything @command{ponysay} has to offer, except
|
|
|
|
|
the prebuilt PDF manual and translated manpages. If you want to install exactly
|
|
|
|
|
everything add the option @command{--everything} when running @command{./configure}.
|
|
|
|
|
|
|
|
|
|
@cindex @command{--with-pdf}
|
|
|
|
|
@cindex PDF manual, with
|
|
|
|
|
@cindex @command{--without-man}
|
|
|
|
|
@cindex manpage, without
|
|
|
|
|
@cindex @command{--without-info}
|
2012-08-20 17:58:31 +02:00
|
|
|
|
@cindex @command{--without-info-install}
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@cindex @command{info} manual, without
|
|
|
|
|
@cindex @command{--with-man-LANG}
|
|
|
|
|
@cindex manpage translations
|
|
|
|
|
After @command{--everything} it is possible to remove unwanted parts, this can
|
|
|
|
|
of cause be done without @command{--everything}. If you want to install the
|
|
|
|
|
PDF manual to @code{/usr/doc/ponysay.pdf} add the option @command{--with-pdf} when
|
|
|
|
|
running @command{./configure}. To install a manpage translation add
|
|
|
|
|
@command{--with-man-LANG} and substitute the the language code for @code{LANG}.
|
|
|
|
|
Currently the only translation is Spanish with the language code @code{es}.
|
|
|
|
|
If you do not want the English manpage add the option @command{--without-man}.
|
|
|
|
|
If you do not want the @command{info} manual add the option @command{--without-info}.
|
2012-08-20 17:58:31 +02:00
|
|
|
|
If you are installing the @command{info} manual but are not privileged to execute
|
2012-08-20 21:35:20 +02:00
|
|
|
|
@command{install-info} add the option @command{--without-info-install}.
|
2012-08-19 03:16:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The following argumentless options are also recognised:
|
2012-08-18 03:26:35 +02:00
|
|
|
|
@itemize @bullet
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@item @command{--without-bash}
|
|
|
|
|
@cindex @command{--without-bash}
|
|
|
|
|
@cindex @command{bash}, without
|
|
|
|
|
will skip installation of auto-completion for @command{ponysay} and the
|
|
|
|
|
GNU Bourne-again shell, @command{bash}.
|
|
|
|
|
@item @command{--without-fish}
|
|
|
|
|
@cindex @command{--without-fish}
|
|
|
|
|
@cindex @command{fish}, without
|
|
|
|
|
will skip installation of auto-completion for @command{ponysay} and the
|
|
|
|
|
Friendly interactive shell, @command{fish}.
|
|
|
|
|
@item @command{--without-zsh}
|
|
|
|
|
@cindex @command{--without-zsh}
|
|
|
|
|
@cindex @command{zsh}, without
|
|
|
|
|
will skip installation of auto-completion for @command{ponysay} and the
|
|
|
|
|
shell @command{zsh}.
|
2012-08-20 18:53:00 +02:00
|
|
|
|
@item @command{--without-shared-cache}
|
|
|
|
|
@cindex @command{--without-shared-cache}
|
|
|
|
|
@cindex cache
|
|
|
|
|
@cindex kms
|
|
|
|
|
will skip installing a shared cache for KMS support, when there is no
|
|
|
|
|
shared cache, private one will be used at @code{~/.cache/ponysay}.
|
2012-08-18 03:26:35 +02:00
|
|
|
|
@end itemize
|
|
|
|
|
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@cindex @command{--prefix=TARGET}
|
|
|
|
|
@cindex @code{/usr/games}
|
2012-08-18 03:26:35 +02:00
|
|
|
|
The program is by default installed in @code{/usr}, if you want another target
|
2012-08-19 03:16:13 +02:00
|
|
|
|
directory, you can add @command{--prefix=TARGET} when running @command{./configure}.
|
|
|
|
|
For example to install @command{ponysay} in @code{/usr/games} you build the
|
|
|
|
|
program by running @command{./configure --prefix=/usr/games}, and alike for
|
|
|
|
|
installation and uninstallation. Notice the @command{=} cannot be substituted
|
|
|
|
|
with white space.
|
|
|
|
|
|
|
|
|
|
@cindex @command{--info-desc=DESCRIPTION}
|
|
|
|
|
If you are not using @command{--without-info} you can add
|
|
|
|
|
@command{--info-desc=DESCRIPTION} to specify the description @command{info}
|
|
|
|
|
which provide when listing commands.
|
2012-08-18 03:26:35 +02:00
|
|
|
|
|
2012-08-20 17:58:31 +02:00
|
|
|
|
@cindex @command{--shell=SHELL}
|
|
|
|
|
By default @command{bash} is in the make file, if you want to use another shell
|
|
|
|
|
add the option @command{--shell=SHELL}.
|
|
|
|
|
|
2012-08-18 03:26:35 +02:00
|
|
|
|
|
2012-08-20 18:53:00 +02:00
|
|
|
|
|
2012-07-25 01:08:01 +02:00
|
|
|
|
@node Arch Linux
|
|
|
|
|
@section Arch Linux
|
|
|
|
|
@cindex arch linux
|
|
|
|
|
|
|
|
|
|
The official Arch Linux package repositories contains @command{ponysay} as
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@code{community/ponysay}. The Arch Linux User Repository (AUR) contains a bleeding
|
|
|
|
|
edge git version of @command{ponysay} as @code{ponysay-git}.
|
2012-07-25 01:08:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Gentoo Linux
|
|
|
|
|
@section Gentoo Linux
|
|
|
|
|
@cindex gentoo linux
|
|
|
|
|
|
|
|
|
|
Gentoo users can use the overlay @url{https://github.com/etu/aidstu-overlay}, which
|
|
|
|
|
contains @command{ponysay} as @w{@code{games-misc/ponysay}}.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Debian GNU/Linux
|
|
|
|
|
@section Debian GNU/Linux and Ubuntu
|
|
|
|
|
@cindex debian gnu/linux
|
|
|
|
|
@cindex ubuntu
|
|
|
|
|
|
|
|
|
|
A .deb file is available at @url{http://roryholland.co.uk/misc.html#ponysay},
|
|
|
|
|
and a PPA can be found at @url{https://launchpad.net/~blazemore/+archive/ponysay}.
|
2012-07-20 18:33:04 +02:00
|
|
|
|
|
|
|
|
|
|
2012-08-18 03:26:35 +02:00
|
|
|
|
@node Uninstallation
|
|
|
|
|
@section Uninstallation
|
|
|
|
|
@cindex uninstallation
|
|
|
|
|
|
|
|
|
|
If you did not install @command{ponysay} with a package manager, but rather
|
|
|
|
|
manually from the upstream, you can uninstall it by running @command{make uninstall}.
|
|
|
|
|
|
|
|
|
|
Well written package manages will uninstall files that the package is no longer
|
|
|
|
|
using, i.e. if deleted, moved or renamed. To uninstall files that are not longer
|
|
|
|
|
used, by the currently installed version you will need that versions @code{Makefile}.
|
2012-08-20 15:47:26 +02:00
|
|
|
|
To perform the uninstallation of old filed run @command{make uninstall-old}.
|
2012-08-18 03:26:35 +02:00
|
|
|
|
|
|
|
|
|
|
2012-07-20 18:33:04 +02:00
|
|
|
|
|
|
|
|
|
@node Extensions
|
|
|
|
|
@chapter Extensions
|
|
|
|
|
@cindex extensions
|
|
|
|
|
@cindex optional dependencies
|
|
|
|
|
|
|
|
|
|
Ponysay does not support extensions, per se, but rather have optional features that
|
|
|
|
|
are enabled when other packages are installed.
|
|
|
|
|
|
|
|
|
|
@menu
|
2012-07-25 01:08:01 +02:00
|
|
|
|
* ponyquotes4ponysay:: ponyquotes4ponysay: Quotes from My Little Ponies.
|
|
|
|
|
* kmsponies4ponysay:: kmsponies4ponysay: Improved TTY support under KMS support.
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@end menu
|
|
|
|
|
|
2012-07-25 01:08:01 +02:00
|
|
|
|
|
2012-07-20 18:33:04 +02:00
|
|
|
|
@node ponyquotes4ponysay
|
|
|
|
|
@section ponyquotes4ponysay
|
|
|
|
|
@cindex ponyquotes4ponysay
|
2012-07-25 01:08:01 +02:00
|
|
|
|
@cindex quotes
|
2012-07-20 18:33:04 +02:00
|
|
|
|
|
|
|
|
|
@command{ponyquotes4ponysay} is a package that adds support for MLP:FiM quotes that are
|
|
|
|
|
displayed with the associated ponies. See @ref{Invoking ponysay} for more information.
|
2012-07-20 04:55:29 +02:00
|
|
|
|
|
2012-08-19 03:16:13 +02:00
|
|
|
|
As of version 1.2 @command{ponyquotes4ponysay} is included in @command{ponysay},
|
|
|
|
|
but is still available at @url{https://github.com/maandree/ponyquotes4ponysay}.
|
2012-07-25 01:08:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node kmsponies4ponysay
|
|
|
|
|
@section kmsponies4ponysay
|
|
|
|
|
@cindex kmsponies4ponysay
|
|
|
|
|
@cindex tty
|
|
|
|
|
@cindex linux vt
|
|
|
|
|
@cindex kms
|
|
|
|
|
@cindex kernel mode settings
|
|
|
|
|
@cindex environment variables
|
|
|
|
|
@cindex PONYSAY_KMS_PALETTE
|
|
|
|
|
@cindex PONYSAY_KMS_PALETTE_CMD
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex .bashrc
|
2012-07-25 01:08:01 +02:00
|
|
|
|
|
|
|
|
|
@command{kmsponies4ponysay} is an extension for TTY users that have a custom TTY colour
|
2012-08-19 03:16:13 +02:00
|
|
|
|
palette and KMS support. KMS is supported on most computers, but due to lack of published
|
2012-07-25 01:08:01 +02:00
|
|
|
|
specifications Nvidea drivers does not support KMS. @command{kmsponies4ponysay} can be
|
|
|
|
|
downloaded at @url{https://github.com/maandree/kmsponies4ponysay}.
|
|
|
|
|
|
|
|
|
|
To use this extension your @code{~/.bashrc} (or equivalent for your shell) must keep track
|
|
|
|
|
of your colour palette, it is not possible for a program to ask to terminal. Either the
|
|
|
|
|
shell should export a palette string to @code{$PONYSAY_KMS_PALETTE} or you should export
|
|
|
|
|
a command to can get the palette string to @code{$PONYSAY_KMS_PALETTE_CMD}. The palette
|
|
|
|
|
string should be the stream which sets the colour palette to the terminal when
|
|
|
|
|
@command{echo}:ed; preferably, to increase speed and reduce cache usage, it should be
|
2012-08-15 20:45:08 +02:00
|
|
|
|
consistent every time it is exported for every colours palette. So you may want to keep it
|
2012-07-25 01:08:01 +02:00
|
|
|
|
sorted, always be in either upper case or lower case, and not contain an character that
|
|
|
|
|
is not used to set the colour palette.
|
|
|
|
|
|
|
|
|
|
Assuming you have a function in your @code{~/.bashrc}, to reset the colour palette to what
|
|
|
|
|
you set it to last time in the terminal, named @command{reset-palette}, your @code{~/.bashrc}
|
|
|
|
|
should, for example, contain:
|
|
|
|
|
@example
|
2012-08-19 03:16:13 +02:00
|
|
|
|
[ "$TERM" = "linux" ] &&
|
2012-07-25 01:08:01 +02:00
|
|
|
|
function ponysay
|
|
|
|
|
@{ export PONYSAY_KMS_PALETTE="`reset-palette`"
|
|
|
|
|
exec ponysay "$@@"
|
|
|
|
|
@}
|
|
|
|
|
@end example
|
|
|
|
|
|
2012-07-25 17:14:02 +02:00
|
|
|
|
@command{kmsponies4ponysay} uses @code{/var/cache/kmsponies4ponysay/} for cache space.
|
|
|
|
|
|
2012-08-19 03:16:13 +02:00
|
|
|
|
As of version 2.0 @command{kmsponies4ponysay} is included in @command{ponysay},
|
|
|
|
|
but is still available at @url{https://github.com/maandree/kmsponies4ponysay}.
|
|
|
|
|
|
2012-07-20 04:55:29 +02:00
|
|
|
|
|
|
|
|
|
|
2012-07-21 14:36:09 +02:00
|
|
|
|
@node Inner workings
|
|
|
|
|
@chapter Inner workings
|
|
|
|
|
@cindex inner workings
|
|
|
|
|
@cindex hacking
|
|
|
|
|
|
|
|
|
|
@menu
|
|
|
|
|
* Pony anatomy:: Anatomy of pony files.
|
2012-08-20 20:28:30 +02:00
|
|
|
|
* Pony quote infrastructure:: Pony quote infrastructure.
|
2012-07-25 01:08:01 +02:00
|
|
|
|
* Printing in TTY with KMS:: Printing in TTY with KMS.
|
2012-07-21 14:36:09 +02:00
|
|
|
|
* Truncation:: Output truncation.
|
|
|
|
|
* Languages:: Selection of languages.
|
2012-08-20 15:47:26 +02:00
|
|
|
|
* Shell auto-completion:: Things make auto-completion simpler.
|
2012-07-21 14:36:09 +02:00
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Pony anatomy
|
|
|
|
|
@section Pony anatomy
|
|
|
|
|
@cindex pony anatomy
|
|
|
|
|
@cindex anatomy of pony files
|
|
|
|
|
|
2012-08-20 20:28:30 +02:00
|
|
|
|
The pony files are simple raw output data that can be printed to the terminal,
|
|
|
|
|
except it contains scalar variables. The pony images consists of white space, lower
|
|
|
|
|
half blocks [U+2584], upper half blocks [U+2580] and ANSI colour sequences (CSI m),
|
|
|
|
|
and, in TTY, colour value change sequences (OSI P).
|
|
|
|
|
|
|
|
|
|
Variables are recalled by putting the variable's name between two dollar signs
|
|
|
|
|
(@code{$var$}), and are stored by putting the variable's name followed by the value
|
|
|
|
|
between two dollar signs and with a equality sign between the name and the value
|
|
|
|
|
(@code{$var=value$}). Variable names cannot include equality signs, but the value
|
|
|
|
|
can; dollar signs can be used by placin an ESC character before the dollar sign.
|
|
|
|
|
|
|
|
|
|
There are three predefinied variables: @code{$$} (empty variable name), @code{$\$}
|
|
|
|
|
and @code{$/$}. @code{$$} has a dollar sign (@code{$}) as its value, while @code{$\$}
|
|
|
|
|
and @code{$/$} contains the characters for the link to the balloon directed in the
|
|
|
|
|
same direction as the variable name's slash.
|
|
|
|
|
|
2012-08-20 21:46:52 +02:00
|
|
|
|
Variables those name begin with @code{balloon} are parsed as balloon inserts, it
|
|
|
|
|
can be either @code{balloon}, @code{balloonX}, @code{balloon,Y} or @code{balloonX,Y},
|
|
|
|
|
whether @code{X} is the minimum width of the balloon and @code{Y} is the minimum
|
|
|
|
|
height of the balloon.
|
|
|
|
|
|
2012-08-20 20:28:30 +02:00
|
|
|
|
Prior to version 2.1 the pony files were cow files used by @command{cowsay}, they
|
|
|
|
|
are partial Perl-scripts that assign a value to a scalar variable named @code{$the_cow}.
|
|
|
|
|
Cow files use a predefined scalar variable named @code{$thoughts}, these are used
|
|
|
|
|
to create a link between the message and the pony. The message (and the balloon)
|
|
|
|
|
itself was printed by @command{cowsay} and is not defined in the cow files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Pony quote infrastructure
|
|
|
|
|
@section Pony quote infrastructure
|
|
|
|
|
@cindex pony quote infrastructure
|
|
|
|
|
@cindex quote infrastructure
|
|
|
|
|
|
|
|
|
|
When compiles pony quotes are built to @code{quotes}, the file names are lists of
|
|
|
|
|
ponies joined with plus signs (@code{+}) -- the pony names are the same as the pony files,
|
|
|
|
|
except they do not end with @code{.pony} -- with a index at the end, and a full stop
|
|
|
|
|
(@code{.}) before the index.
|
|
|
|
|
|
|
|
|
|
The source files are located in @code{ponyquotes}, where their is a file named @code{ponies}.
|
|
|
|
|
This file is called the pony map, is the basis for how the compiled files are named.
|
|
|
|
|
In the ponymap ponies with the same quotes are on the same line join togather with plus
|
|
|
|
|
signs (@code{+}), if the lines because too long for file names the line is split into
|
|
|
|
|
multiple lines with the first pony in common.
|
|
|
|
|
|
|
|
|
|
In @code{ponyquotes} there are also quote files, each contain just one quote, just as
|
|
|
|
|
when compiled to @code{quotes}. The source quote files are indentical to the compiled
|
|
|
|
|
quote files, except that there name contains just the first pony.
|
2012-07-21 14:36:09 +02:00
|
|
|
|
|
|
|
|
|
|
2012-07-25 01:08:01 +02:00
|
|
|
|
@node Printing in TTY with KMS
|
|
|
|
|
@section Printing in TTY with KMS
|
|
|
|
|
@cindex tty
|
|
|
|
|
@cindex linux vt
|
|
|
|
|
@cindex clearing tty
|
|
|
|
|
@cindex kms
|
|
|
|
|
@cindex kernel mode settings
|
|
|
|
|
|
2012-08-15 20:45:08 +02:00
|
|
|
|
Since Linux VT (TTY) does not have capabilities for returning the position of the cursor,
|
2012-07-25 01:08:01 +02:00
|
|
|
|
the screen must always be cleared before printing the ponies to make sure the pony's
|
|
|
|
|
colours is not lost, i.e. reduced to mare 16 colours, during print. The colours are reduced
|
|
|
|
|
if the pony's position on the screen is changed. This is only relevant with KMS support.
|
2012-07-25 17:14:02 +02:00
|
|
|
|
The clear the screen we print ``@code{\e[H\e[2J}'' (@code{\e} is ESC) in at beginning.
|
|
|
|
|
``@code{\e[H}'' places the cursor at the beginning of the screen, and ``@code{\e[2J}'' clears
|
|
|
|
|
everything on the screen after, and including at, the cursor. If we would use ``@code{\ec}''
|
|
|
|
|
(that is a reset), we would also turn off num. lock and caps. lock.
|
2012-07-25 01:08:01 +02:00
|
|
|
|
|
|
|
|
|
|
2012-07-21 14:36:09 +02:00
|
|
|
|
@node Truncation
|
|
|
|
|
@section Truncation
|
|
|
|
|
@cindex truncation
|
2012-08-15 20:45:08 +02:00
|
|
|
|
@cindex output truncation
|
2012-07-21 14:36:09 +02:00
|
|
|
|
@cindex kms
|
|
|
|
|
@cindex kernel mode settings
|
|
|
|
|
|
|
|
|
|
Ponysay supports three type of output truncations, cutting away overflow on the right
|
|
|
|
|
and truncation the height by either keeping the bottom or keeping the top. By default
|
|
|
|
|
the latest is enabled under TTY, cutting away overflow on the right is always enabled
|
|
|
|
|
by default.
|
|
|
|
|
|
|
|
|
|
Truncating the height in TTY is required under Kernel Mode Settings (KMS) support to
|
|
|
|
|
keep the colours from being messed up ad the ponies is moved in the screen during
|
|
|
|
|
print; this done either by piping to @command{head} (keeps the top) or by piping to
|
|
|
|
|
@command{tail} (keeps the bottom.) @command{head} and @command{tail} takes as argument
|
|
|
|
|
the number of lines to keep at most.
|
|
|
|
|
|
|
|
|
|
The size of the terminal, measured in characters, is fetched from @command{stty size},
|
|
|
|
|
which returns @code{HEIGHT WIDTH}, and @command{cut} it the used to get either the
|
|
|
|
|
height or the width. This required on GNU Coreutils; earlier @command{tput rows} and
|
|
|
|
|
@command{tput cols} were used, this however required, the only de facto standard,
|
|
|
|
|
package @command{ncurses}, some shells have environment variables for this.
|
|
|
|
|
|
|
|
|
|
For truncation the width, we have a custom program, named @command{ponysaytruncater},
|
|
|
|
|
that is installed to @code{/usr/lib/ponysay/truncater}. It recognised UTF-8 ANSI escape
|
|
|
|
|
sequences, including OSI P and CSI m, which is essential for the truncation to be correct.
|
2012-07-28 05:48:25 +02:00
|
|
|
|
It also expands tabs to every eighth column and resets the background colour when needed,
|
2012-07-21 14:36:09 +02:00
|
|
|
|
and writes ANSI escape sequences that are on the left side of the truncation. The truncater
|
|
|
|
|
stops CSI sequences on the first ASCII letter (@code{[a-zA-Z]}), but also stops escape
|
2012-07-26 05:18:09 +02:00
|
|
|
|
sequences after the first character after the initial escape if it is not either @code{[}
|
|
|
|
|
(CSI) or @code{]} (OSI). For support UTF-8, to handles all bytes that do not match
|
|
|
|
|
@code{10xxxxxx} as beginning of a character.
|
2012-07-21 14:36:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@node Languages
|
|
|
|
|
@section Languages
|
|
|
|
|
@cindex languages
|
|
|
|
|
@cindex script languages
|
|
|
|
|
@cindex programming languages
|
|
|
|
|
|
2012-08-19 03:16:13 +02:00
|
|
|
|
Before version 2.0 @command{ponysay} was written primarily in GNU Bash script
|
|
|
|
|
(POSIX compliant); the truncater was however written in C, because it is simple,
|
|
|
|
|
fast, does not pose addition dependencies, and is easy to do byte hacking in.
|
|
|
|
|
|
|
|
|
|
Sometimes shell is too slow, in these cases Perl was used; Perl was already
|
|
|
|
|
required by cowsay, is similar to shell, but also supports hash tables.
|
2012-07-21 14:36:09 +02:00
|
|
|
|
|
2012-08-20 15:47:26 +02:00
|
|
|
|
However since version 2.0 we were trying to move from all there languages
|
|
|
|
|
and only use Python 3, which as been accomplished in version 2.1.
|
2012-07-21 14:36:09 +02:00
|
|
|
|
|
|
|
|
|
|
2012-08-19 03:30:11 +02:00
|
|
|
|
@node Shell auto-completion
|
|
|
|
|
@section Shell auto-completion
|
|
|
|
|
@cindex auto-completion, inner workings
|
|
|
|
|
@cindex shell, auto-completion
|
|
|
|
|
@cindex @command{--onelist}
|
|
|
|
|
@cindex @command{--quoters}
|
|
|
|
|
|
|
|
|
|
To make it easier to write auto-completion for shells, @command{ponysay} supports
|
|
|
|
|
the two options @command{--onelist} and @command{--quoters}, which has not short
|
|
|
|
|
versions.
|
|
|
|
|
|
|
|
|
|
Executing @command{ponysay --onelist} will list every available pony,
|
|
|
|
|
independent of where it is located, the output is a sorted and consists only
|
|
|
|
|
of one pony per line.
|
|
|
|
|
|
|
|
|
|
@command{ponysay --quoters} work just as @command{ponysay --onelist}, excepts
|
2012-08-20 15:47:26 +02:00
|
|
|
|
it limits the ponies to those that have quotes. Ponies that have quotes,
|
2012-08-19 03:30:11 +02:00
|
|
|
|
but does not exist, i.e. does not have a .pony-file, are not listed.
|
|
|
|
|
|
|
|
|
|
Auto-completion scripts should not suggest these options.
|
|
|
|
|
|
|
|
|
|
|
2012-07-21 14:36:09 +02:00
|
|
|
|
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@node Contributing
|
|
|
|
|
@chapter Contributing
|
2012-07-21 14:36:09 +02:00
|
|
|
|
@cindex contributing
|
2012-07-20 04:55:29 +02:00
|
|
|
|
|
|
|
|
|
@menu
|
2012-07-25 01:08:01 +02:00
|
|
|
|
* Providing ponies:: Providing ponies.
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
|
|
@node Providing ponies
|
|
|
|
|
@section Providing ponies
|
|
|
|
|
@cindex create pony file
|
|
|
|
|
|
|
|
|
|
Most pony images are browser ponies or desktop ponies, browser ponies is a port of
|
|
|
|
|
desktop ponies, implementing it in JavaScript. Browser ponies are available at
|
|
|
|
|
@url{https://github.com/panzi/Browser-Ponies}. Desktop ponies are available at
|
|
|
|
|
@url{http://desktop-pony-team.deviantart.com/}.
|
|
|
|
|
|
|
|
|
|
There is also a collection of ponies that are not yet pixelated in a Java reimplementation:
|
|
|
|
|
@url{https://github.com/maandree/unisay/tree/develop/dev/newponies}
|
2012-07-21 14:36:09 +02:00
|
|
|
|
|
2012-08-20 15:47:26 +02:00
|
|
|
|
There is a checklist named @code{"pony-checklist"} at the @code{"dev/"} directory.
|
|
|
|
|
You can use the check which ponies are added and which are not.
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@*
|
|
|
|
|
|
|
|
|
|
New ponies can be created from regular images by using util-say, which is available
|
|
|
|
|
at @url{https://github.com/maandree/util-say}.
|
2012-08-20 15:47:26 +02:00
|
|
|
|
Prior to version 2.1 of @command{ponysay}, @command{img2xterm} could be used, by since
|
|
|
|
|
version 2.1 @command{ponysay} is using a new format that only util-say supports.
|
|
|
|
|
@command{img2xterm} (@url{https://github.com/rossy2401/img2xterm}) was used in the
|
|
|
|
|
early stage, but util-say tries to optimise the images in some aspects: as good as
|
|
|
|
|
possible for low capability terminals, tries to place the pony–balloon link, displayed
|
|
|
|
|
as good as possible when marked in the terminal (somewhat compromised by the first
|
|
|
|
|
aspect,) and same width on all rows.
|
2012-07-20 19:22:21 +02:00
|
|
|
|
|
2012-07-20 04:55:29 +02:00
|
|
|
|
Using util-say:
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex util-say
|
|
|
|
|
@cindex img2ponysay
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@example
|
|
|
|
|
img2ponysay -2 -- SOURCE_IMAGE > PONY_FILE
|
|
|
|
|
|
|
|
|
|
PONY_FILE should end with .pony and be localed in ponies/
|
|
|
|
|
|
|
|
|
|
Omit -2 if the source image does not use double pixel size.
|
|
|
|
|
|
|
|
|
|
For more information see:
|
|
|
|
|
@url{https://github.com/maandree/util-say/wiki/img2ponysay}
|
|
|
|
|
@end example
|
|
|
|
|
|
|
|
|
|
@*
|
|
|
|
|
@cindex ttypony
|
|
|
|
|
When a pony is added please also add a ttypony version, i.e. the pony files used in TTY,
|
|
|
|
|
but if you don't please state so in the pull request so we do not miss the create it;
|
|
|
|
|
the simplest way to do this is to run @command{make -B ttyponies} after adding the ponies
|
|
|
|
|
to @code{ponies/}, running @command{make -B ttyponies} will build (or rebuild) all
|
|
|
|
|
ttyponies with a pony present in @code{ponies/}, and creates all needed symlinks.
|
|
|
|
|
|
|
|
|
|
To be able to run @command{make -B ttyponies} you must have the packages listed under
|
|
|
|
|
@ref{Dependencies for pony providers}.
|
|
|
|
|
|
2012-08-20 15:47:26 +02:00
|
|
|
|
@cindex ponyquotes
|
|
|
|
|
@cindex quotes
|
|
|
|
|
Also when adding new ponies, please map them up in the file @code{"ponyquotes/ponies"}.
|
|
|
|
|
If the pony is a new pony without any other alternative image just add it to a new
|
|
|
|
|
line, without @code{.pony}, preferably in its alphabetical position.
|
|
|
|
|
If the file is a symlink add it to the same line as the target pony, and if the
|
|
|
|
|
pony has and alternative image add it the the same line as that pony. Ponies on
|
|
|
|
|
the same line are separated with a plus sign (@code{+}) without any white space.
|
|
|
|
|
When a line is too long for a file name (this has happened to Pinkie Pie
|
|
|
|
|
[@code{pinkie}],) it must be split into multiple lines, this line should have their
|
|
|
|
|
first pony file in common.
|
|
|
|
|
|
2012-07-20 04:55:29 +02:00
|
|
|
|
|
|
|
|
|
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@node Change log
|
|
|
|
|
@appendix Change log
|
|
|
|
|
@cindex change log
|
|
|
|
|
@cindex versions
|
|
|
|
|
@cindex previous releases
|
|
|
|
|
|
2012-08-20 21:46:52 +02:00
|
|
|
|
@heading Version 2.1.1
|
|
|
|
|
|
|
|
|
|
Nothing worth mention.
|
|
|
|
|
|
2012-08-20 03:30:05 +02:00
|
|
|
|
@heading Version 2.1
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
@code{applebumkin} is renamed to @code{applebumpkin}.
|
2012-08-20 03:40:07 +02:00
|
|
|
|
@item
|
2012-08-20 04:13:59 +02:00
|
|
|
|
New ponies: @code{purplehaze}, @code{owlowiscious}
|
2012-08-20 14:17:09 +02:00
|
|
|
|
@item
|
|
|
|
|
Cowsay has be reimplemented, and have full Unicode support and support
|
|
|
|
|
for @code{figlet} style messages.
|
|
|
|
|
@item
|
|
|
|
|
Deleted environment variables: @code{PONYSAY_COWSAY}, @code{PONYSAY_COWTHINK}
|
|
|
|
|
@item
|
|
|
|
|
You will need Python 3, but not GNU Bash, Perl or Cowsay.
|
|
|
|
|
@item
|
|
|
|
|
New .pony file format is used:
|
|
|
|
|
@c BEGIN the following is too descriptive for the plain/text change log
|
|
|
|
|
@command{unisay}'s format instead of @command{cowsay}'s Perl based format.
|
|
|
|
|
This includes arbitrary position of balloon, mirrored balloon links, and
|
|
|
|
|
minimum size of balloon.
|
|
|
|
|
@c END
|
2012-08-20 03:30:05 +02:00
|
|
|
|
@end itemize
|
|
|
|
|
|
2012-08-19 01:23:54 +02:00
|
|
|
|
@heading Version 2.0
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
Makefile is generated by running @command{./configure}.
|
|
|
|
|
@item
|
|
|
|
|
All Perl scripts and almost all Bash are reimplemented in one Python 3 script.
|
|
|
|
|
@item
|
|
|
|
|
kmsponies4ponysay is included.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
2012-08-18 02:23:53 +02:00
|
|
|
|
@heading Version 1.4.1
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
Code is repaired and more portable.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
2012-08-16 07:33:05 +02:00
|
|
|
|
@heading Version 1.4
|
|
|
|
|
|
2012-08-18 02:23:53 +02:00
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
Make file is improved.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
2012-08-18 21:14:05 +02:00
|
|
|
|
@b{Note}: Identifies itself as version 1.3
|
|
|
|
|
|
2012-07-30 21:41:18 +02:00
|
|
|
|
@heading Version 1.3
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
2012-07-31 06:46:58 +02:00
|
|
|
|
New ponies: @code{forestspirit}, @code{hollydash}, @code{raggedy}, @code{rhyme}
|
|
|
|
|
@item
|
|
|
|
|
@code{sindy} is renamed to @code{powderrouge}.
|
|
|
|
|
Pony symlinks added:
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item @code{sindy} → @code{powderrouge}
|
2012-07-30 21:41:18 +02:00
|
|
|
|
@end itemize
|
2012-08-14 22:42:06 +02:00
|
|
|
|
@item
|
2012-08-20 14:17:09 +02:00
|
|
|
|
@code{PREFIX=/some-dir} can be used when invoking @command{make},
|
|
|
|
|
the default value is @code{/usr}
|
2012-08-14 22:19:35 +02:00
|
|
|
|
@end itemize
|
2012-07-30 21:41:18 +02:00
|
|
|
|
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@heading Version 1.2
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
ponyquotes4ponysay is included.
|
|
|
|
|
@item
|
|
|
|
|
Support for extension: kmsponies4ponysay.
|
|
|
|
|
@item
|
2012-07-27 01:07:15 +02:00
|
|
|
|
Pony symlinks added:
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item @code{mrsparkle} → @code{nightlight}
|
2012-07-31 06:46:58 +02:00
|
|
|
|
@item @code{elsie} → @code{prettyvision}
|
2012-07-27 01:07:15 +02:00
|
|
|
|
@end itemize
|
|
|
|
|
@item
|
2012-07-30 21:41:18 +02:00
|
|
|
|
New ponies: @code{ace}, @code{blueblood}, @code{filthyrich}, @code{gingergold},
|
|
|
|
|
@code{hayfever}, @code{highscore}, @code{junebug}, @code{mrsparkle},
|
|
|
|
|
@code{persnickety}, @code{ponet}, @code{screwloose}, @code{tornadobolt}.
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@item
|
2012-07-30 02:47:42 +02:00
|
|
|
|
@code{elsie} is renamed to @code{prettyvision}.
|
|
|
|
|
@item
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@cindex @command{-f}
|
|
|
|
|
Arbitrary spaces in @command{-f} argument is not longer accepted (it causes problems with
|
|
|
|
|
file names including spaces.)
|
|
|
|
|
@end itemize
|
|
|
|
|
|
2012-08-01 03:33:30 +02:00
|
|
|
|
@b{Note}: Identifies itself as version 1.1
|
|
|
|
|
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@heading Version 1.1
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
Manpages are compressed before installation.
|
|
|
|
|
@item
|
|
|
|
|
@command{info} manual added.
|
|
|
|
|
@item
|
|
|
|
|
Shell completion for @command{ponythink} added, in addition to @command{ponysay}.
|
|
|
|
|
@item
|
|
|
|
|
@command{fish} completion added.
|
|
|
|
|
@item
|
|
|
|
|
@code{/usr/lib/ponysay} is used instead of @code{/usr/bin} for code used by the main script.
|
|
|
|
|
@item
|
|
|
|
|
@code{~/.local/share/ponysay} is used for private pony directories.
|
|
|
|
|
@item
|
|
|
|
|
@command{ncurses} is no longer needed for determining the screen's size,
|
|
|
|
|
@command{coreutils} is used instead.
|
|
|
|
|
@item
|
|
|
|
|
Pony symlinks added:
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item @code{amethyststar} → @code{sparkler}
|
|
|
|
|
@item @code{berrypinch} → @code{ruby}
|
|
|
|
|
@item @code{craftycrate} → @code{boxxy}
|
|
|
|
|
@item @code{magnum} → @code{raritysdad}
|
|
|
|
|
@item @code{pearl} → @code{raritysmom}
|
|
|
|
|
@item @code{powderrouge} → @code{sindy}
|
|
|
|
|
@item @code{royalribbo} → @code{violet}
|
|
|
|
|
@end itemize
|
|
|
|
|
@item
|
|
|
|
|
@w{New ponies:} @code{blossomforth}, @code{bonvoyage}, @code{cadance}, @code{celestiasmall},
|
|
|
|
|
@code{changelingqueen}, @code{cherryberry}, @code{discordamused}, @code{discordpuppetmaster},
|
|
|
|
|
@code{fleurdelishair}, @code{fleurdelislay}, @code{owl}, @code{perrypierce}, @code{petunia},
|
|
|
|
|
@code{pinacolada}, @code{skyra}, @code{truffleshuffle}.
|
|
|
|
|
@item
|
|
|
|
|
Pony spelling removed: @code{fillycadence}.
|
|
|
|
|
@item
|
|
|
|
|
Pony symlink change: @code{perry} → @{@code{pokey} → @code{perrypierce}@}.
|
|
|
|
|
@item
|
|
|
|
|
@cindex @command{-L}
|
|
|
|
|
Option @command{-L} added, lists ponies with symlink mapping.
|
|
|
|
|
@item
|
|
|
|
|
Support for extension: ponyquotes4ponysay.
|
|
|
|
|
@item
|
|
|
|
|
@cindex @command{-f}
|
|
|
|
|
Accepts arbitrary spaces in @command{-f} argument.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@heading Version 1.0
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
Spanish translation of the manpage is added.
|
|
|
|
|
@item
|
|
|
|
|
@w{New ponies:} @code{applecore}, @code{applejackscarecrow}, @code{bonbonstand},
|
|
|
|
|
@code{changeling}, @code{chrysalis}, @code{cottoncloudy}, @code{diamondmint},
|
|
|
|
|
@code{discord}, @code{fillycadence}, @code{flam}, @code{fleurdelis}, @code{flim},
|
2012-07-28 03:47:50 +02:00
|
|
|
|
@code{fluttershyshy}, @code{fluttershystare}, @code{lyrasit}, @w{@code{oinkoinkoink}
|
|
|
|
|
(is pinkie)}, @code{philomenaphoenix}, @code{pinkiecannon}, @code{pinkiecannonfront},
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@code{pinkiecannonhappy}, @code{pinkiegummy}, @code{pinkiehugfluttershy},
|
|
|
|
|
@code{pinkiehugsfluttershy}, @code{pinkiepartycannon}, @code{pinkieprincess},
|
|
|
|
|
@code{pinkiesilly}, @code{pinkietongue}, @code{pinkiewhoops}, @code{pinkiewhoopseat},
|
|
|
|
|
@code{pinkiewhoopsout}, @code{rainbowdrag}, @code{rainbowsalute}, @code{rainbowshine},
|
|
|
|
|
@code{raritydrama}, @code{shiningarmor}, @code{shiningarmorguard}, @code{snowflake},
|
|
|
|
|
@code{spikemustache}, @code{stevenmagnet}, @code{stevenmagnettrue},
|
|
|
|
|
@code{twilightcrazyfromball}, @code{twilightrage}, @code{twilightzero}, @code{wildfire}.
|
|
|
|
|
@item
|
|
|
|
|
Pony symlinks added:
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item @code{djpon-3} → @code{vinyl}
|
|
|
|
|
@item @code{fillycadance} → @code{fillycadence}
|
|
|
|
|
@item @code{horsepower} → @code{snowflake}
|
|
|
|
|
@end itemize
|
|
|
|
|
@item
|
|
|
|
|
Improved TTY support: ponies have low colours resolution, instead of monochrome,
|
|
|
|
|
when the high colour resolution is not available.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@heading Version 0.10
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
Manpage manual added.
|
|
|
|
|
@item
|
|
|
|
|
The directories for pony directories are changed from @code{/usr/share} to
|
|
|
|
|
@code{/usr/share/ponysay} and @code{~} to @code{~/.ponysay}.
|
|
|
|
|
@item
|
|
|
|
|
Pony symlinks added:
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item @code{carrottop} → @code{carrot}
|
|
|
|
|
@item @code{goldenharvest} → @code{carrot}
|
|
|
|
|
@item @code{harpass} → @code{lyra}
|
|
|
|
|
@item @code{heartstrings} → @code{lyra}
|
|
|
|
|
@item @code{lulamoon} → @code{trixie}
|
|
|
|
|
@item @code{minuette} → @code{colgate}
|
|
|
|
|
@item @code{noteworthy} → @code{blues}
|
|
|
|
|
@item @code{perry} → @code{pokey}
|
|
|
|
|
@item @code{pokeypierce} → @code{pokey}
|
|
|
|
|
@item @code{timeturner} → @code{doctornohat}
|
|
|
|
|
@item @code{trixielulamoon} → @code{trixie}
|
|
|
|
|
@item @code{twilightvelvet} → @code{mrssparkle}
|
|
|
|
|
@end itemize
|
|
|
|
|
@item
|
|
|
|
|
Support for truncating output on height, enabled by default under TTY.
|
|
|
|
|
@item
|
|
|
|
|
Environment variables added: @code{PONYSAY_FULL_WIDTH}, @code{PONYSAY_SHELL_LINES},
|
|
|
|
|
@code{PONYSAY_TRUNCATE_HEIGHT}, @code{PONYSAY_BOTTOM}.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@heading Version 0.9
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
Output truncated on width to fit screen.
|
|
|
|
|
@item
|
|
|
|
|
Support for TTY (Linux VT).
|
|
|
|
|
@item
|
|
|
|
|
@command{bash} completion added.
|
|
|
|
|
@item
|
|
|
|
|
@command{zsh} completion added.
|
|
|
|
|
@item
|
|
|
|
|
@w{New ponies}: @code{allie}, @code{archer}, @code{boxxy}, @code{carecake}, @code{cupcake},
|
|
|
|
|
@code{daringdo}, @code{davenport}, @code{fancypants}, @code{ironwillwalk}, @code{lily},
|
|
|
|
|
@code{lunafly}, @code{maredowellfly}, @code{maredowellgallop}, @code{master}, @code{mjolna},
|
|
|
|
|
@code{orange}, @code{raritysdad}, @code{raritysmom}, @code{royalnightguard}, @code{ruby},
|
|
|
|
|
@code{sparkler}, @code{violet}.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@heading Version 0.8
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
@w{New ponies}: @code{aloe}, @code{angle}, @code{applebloom}, @code{applebumkin},
|
|
|
|
|
@code{applefritter}, @code{berrypunch}, @code{bigmac}, @code{blinkie}, @code{blues},
|
|
|
|
|
@code{braeburn}, @code{caesar}, @code{candymane}, @code{caramel}, @code{cheerilee},
|
|
|
|
|
@code{cheerilee80}, @code{clyde}, @code{colgate}, @code{colton}, @code{daisy},
|
|
|
|
|
@code{derpystand}, @code{derpystandwing}, @code{diamondtiara}, @code{dinky},
|
|
|
|
|
@code{doctornohat}, @code{elsie}, @code{fido}, @code{fillycelestia}, @code{fillydash},
|
|
|
|
|
@code{fillydashfly}, @code{fillyjack}, @code{fillyjacktravel}, @code{fillypinkie},
|
|
|
|
|
@code{fillypinkiecurly}, @code{fillyrarity}, @code{fillyshy}, @code{fluttershygala},
|
|
|
|
|
@code{gilda}, @code{gildastand}, @code{granny}, @code{grannychair}, @code{grannysleep},
|
|
|
|
|
@code{gummy}, @code{hoity}, @code{horte}, @code{inky}, @code{laflour}, @code{lightning},
|
|
|
|
|
@code{lintsalot}, @code{lotus}, @code{mayor}, @code{mrssparkle}, @code{nightmare},
|
|
|
|
|
@code{opal}, @code{parasprite}, @code{philomena}, @code{photofinish}, @code{pinkamina},
|
|
|
|
|
@code{pinkiebounce}, @code{pinkiechicken}, @code{pinkiegala}, @code{pipsqueak},
|
|
|
|
|
@code{pokey}, @code{rainbowfly}, @code{rainbowgala}, @code{rainbowsleep}, @code{raindrops},
|
|
|
|
|
@code{rarityfly}, @code{raritygala}, @code{rarityponder}, @code{redheart}, @code{rocky},
|
|
|
|
|
@code{rose}, @code{rover}, @code{royalguard}, @code{sapphire}, @code{scootaloo},
|
|
|
|
|
@code{screwball}, @code{shadowbolts}, @code{silverspoon}, @code{silverstar}, @code{sindy},
|
|
|
|
|
@code{snails}, @code{snips}, @code{soarin}, @code{soigne}, @code{spike}, @code{spikefloat},
|
|
|
|
|
@code{spikelove}, @code{spot}, @code{stella}, @code{strongheart}, @code{sue},
|
|
|
|
|
@code{suedance}, @code{tank}, @code{trixiestage}, @code{trixiestand}, @code{turnip},
|
|
|
|
|
@code{twist}, @code{winona}.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@b{Note}: Identifies itself as version 0.7
|
|
|
|
|
|
|
|
|
|
@heading Version 0.7
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
@w{New ponies}: @code{carrot}, @code{octavia}, @code{trixie}, @code{vinyl}, @code{zecora}.
|
|
|
|
|
@item
|
|
|
|
|
@cindex @command{-l}
|
|
|
|
|
Support for listing ponies with @command{-l} option.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@heading Version 0.6
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
@w{New ponies}: @code{bonbon}, @code{celestia}, @code{doctor}, @code{fillistia},
|
2012-07-28 01:46:55 +02:00
|
|
|
|
@code{spitfire}, @w{@code{woona} (not moonstuck)}.
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@item
|
|
|
|
|
Dropping usage of utility @command{which}, using @command{hash} instead.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@b{Note}: Identifies itself as version 0.5
|
|
|
|
|
|
|
|
|
|
@heading Version 0.5
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
2012-08-15 20:45:08 +02:00
|
|
|
|
Using utility @command{which} to determine existence of @command{cowsay}.
|
2012-07-26 05:18:09 +02:00
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@heading Version 0.4
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
@code{.cow} files are removed.
|
|
|
|
|
@item
|
|
|
|
|
@cindex @command{-W}
|
|
|
|
|
Support for @command{-W} option.
|
|
|
|
|
@item
|
|
|
|
|
Select random pony if not specified.
|
|
|
|
|
@item
|
|
|
|
|
@cindex @command{-f}
|
|
|
|
|
@command{-f} supports file names, and not only pony names.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@heading Version 0.3
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
Fixed use of @code{.pony} files.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@heading Version 0.2
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
Pony files end with @code{.pony} instead of @code{.cow}.
|
|
|
|
|
@item
|
|
|
|
|
@code{lyrasleep} is renamed to @code{lyra}.
|
|
|
|
|
@item
|
|
|
|
|
@code{.cow} files are kept but not used.
|
|
|
|
|
@item
|
|
|
|
|
@cindex @command{-h}
|
|
|
|
|
@command{-h} prints proper help.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@heading Version 0.1
|
|
|
|
|
|
|
|
|
|
First release.
|
|
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
@w{Includes the ponies}: @code{applejack}, @code{derpy}, @code{derpysit},
|
|
|
|
|
@code{fluttershy}, @code{luna}, @code{lyrasleep}, @code{pinkie}, @code{rainbow},
|
|
|
|
|
@code{rarity}, @code{sweetie}, @code{twilight}.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
|
2012-07-20 04:55:29 +02:00
|
|
|
|
|
2012-08-15 20:45:08 +02:00
|
|
|
|
@node Ponysay contributors
|
|
|
|
|
@appendix Ponysay contributors
|
2012-07-20 04:55:29 +02:00
|
|
|
|
|
2012-08-19 03:16:13 +02:00
|
|
|
|
Active developers and major contributors of ponysay:
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@itemize @bullet
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@item Erkin ``erkin'' Batu Altunbaş
|
|
|
|
|
@item Mattias ``maandree'' Andrée
|
|
|
|
|
@item Elis ``etu'' Axelsson
|
|
|
|
|
@item Sven-Hendrik ``svenstaro'' Haase
|
|
|
|
|
@item Pablo ``jristz'' Lezaeta
|
|
|
|
|
@item Jan Alexander ``heftig'' Steffens
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@end itemize
|
|
|
|
|
@*
|
|
|
|
|
Patchers and other contributors of ponysay:
|
|
|
|
|
@itemize @bullet
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@item Duane ``Marneus68'' Bekaert
|
|
|
|
|
@item Kyah ``L-four'' Rindlisbacher
|
2012-08-19 04:55:38 +02:00
|
|
|
|
@item James ``rossy2401'' Ross-Gowan
|
2012-08-19 03:16:13 +02:00
|
|
|
|
@item Louis ``kragniz'' Taylor
|
|
|
|
|
@item Jannis ``sycoso''
|
|
|
|
|
@item ``spider-mario''
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
|
2012-08-19 03:30:11 +02:00
|
|
|
|
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@node Ponysay license
|
|
|
|
|
@appendix Ponysay license
|
|
|
|
|
|
|
|
|
|
Ponysay is Free Software (yet not Open Source) and in licensed under the terms
|
2012-08-15 20:45:08 +02:00
|
|
|
|
of Do What The Fuck You Want To Public License (WTFPL) version 2.
|
2012-07-20 04:55:29 +02:00
|
|
|
|
|
|
|
|
|
You have the four essential freedoms:
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item
|
|
|
|
|
The freedom to run the program, for any purpose (freedom 0).
|
|
|
|
|
@item
|
2012-08-19 03:16:13 +02:00
|
|
|
|
The freedom to study how the program works, and change it so it does your
|
|
|
|
|
computing as you wish (freedom 1). Access to the source code is a precondition
|
|
|
|
|
for this.
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@item
|
2012-07-20 18:33:04 +02:00
|
|
|
|
The freedom to redistribute copies so you can help your neighbour (freedom 2).
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@item
|
2012-08-19 03:16:13 +02:00
|
|
|
|
The freedom to distribute copies of your modified versions to others (freedom 3).
|
|
|
|
|
By doing this you can give the whole community a chance to benefit from your
|
|
|
|
|
changes. Access to the source code is a precondition for this.
|
2012-07-20 04:55:29 +02:00
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@*
|
|
|
|
|
|
|
|
|
|
@center DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
|
|
|
|
@center Version 2, December 2004
|
|
|
|
|
|
|
|
|
|
Copyright @copyright{} 2012 Erkin Batu Altunbaş
|
|
|
|
|
|
|
|
|
|
@quotation
|
|
|
|
|
Everyone is permitted to copy and distribute verbatim or modified
|
|
|
|
|
copies of this license document, and changing it is allowed as long
|
|
|
|
|
as the name is changed.
|
|
|
|
|
|
|
|
|
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
|
|
|
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
|
|
|
|
|
|
|
|
0. You just DO WHAT THE FUCK YOU WANT TO.
|
|
|
|
|
@end quotation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@node GNU Free Documentation License
|
|
|
|
|
@appendix GNU Free Documentation License
|
|
|
|
|
@include fdl.texinfo
|
|
|
|
|
|
|
|
|
|
@node Concept index
|
|
|
|
|
@appendix Concept index
|
|
|
|
|
@printindex cp
|
|
|
|
|
|
2012-07-20 01:44:47 +02:00
|
|
|
|
|
2012-07-19 22:05:33 +02:00
|
|
|
|
@bye
|
|
|
|
|
|