#!/bin/bash
PROGNAME=$(basename $0)
#  $HeadURL: http://dione.no-ip.org/svn/ade/tags/1.7.6/lib/templates/lxsmall/bin/lxsmall $ $LastChangedRevision: 3171 $
TMP_DIR=${TMP_DIR:-/var/tmp}

main()
{
    #  Defaults for options
    VERBOSELEVEL=2
    TARGET=0

    #  Process options
    while [ "X$1" != X ]; do
        case "$1" in
            -h|--help)    usage 0 ;;
            -v|--verbose) VERBOSELEVEL=3 ;;
            -d)           VERBOSELEVEL=$2; shift ;;
            --debug=*)    VERBOSELEVEL=${1#*=} ;;
            -b)           TARGET=0 ;;
            -i)           TARGET=1 ;;
            -w)           TARGET=2 ;;
            --)           shift; break ;;
            -*)           usage ;;
            *)            break ;;
        esac
        shift
    done

    #  Process arguments
    [ "X$1" != X -a "X$2" = X ] || usage
    LABEL="$1"

    #  Sanity checks

    #  Guts
    echo -e -n "\e]$TARGET;$LABEL\a"
}

usage()
{
    local RC=${1:-1}

    {
        echo "Usage:   $PROGNAME [ <options> ]"
        echo
        echo "Options: -v         | --verbose          be verbose"
        echo "         -d <level> | --debug=<level>    be more verbose"
        echo "         -h         | --help             display this help"
        #  App-specific
        echo "         -i <label>                      label icon only"
        echo "         -w <label>                      label window only"
        echo "         -b <label>                      label both (default)"
    } | if [ $RC = 0 ]; then
        cat
    else
        cat >&2
    fi

    exit $RC
}

internal() {                             echo "$PROGNAME: INTERNAL ERROR: $1" >&2; exit 2; }
error()    { [ $VERBOSELEVEL -lt 1  ] || echo "$PROGNAME: ERROR: $1"          >&2; exit 1; }
warning()  { [ $VERBOSELEVEL -lt 2  ] || echo "$PROGNAME: WARNING: $1"        >&2;         }
info()     { [ $VERBOSELEVEL -lt 3  ] || echo "$PROGNAME: INFO: $1"           >&2;         }
debug()    { [ $VERBOSELEVEL -lt $1 ] || echo "$PROGNAME: DEBUG[$1]: $2"      >&2;         }


main "$@"
