tMerge branch 'master' of z3bra.org:scripts - scripts - various script and utils
 (HTM) git clone git://z3bra.org/scripts
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
 (DIR) commit 1a93d39ffc86acf43f9abcde01e955b1ecfe403d
 (DIR) parent db5a243a3233cb0a78cf0db0bfedd64d7c103772
 (HTM) Author: z3bra <willy@mailoo.org>
       Date:   Fri, 28 Mar 2014 09:53:50 +0100
       
       Merge branch 'master' of z3bra.org:scripts
       
       Diffstat:
         M battery.sh                          |      43 ++++++++++++++++++++++++-------
         M cdump                               |       2 +-
         A deptree.sh                          |      47 +++++++++++++++++++++++++++++++
         A gamma.sh                            |      24 ++++++++++++++++++++++++
         A img                                 |       7 +++++++
         M imgt                                |       5 ++++-
         A imgurup                             |      30 ++++++++++++++++++++++++++++++
         M info.sh                             |      25 +++++++++++--------------
         A menu                                |      19 +++++++++++++++++++
         M popup                               |     126 +++++++++++++++++++++++++++----
         A prtmk                               |      73 +++++++++++++++++++++++++++++++
         A q3dl                                |      23 +++++++++++++++++++++++
         M rclick.menu                         |      33 ++++++++++++++++++++-----------
         A translate                           |      30 ++++++++++++++++++++++++++++++
         M upload                              |       2 +-
         A utf8.sh                             |      52 +++++++++++++++++++++++++++++++
         A ypl                                 |      10 ++++++++++
       
       17 files changed, 500 insertions(+), 51 deletions(-)
       ---
 (DIR) diff --git a/battery.sh b/battery.sh
       t@@ -1,17 +1,42 @@
        #!/bin/sh
        #
       -# Beep once when under 15%, twice under 10, and three times under 5%
       -# Under 3%, you're asked to shutdown
       +# beep once per level. does not beep when charging
        
       +# get battery level and status (charging or not)
        BATC=`cat /sys/class/power_supply/BAT1/capacity`
        BATS=`cat /sys/class/power_supply/BAT1/status`
        
       +# Run this if sound is enabled
       +sbell () { 
       +    beep -f 1000 -l 200 -D 50
       +}
       +
       +# and this in case of no sound enabled
       +vbell () {
       +    $HOME/bin/popup "\f1battery $BATC%"
       +}
       +
       +usage () {
       +    echo "usage: `basename $0` [<low> <critical> <dead>]"
       +    exit 1
       +}
       +
       +level () {
       +    echo "$BATC%"
       +    exit 0
       +}
       +
       +# If no argurments, return battery level
       +test "$#" -eq 0 && level
       +
       +# if less than 3 args, learn how to use, dumb
       +test "$#" -lt 3 && usage
       +
       +# if battery is charging, do not alert user
        test "$BATS" == "Charging" && exit
        
       -if test $BATC -gt 3; then
       -    test $BATC -lt 15 && beep -f1000 -l200 -D50
       -    test $BATC -lt 10 && beep -f1000 -l200 -D50
       -    test $BATC -lt 5  && beep -f1000 -l200 -D50
       -else
       -    test $BATC -lt 3 && espeak 'Battery is empty, please shut down'
       -fi
       +test $BATC -lt $1 && sbell  # one bip for level <low>
       +test $BATC -lt $2 && sbell  # two bip for level <critical>
       +test $BATC -lt $3 && sbell  # battery is <dead>, bip 3 times
       +
       +test $BATC -lt $1 && vbell # popup a notification under <low> level
 (DIR) diff --git a/cdump b/cdump
       t@@ -1,6 +1,6 @@
        #!/bin/sh
        
       -FILE=$HOME/.Xresources
       +FILE=$HOME/etc/Xresources
        
        for NUM in {0..7}; do
              CN=$(grep "color${NUM}:" $FILE | cut -d':' -f2 | tr -d ' ')
 (DIR) diff --git a/deptree.sh b/deptree.sh
       t@@ -0,0 +1,47 @@
       +#!/bin/bash
       +#
       +# (c) wtfpl by z3bra
       +# deptree; List dependencies that are installed ONLY for <packages>
       +
       +
       +test $# -ne 1 && echo "`basename $0 <package>`" && exit 1
       +
       +deplist=''
       +level=0
       +
       +# needless to bother with any f**king locale here
       +export LC_ALL=en_US
       +
       +indent() {
       +    for i in `seq 0 $1`; do
       +        echo -n '  '
       +    done
       +}
       +
       +dependent() {
       +    IFS=' ><=' read pkg version<<< "$1"
       +
       +    exec 2>/dev/null
       +    dep=`pacman -Qi $pkg | grep 'Required By' | sed 's/^.*: //'`
       +    opt=`pacman -Qi $pkg | grep 'Optional Deps' | sed 's/^.*: //'`
       +
       +    test "$dep" = "None" && echo $opt || echo $dep
       +}
       +
       +deplist() {
       +    IFS=' ><=' read pkg version<<< "$1"
       +
       +    exec 2>/dev/null
       +    pacman -Qi $pkg | grep 'Depends On' | sed 's/^.*: //' | grep -Ev 'None|--'
       +}
       +
       +listdep() {
       +    list=`deplist $1 | sed 's/[<>=]*[.0-9]*//g'`
       +
       +    for pkg in $list; do
       +        isdep=`dependent $pkg`
       +        test "$1" = "$isdep" && echo $pkg
       +    done
       +}
       +
       +listdep $1
 (DIR) diff --git a/gamma.sh b/gamma.sh
       t@@ -0,0 +1,24 @@
       +#!/bin/sh
       +
       +usage () {
       +    echo "usage: `basename $0` <get|up|down|reset> [value]"
       +}
       +
       +test "$#" -lt 1 && usage && exit
       +test -n "$2" && amount=$2 || amount=0.1
       +
       +gamma=`grep RedGamma ~/.nvidia| cut -d= -f2`
       +old=$gamma
       +
       +case $1 in
       +    get)  echo $gamma; exit ;;
       +    up)   gamma=`bc <<< "$gamma + $amount"` ;;
       +    down) gamma=`bc <<< "$gamma - $amount"` ;;
       +    reset)gamma="1.000000" ;;
       +    *) usage && exit ;;
       +esac
       +
       +echo "$old -> $gamma"
       +
       +nvidia-settings -a [DPY:DVI-I-0]/Gamma=$gamma >/dev/null
       +sed -i "/Gamma/s/$old/$gamma/" ~/.nvidia
 (DIR) diff --git a/img b/img
       t@@ -0,0 +1,7 @@
       +#!/bin/sh
       +
       +IMAGE=/tmp/`basename $1`
       +echo "Downloading image.."
       +curl -s "$1" > $IMAGE
       +meh $IMAGE
       +rm $IMAGE
 (DIR) diff --git a/imgt b/imgt
       t@@ -8,11 +8,14 @@ W3MIMGDISPLAY="/usr/lib/w3m/w3mimgdisplay"
        FILENAME=$1
        FONTH=14 # Size of one terminal row
        FONTW=8  # Size of one terminal column
       +BORDER=20
        COLUMNS=`tput cols`
        LINES=`tput lines`
        
        read width height <<< `echo -e "5;$FILENAME" | $W3MIMGDISPLAY`
        
       +offx=$(($BORDER / $FONTH))
       +offy=$(($BORDER / $FONTW))
        max_width=$(($FONTW * $COLUMNS))
        max_height=$(($FONTH * $LINES))
        
       t@@ -25,7 +28,7 @@ if test $height -gt $max_height; then
            height=$max_height
        fi
        
       -w3m_command="0;1;0;0;$width;$height;;;;;$FILENAME\n4;\n3;"
       +w3m_command="0;1;$offx;$offy;$width;$height;;;;;$FILENAME\n4;\n3;"
        
        clear
        tput cup $(($height/$FONTH)) 0
 (DIR) diff --git a/imgurup b/imgurup
       t@@ -0,0 +1,30 @@
       +#!/bin/sh
       +
       +# upload images to imgur.com
       +# appends links and deletion links to the log
       +# depends: curl
       +
       +# check if all args exist as files
       +for F in "$@"; do
       +    if ! test -f "$F"; then
       +        echo usage: $(basename $0) image ... && exit 1
       +    fi
       +done
       +
       +LOG=$HOME/.imgurlog
       +
       +# from http://imgur.com/tools/imgurbash.sh
       +APIKEY='b3625162d3418ac51a9ee805b1840452'
       +
       +# upload all
       +for IMG in "$@"; do
       +    RESP=$(curl -F "image=@$IMG" -F "key=$APIKEY" \
       +        http://imgur.com/api/upload.xml 2> /dev/null)
       +
       +    URL=$(echo $RESP | sed 's|.*<original_image>\(.*\)</original_image>.*|\1|')
       +    DELETEURL=$(echo $RESP | sed 's|.*<delete_page>\(.*\)</delete_page>.*|\1|')
       +
       +    echo "$URL" >> $LOG
       +    echo "$DELETEURL" >> $LOG
       +    echo "$URL"
       +done
 (DIR) diff --git a/info.sh b/info.sh
       t@@ -1,5 +1,8 @@
        #!/bin/sh
        
       +gitdir=http://git.z3bra.org
       +myblog=http://blog.z3bra.org
       +
        c00=$'\e[0;30m'
        c01=$'\e[0;31m'
        c02=$'\e[0;32m'
       t@@ -21,28 +24,22 @@ f0=$'\e[1;30m'
        f1=$'\e[1;37m'
        f2=$'\e[0;37m'
        
       -kernel=$(uname -rmo)
       -#cpuspe=$(grep 'model name' /proc/cpuinfo| sed 1q|sed 's/^.*:\ *//')
       -cpuspe=$(sed -n '/model\ name/s/^.*:\ //p' /proc/cpuinfo | uniq)
       -
       -#system=$(lsb_release -d | sed 's/^.*:\s*//')
       -system=$(cat /etc/issue|cut -d\\ -f1)
       +kernel=`uname -rmo`
       +cpuspe="`sed -n '/model\ name/s/^.*:\ //p' /proc/cpuinfo | uniq` (x`nproc`)"
       +system=`sed 's/\s*[\(\\]\+.*$//' /etc/issue`
        
        if [ -n "$DISPLAY" ]; then
       -    wmname=$(xprop -root WM_NAME|cut -d\" -f2)
       -    termfn=$(sed -n 's/^.*\*font:\ *-[a-z]*-\([^-]*\)-.*/\1/p' ~/.Xresources)
       -    systfn=$(sed -n 's/^.*font.*"\(.*\)".*$/\1/p' ~/.gtkrc-2.0)
       +    wmname=`xprop -root WM_NAME|cut -d\" -f2`
       +    termfn=`sed -n 's/^.*\*font:\s* -\*-\([^-]*\)-.*/\1/p' ~/.Xresources`
       +    systfn=`sed -n 's/^.*font.*"\(.*\)".*$/\1/p' ~/.gtkrc-2.0`
        else
            wmname="none"
            termfn="none"
            systfn="none"
        fi
        
       -pkgnum=$(pacman -Q|wc -l)
       -birthd=$(sed -n '1s/^\[\([0-9-]*\).*$/\1/p' /var/log/pacman.log | tr - .)
       -
       -gitdir=git.z3bra.org
       -myblog=blog.z3bra.org
       +pkgnum=`pacman -Q|wc -l`
       +birthd=`sed -n '1s/^\[\([0-9-]*\).*$/\1/p' /var/log/pacman.log | tr - .`
        
        cat << EOF
        ${c00}▉▉  | ${f1}OS ${f0}........... $f2$system
 (DIR) diff --git a/menu b/menu
       t@@ -0,0 +1,19 @@
       +#!/bin/sh
       +X=1790
       +Y=820
       +
       +if which xdpyinfo >/dev/null; then
       +    dimensions=`xdpyinfo -ext XINERAMA | grep 'head #0' | sed 's/^  head #//p'`
       +
       +    IFS=' :x@,' read i w h x y <<< "$dimensions"
       +fi
       +
       +X=`expr ${w} - 120 - 10`
       +Y=`expr ${h} - 240 - 10`
       +
       +thingmenu -x -s -g 120x120+${X}+${Y} \
       +    "pop a terminal"    "urxvt" \
       +    "browse the web"    "surf || dwb" \
       +    "view a pdf"        "mupdf || zathura" \
       +    "play a game"       "steam" \
       +    "restart 2bwm"      "pkill 2bwm; 2bwm" 2> /dev/null
 (DIR) diff --git a/popup b/popup
       t@@ -4,26 +4,126 @@
        # Create a small popup with the given text
        
        TEXT='none'
       -GEOM="32x6+20+20"
       -PRETTY="toilet --gay -f smblock"
       -SLEEP=1
       +SLEEP=3
        
       -volume() {
       -    VOLUME=`amixer sget Master |
       -            sed -n 's/^.*\[\([0-9/]*%\)\].*\[\(o[nf]\+\)\]$/\1 (\2)/p'| uniq`
       -    echo $VOLUME
       +# bar options
       +font="-*-gohufont-medium-*-*--11-*-*-*-*-*-iso10646-1"
       +bg="#1d1d1d"
       +fg="#ffffff"
       +hl="#4c4c4c"
       +width=120
       +height=20
       +offx=1790
       +offy=790
       +
       +usage() {
       +    echo "`basename $0` [-hb] [-d delay] [-x offx] [-y offy] [-w width] [TEXT]"
        }
        
        spawn() {
       -    #urxvt -geometry $GEOM -e sh -c "echo;echo ' $@'|$PRETTY; sleep $SLEEP"
       -    (echo "\c\f8 $@";sleep $SLEEP)|bar -w 96
       +    (echo "%{c}$@";sleep $SLEEP) | bar -g $geom -f $font -B $bg -F $fg
       +}
       +
       +loop() {
       +    (while :; do
       +        echo "%{c}`$1`"
       +        sleep $SLEEP
       +    done) | bar -g $geom -f $font -B $bg -F $fg
       +}
       +
       +getvol() {
       +    vol=`amixer sget Master |
       +    sed -n 's/^.*\[\([0-9/]*%\)\].*\[\(o[nf]\+\)\]$/\1 (\2)/p' |
       +    uniq`
       +    case $1 in
       +        value) echo $vol | sed 's/%.*$//' ;;
       +        state) echo $vol | sed -n 's/^.*(\([onf]*\))/\1/p' ;;
       +        *) echo $vol ;;
       +    esac
       +}
       +
       +volume() {
       +    test "`getvol state`" = "off" && echo -n "muted - "
       +    echo -n "`getvol value`%%"
       +}
       +
       +volumebar() {
       +    max=10
       +    cur=$((`getvol value` / max))
       +
       +    test "`getvol state`" = "off" && fg='#d43f10'
       +
       +    for v in $(seq 1 $((max - 1))); do
       +        if [ "$v" -lt "$cur" ]; then
       +             val="$val%{F${fg}}━━"
       +         else
       +             val="$val%{F${hl}}━━"
       +        fi
       +    done
       +
       +    echo -n "${val}"
        }
        
       -test -z "$1" && exit 1
       +battery() {
       +    BATC=`cat /sys/class/power_supply/BAT1/capacity`
       +    BATS=`cat /sys/class/power_supply/BAT1/status`
       +    echo "$BATC%% ($BATS)"
       +}
       +
       +mail() {
       +    echo "`fcount ~/var/mail/INBOX/new` new mail!"
       +}
       +
       +date() {
       +    date "+%d/%m/%y \(%H:%M\)"
       +}
       +
       +group() {
       +    cur=`xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}'`
       +    num=`xprop -root _NET_NUMBER_OF_DESKTOPS | awk '{print $3}'`
       +
       +    val=''
       +
       +    for w in $(seq 1 $((num - 1))); do
       +        if [ "$w" -eq "$cur" ]; then
       +             val="$val%{F${fg}}━━"
       +         else
       +             val="$val%{F${hl}}━━"
       +        fi
       +    done
       +
       +    echo -n "${val}"
       +}
       +
       +test "$#" -lt 1 && exit 1
       +
       +while getopts ":bd:hlw:x:y:" opt; do
       +    case $opt in
       +        b) BEEP=1        ;;
       +        l) LOOP=1        ;;
       +        d) SLEEP=$OPTARG ;;
       +        w) width=$OPTARG ;;
       +        x) offx=$OPTARG  ;;
       +        y) offy=$OPTARG  ;;
       +        h) usage; exit 0 ;;
       +        *) usage; exit 1 ;;
       +    esac
       +done
       +
       +geom=${width}x${height}+${offx}+${offy}
       +
       +shift $(( OPTIND - 1 ));
        
        case $1 in
       -    volume) TEXT=`volume`;;
       -    *) TEXT=$@;;
       +    volumebar|volume|battery|mail|date|group)
       +        TEXT=`$1`
       +        FUNC="$1" ;;
       +    *)
       +        TEXT="$@" 
       +        FUNC="echo $TEXT"
       +        ;;
        esac
        
       -spawn "$TEXT"
       +# can be *REALLY* annoying
       +test -n "$BEEP" && beep -f 1500 -d 20 -l 100
       +test -n "$LOOP" && loop "$FUNC" || spawn "$TEXT"
 (DIR) diff --git a/prtmk b/prtmk
       t@@ -0,0 +1,73 @@
       +#!/bin/sh
       +
       +PKGFILE=~/src/ports/Pkgfile
       +PORTDIR=~/usr/ports
       +test -z $EDITOR && EDITOR=vim
       +
       +echo_color () {
       +    tput bold
       +    tput setaf $1
       +    shift
       +
       +    echo "$@"
       +
       +    tput sgr0
       +}
       +
       +read -p 'Name : ' name
       +read -p 'Description : ' description
       +read -p 'Version : ' version
       +read -p 'URL : ' url
       +read -p 'Maintainer : ' daddy
       +read -p 'Depends on : ' depends
       +read -p 'Source : ' sources
       +
       +source=${source/$name/\$name}
       +source=${source/$version/\$version}
       +
       +PORTDIR=$PORTDIR/$name
       +
       +if test "$version" = "git"; then
       +    git_url=$sources
       +    sources=''
       +
       +    PKGFILE=${PKGFILE}-git
       +    PORTDIR=${PORTDIR}-git
       +fi
       +
       +echo -n "creating port $name .. "
       +mkdir $PORTDIR
       +
       +if cd $PORTDIR; then
       +    echo_color 2 OK
       +else
       +    echo_color 1 FAIL
       +    exit 1
       +fi
       +
       +echo -n "copying Pkgfile .. "
       +cp $PKGFILE Pkgfile
       +
       +if test -f $PORTDIR/Pkgfile; then
       +    echo_color 2 OK
       +else
       +    echo_color 1 FAIL
       +    exit 1
       +fi
       +
       +echo -n "filling Pkgfile .. "
       +sed \
       +    -e "s__DESCRIPTION__$description" \
       +    -e "s__URL__$url" \
       +    -e "s__MAINTAINER__$daddy" \
       +    -e "s__DEPENDENCIES__$depends" \
       +    -e "s__NAME__$name" \
       +    -e "s__VERSION__$version" \
       +    -e "s__SOURCE__$sources" \
       +    -e "s__GIT_URL__$git_url" \
       +    -i $PORTDIR/Pkgfile
       +echo_color 2 OK
       +
       +echo -n "openning Pkgfile for fixes .. "
       +$EDITOR Pkgfile
       +echo_color 2 OK
 (DIR) diff --git a/q3dl b/q3dl
       t@@ -0,0 +1,23 @@
       +#!/bin/sh
       +
       +q3df='http://ws.q3df.org/maps/downloads'
       +map=$1
       +
       +W="\033[1;37m"
       +R="\033[1;31m"
       +G="\033[1;32m"
       +N="\033[0m"
       +
       +echo -ne "Fetching map ${W}${map}.pk3 ${N}.. "
       +
       +curl -s "${q3df}/${map}.pk3" > /tmp/q3map.zip
       +
       +if unzip -p /tmp/q3map.zip >/dev/null 2>&1 ; then
       +    mv /tmp/q3map.zip ~/.q3a/baseq3/${map}.pk3
       +    echo -e "[${G}DONE${N}]"
       +else
       +    echo -e "[${R}FAIL${N}]"
       +    rm /tmp/q3map.zip
       +fi
       +
       +exit 0
 (DIR) diff --git a/rclick.menu b/rclick.menu
       t@@ -1,15 +1,24 @@
        #!/usr/bin/9menu -file
        -popup
        -geometry 8x16
       --font -misc-tamsyn-medium-r-normal--14-101-100-100-c-70-iso8859-1
       -tmnl:urxvt
       -fluid:fluid
       - --- :true
       -mail:urxvt -e mutt
       -www:surf http://duckduckgo.com/lite
       -rdktp:srv mdc97302
       -vnc:vnc-E4_6_3-x64_linux_viewer
       -    ---    :true
       -restart:pkill 2bwm;2bwm
       -quit:pkill xclock
       -off:poweroff
       +-font -misc-tamsyn-medium-r-normal--12-87-100-100-c-60-iso8859-1
       + COMMON ---- :true
       +        tmnl :urxvt
       +         www :dwb
       +        mail :urxvt -e mutt
       + GAMES ----- :true
       +       steam :steam
       +      defrag :ioquake3 +set fs_game defrag
       +        2048 :surf http://gabrielecirulli.github.io/2048/
       +   teeworlds :teeworlds
       + sauerbraten :sauerbraten-client
       + WORK ------ :true
       +       mstsc :~/bin/srv fic97302
       +         vnc :vncviewer
       +        fltk :fluid ~/src/cpp/cico/src/fltk.fl
       +         pdf :zathura || mupdf
       + SESSION --- :true
       +     restart :pkill 2bwm;2bwm
       +        quit :pkill xclock
       +      reboot :reboot
       +   power off :poweroff
 (DIR) diff --git a/translate b/translate
       t@@ -0,0 +1,30 @@
       +#!/bin/sh
       +
       +# use the google translate service
       +# depends: curl
       +
       +if test -z "$1"; then
       +    echo "usage: $(basename $0) text"
       +    echo "examples:"
       +    echo "    $(basename $0) text"
       +    echo "    TL=el $(basename $0) text"
       +    echo "    SL=en TL=pl $(basename $0) text"
       +    exit 1
       +fi
       +
       +TEXT=$1
       +SL=$(test -n "$SL" && echo "$SL" || echo auto)
       +TL=$(test -n "$TL" && echo "$TL" || echo en)
       +
       +TRANSLATEURL='http://translate.google.com/'
       +UA='Mozilla 5.0'
       +NEWLINE='\
       +'
       +
       +# do translate
       +curl --user-agent "$UA" \
       +    --data "sl=$SL" \
       +    --data "tl=$TL" \
       +    --data-urlencode "text=$TEXT" \
       +    --silent $TRANSLATEURL \
       +    | sed "s/<\/span>/$NEWLINE/g" | grep 'result_box' | sed 's/.*>//'
 (DIR) diff --git a/upload b/upload
       t@@ -1,4 +1,4 @@
       -#!/usr/bin/bash
       +#!/bin/bash
        
        host=gavroche
        user=willy
 (DIR) diff --git a/utf8.sh b/utf8.sh
       t@@ -0,0 +1,52 @@
       +#!/bin/bash
       +
       +usage() {
       +
       +    echo "`basename $0` [min max] (min, max: 0x0000..0xffff)"
       +
       +}
       +
       +fast_chr() {
       +    local __octal
       +    local __char
       +    printf -v __octal '%03o' $1
       +    printf -v __char \\$__octal
       +    REPLY=$__char
       +}
       +
       +function unichr {
       +    local c=$1  # ordinal of char
       +    local l=0   # byte ctr
       +    local o=63  # ceiling
       +    local p=128 # accum. bits
       +    local s=''  # output string
       +
       +    (( c < 0x80 )) && { fast_chr "$c"; echo -n "$REPLY"; return; }
       +
       +    while (( c > o )); do
       +        fast_chr $(( t = 0x80 | c & 0x3f ))
       +        s="$REPLY$s"
       +        (( c >>= 6, l++, p += o+1, o>>=1 ))
       +    done
       +
       +    fast_chr $(( t = p | c ))
       +    echo -n "$REPLY$s "
       +}
       +
       +min=0xe000
       +max=0xe1a0
       +
       +if test $# -gt 1; then
       +    if test $# -eq 2; then
       +        min=$1
       +        max=$2
       +    fi
       +else
       +    usage
       +    exit 1
       +fi
       +
       +## test harness
       +for (( i=$min; i<$max; i++ )); do
       +    unichr $i
       +done
 (DIR) diff --git a/ypl b/ypl
       t@@ -0,0 +1,10 @@
       +#!/bin/sh
       +# See the LICENSE file for copyright and license details.
       +
       +MCMD="mplayer %u"
       +if [ -z "$CACA_DRIVER" -a -z "$DISPLAY" ];
       +then
       +        export CACA_DRIVER=ncurses
       +        MCMD="mplayer -vo caca %u"
       +fi
       +quvi --exec "$MCMD" "$1"