xcowsay
Display a message with an animated cow
TLDR
Display a cow saying "hello, world"
Display a cow with output from another command
Display a cow at the specified X and Y coordinates
Display a different sized cow
Display a thought bubble instead of a speech bubble
Display a different image instead of the default cow
SYNOPSIS
xcowsay [options] [message]
xcowsay --file <file> [options]
PARAMETERS
--text
Specify the text to display. If not provided, xcowsay reads from standard input.
--file
Read the message text from the specified file instead of command-line arguments or standard input.
--image
Use a custom image file (GIF, PNG, JPEG formats supported) instead of the default cow.
--think
Display a thought bubble (indicated by ellipses) instead of a speech bubble.
--font
Set the font for the text within the bubble (e.g., 'sans 12' or 'monospace italic 10').
--color
Set the text color using a hex code (e.g., '#FF0000' for red) or a color name.
--bubble-color
Set the speech bubble's background color.
--border-color
Set the speech bubble's border color.
--size
Resize the image to the specified pixel dimensions (e.g., '200x150').
--at
Position the xcowsay window at the given X/Y coordinates on the screen.
--daemon
Run xcowsay in a daemon mode, continuously reading messages from standard input.
--word-wrap
Set the maximum line width for text wrapping in characters.
DESCRIPTION
xcowsay is a whimsical command-line utility that displays messages in a graphical speech bubble, originating from a chosen image, typically an animal. It functions as a graphical counterpart to the popular cowsay program, leveraging the X Window System to render its output. Users can input text directly, read from a file, or pipe content to xcowsay. Beyond the default cow, xcowsay allows for extensive customization, including specifying different image files (GIF, PNG, JPEG), adjusting font styles and sizes, and altering the colors of the bubble, text, and border. It can display static messages or animate the bubble's appearance. Its primary use cases range from displaying system notifications in a fun way to adding a unique touch to shell scripts and desktop environments. xcowsay is an entertaining tool that blends terminal commands with graphical output, offering a distinctive way to communicate short messages.
CAVEATS
xcowsay requires an X Window System display server to run, unlike its text-based counterpart cowsay. It relies on the libgd library for image processing, which must be installed. Running numerous instances or using very large images may consume significant system resources.
CUSTOM IMAGES AND FONTS
xcowsay supports various image formats (GIF, PNG, JPEG) via the --image option, allowing users to replace the default cow with virtually any picture. Furthermore, the --font option provides granular control over text appearance, enabling users to select any font installed on their system and specify its size, offering significant customization beyond basic ASCII art.
ANIMATION AND POSITIONING
Beyond static display, xcowsay can animate the appearance and disappearance of the bubble using --fade-in-duration and --fade-out-duration. The --at option allows precise positioning of the window on the X display, making it suitable for integrating into custom desktop scripts or notification systems where specific screen real estate needs to be utilized.
HISTORY
xcowsay emerged as a graphical extension of the popular cowsay command, which allows users to display ASCII art animals saying messages in the terminal. While cowsay is purely text-based, xcowsay was developed to leverage the capabilities of the X Window System, enabling the display of real images and animated speech bubbles. This evolution provided a more visually rich and interactive experience, making it suitable for graphical desktop environments and playful system notifications, extending the simple, humorous concept of cowsay into the GUI domain.
SEE ALSO
cowsay(1), xmessage(1), notify-send(1)