SMILEY(1)

NAME
smiley - print or explain smileys

SYNOPSIS
smiley [-V] [-e] [-l] [-f] [smiley...]

DESCRIPTION
Smiley is a program for smiley junkies who like to have all the smileys at their fingertips.

The options have the following meaning:

-V  Print the version of the program and the number of faces and definitions.

-e  Explain the face found in the environment variable SMILEY.

-l  Print a listing of all the known smileys, with explanations.

-f  Print a random smiley, face only.

smiley
    Explain the given smiley.

When invoked with no arguments, smiley prints a random smiley with an explanation.

EXAMPLE
Here are some ksh(1) functions that put a smiley into your prompt.

ps1sed()
    Transform the standard input so that it will display properly when it is made part of PS1 in ksh. (That is, quote ! $ \ if they appear.) These are the transformations:

        !    →    !!
        $    →    \$
        \    →    \\

    Note that a ! must be doubled instead of quoted with \ in order to display.

    ps1sed()
    {
    	sed 's/!/&&/g
    		s/[$\\]/\\&/g'
    }

ps1()
    Put a new smiley into PS1. Use ps1sed to make sure any characters in the smiley that are special to the shell are quoted appropriately.

    ps1()
    {
    	export SMILEY="`smiley -f`"
    	PS1=`print -r - "$SMILEY" | ps1sed`" "
    }

CAVEATS
The list of smileys is the personal collection of the author, so there are bound to be some missing.

Multiline smileys and the ``invisible smiley'' are absent from smiley because the author does not want a multiline or invisible prompt.

AUTHOR
DaviD W. Sanderson    (dws@cs.wisc.edu)

COPYRIGHT
(C) Copyright 1991 by DaviD W. Sanderson