xcowsay - Display a cute cow and speech bubble.
] [-t time
] [-r speed
] [-f font
Display a cow with a speech bubble containing some text. If text
specified it will be displayed in the bubble. Otherwise the text will be read
from the standard input and displayed when end of file is encountered.
The cow is displayed for either a fixed amount of time, or an amount of time
calculated from the size of the text. Click on the cow to dismiss it
is started with --daemon
it will fork away from the
terminal and run in daemon mode. The daemon provides a DBus service
that responds to ShowCow
requests. The daemon
can queue up any number of requests and displays them in order.
starts it checks to see if a daemon is running, and if it
is, sends a ShowCow
request and returns immediately. Otherwise
will block until the cow has disappeared.
xcowsay reads a configuration file on startup. The configuration file can be
stored in the XDG compliant location $XDG_CONFIG_HOME/xcowsayrc
will default to $HOME/.config/xcowsayrc
) or in your home directory at
. If the --config=FILE
option is passed FILE
will be processed after your personal
The configuration file consists of 'option = value' pairs, one per line. The
valid keys are given in the next section. For example, the following line sets
display time to 10 seconds:
display_time = 10000
The character '#' begins a comment which lasts until the end of the line.
Values containing spaces should be enclosed in quotes. For example:
font = "mono 28"
Note that these options override any settings in the config file.
- -h, --help
- Display usage information.
- -t time, --time=time
- Display the cow for time seconds. This overrides any value set for
reading_speed. Setting time to zero displays the cow until
it is clicked. The corresponding config file option is
- -r speed, --reading-speed=speed
- Number of milliseconds to display the cow for each word in the input text.
This is clamped to a minimum of min_display_time and a maximum of
max_display_time. The defaults are 1 second and 30 seconds
respectively. The corresponding config file option is
- -f font, --font=font
- Font for the speech bubble text. Accepts Pango font strings. The
corresponding config file option is font.
- -d file, --dream=file
- Display an image instead of text in the cow's bubble. The
dream_time config file option sets the numer of milliseconds to
display the image for. The default is 10 seconds.
- Display a thought bubble instead of a speech bubble.
- Run xcowsay in daemon mode if DBus support has been enabled. See the
description for more information.
- Size of the cow image. Current choices are small, med, or
large. The corresponding config file option is
- Use a different image instead of the cow. The corresponding config file
option is alt_image.
- Make the cow appear on monitor N.
- Force that cow to appear at screen location (X,Y). The config file options
are at_x and at_y.
- Change position of bubble relative to where it would normally appear. This
is most useful when combined with the alt_image option to create
your own characters. The config file options are bubble_x and
- Disable word wrapping when the bubble is too wide to fit on the screen.
The config file option wrap can be set to true or
false to set this explicitly.
- -l, --left
- Make the bubble appear on the left hand side of the cow. This is useful if
you are using your own image.
- Print messages about what xcowsay is doing. Useful for finding out
why the daemon fails.
- Close window on release event instead of press. The corresponding config
file option is close_event=button-release-event.
- -v, --version
- Print version information.
Written by Nick Gasson.
Report all bugs to firstname.lastname@example.org The xcowsay home page is
The cow and speech bubble have jagged edges which would be improved by
anti-aliasing. Unfortunately this isn't possible without a compositing window
manager since X can only cut holes in windows using a binary mask, so I
wouldn't expect this any time soon.