ponysay - Cowsay reimplementation for ponies
] [--] [message
] [--] [message
displays an image of a pony saying some text provided by the user
in a terminal. If message
is not provided, it accepts standard input,
word-wraps the message given at about 60 columns, and prints the pony saying
the given message on standard output.
If no arguments are provided, the program only accepts standard input piped from
another program, a file or either here documents or here strings (see man
bash(1) for details on here document/string.)
is to ponysay
is to cowsay
For an extensive documentation run `info ponysay`.
A summary of options is included below.
- -h, --help
- Show summary of options.
- -v, --version
- Show version of program.
- -f, --file, --pony name
- Select a pony (either a file name or a pony name), you can use this option
multiple times, and one of the will be selected randomly.
- +f, ++file, ++pony name
- Select a pony outside of My Little Pony: Friendship is Magic (either a
file name or a pony name), you can use this options multiple times, and
one of the will be selected randomly.
- -F, --any-file, --anyfile, --anypony --any-pony name
- This option combines -f and +f.
- --f, --files, --ponies [name...]
- Variadic variant of -f, meaning that all arguments added after this
one will parsed as an argument to this option.
- ++f, ++files, ++ponies [name...]
- Variadic variant of +f, meaning that all arguments added after this
one will parsed as an argument to this option.
- --F, --any-files, --anyfiles, --anyponies --any-ponies
- This option combines --f and ++f.
- -q, --quote [name...]
- By using this option, a pony will be printed with quotes from her in My
Little Pony: Friendship is Magic. The pony will be selected randomly,
unless at least one pony is added as an argument to -q. If more
than one pony is added as an argument to -q, the pony will be
selected randomly from that set of ponies.
- --q, --quotes [name...]
- Variadic variant of -q, meaning that all arguments added after this
one will parsed as an argument to this option. Additionally, those options
are added to -q.
- -b, --bubble, --balloon style
- Specify the balloon style that should used, this can either be a file name
or a balloon name printed by ponysay -B.
- -W, --wrap column
- The screen column where the message should be wrapped, the balloon's extra
width is taken into consideration. If the argument is not a number, but
starts instead with n, no wrapping is done, and if it starts with
i the width of the terminal is used.
- -c, --compress, --compact [ANSI-colour]
- Compress the message in the same way cowsay does, that is basically
without multiple spaces, and only paragraphs separations.
- -l, --list
- List pony files.
- -L, --symlist, --altlist
- List pony files with alternative names inside brackets.
- +l, ++list
- List non-MLP:FiM pony files.
- +L, ++symlist, ++altlist
- List non-MLP:FiM pony files with alternative names inside brackets.
- -B, --bubblelist, --balloonlist style
- Prints a list of all balloon styles.
- -A, --all
- List all pony files, MLP:FiM and non-MLP:FiM, in this case the first list
are MLP:FiM and the second are non-MLP:FiM.
- +A, ++all, --symall, --altall
- List all pony files, including alternatives names inside brackets, these
from MLP:FiM and non-MLP:FiM the first list are the MLP:FiM and the second
one are non-MLP:FiM.
- -o, --pony-only, --ponyonly
- Just print the pony, nothing else like the speech balloon.
- -i, --info
- By adding this flag you will get a meta-data for a pony printed, rather
than the pony itself.
- +i, ++info
- This works just like the -i option, except the pony will use the
output has her message rather that just print that information.
- -r, --restriction
- This option is used to restrict which ponies can be randomly select based
one their meta-data. A value in the argument is a combination of the tag
name and tag value on the form NAME=VALUE.
- -X, --256-colours, --256colours, --x-colours
- Use xterm’s 256-colour support (supported by most X11
terminals), despite your terminal’s actual compatibilities.
- -V, --tty-colours, --ttycolours, --vt-colours
- Use Linux VT’s compatibilities without KMS utilisation,
despite your terminal’s actual compatibilities.
- -K, --kms-colours, --kmscolours
- Use Linux VT’s compatibilities with KMS utilisation, despite
your terminal’s actual compatibilities. (May not work with all KMS
- +c, --colour [ANSI-colour]
- Colour the balloon, including link and message. For more colouring
features, see the info manual. The argument, ANSI-colour,
should be a ANSI colour sequence without leading CSI and without a tailing
m, for example 1;31 will make it in red and bold (or bright
depending on the terminal.)
- --colour-bubble, --colour-balloon [ANSI-colour]
- Just like --colour, but it only colours the balloon, without the
message or link.
- --colour-link [ANSI-colour]
- Just like --colour, but it only colours the balloon link.
- --colour-msg, --colour-message [ANSI-colour]
- Just like --colour, but it only colours the message.
- --colour-pony [ANSI-colour]
- Just like --colour, but it colours the pony. This colouring has no
effect on regular pony files, as it has its own colouring.
- --colour-wrap, --colour-hyphen [ANSI-colour]
- Just like --colour, but it colours hyphen added by the word
wrapping. if you want uncoloured use 0, the default is 31.
- Under TTY (Linux VT), if the output is larger the the screen's height,
only the beginning is printed, leaving two blank lines. If you want the
bottom to be printed rather the the beginning you can export
PONYSAY_BOTTOM with the value yes, y or
- 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 PONYSAY_SHELL_LINES with the value of how many blank lines
- You can export PONYSAY_FULL_WIDTH with the value yes,
y or 1, if you do not want the output to be truncated on the
width to fit the terminal.
- Export PONYSAY_TRUNCATE_HEIGHT with the value yes, y
or 1, if you want to truncate the output on the height even if you
are not running ponysay under TTY.
- Export PONYSAY_UCS_ME with the value yes, y or
1, if you want [simulated] symlink to pony files using Universal
Character Set in their names.
- PONYSAY_KMS_PALETTE, PONYSAY_KMS_PALETTE_CMD
- PONYSAY_KMS_PALETTE or PONYSAY_KMS_PALETTE_CMD is used to
tell ponysay how your TTY palette looks, this feature lets you get
the best images in TTY if you have Kernel Mode Setting (KMS) support.
- ponysay is able to auto-correct misspelled pony names and balloon
style name. Without consideration for transpositioning, by default if the
weighted distance is greater than 5 for the closest words, auto-correction
ignored. This limit can be changed by exporting the limit to
PONYSAY_TYPO_LIMIT; setting the limit to zero will disable
- You can export what ponysay should use instead of a hyphen when wrapping
- Defines how long a word must be to be hyphenated. This is used to wrap
words that are long so the output gets as pretty as possible. This is not
the only condition under which a word can be hyphenated, it can also be
hyphenated if the word cannot fit otherwise.
- Defines how much a word must exceed the wrapping point to be hyphenated.
This setting is used together with PONYSAY_WRAP_LIMIT.
Bugs can be reported in < https://github.com/erkin/ponysay/issues
ponysay was written by Erkin Batu Altunbaş <email@example.com>
with contributions from Mattias Andrée, Elis Axelsson, Sven-Hendrik
Haase, Pablo Lezaeta, Jan Alexander Steffens et al.
This manual page was originally written by Louis Taylor
<firstname.lastname@example.org> for the Debian GNU/Linux project (and may be used by
others), and been edited by the ponysay authors for the official ponysay
This program is licensed under GNU GPLv3+.