tvolume - scripts - various script and utils
 (HTM) git clone git://z3bra.org/scripts
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       tvolume (909B)
       ---
            1 #!/bin/sh
            2 #
            3 # z3bra - (c) wtfpl 2014
            4 
            5 CHANNEL=$(amixer | sed "1s/^.*'\(.*\)'.*$/\1/p;d")
            6 
            7 usage () {
            8     cat <<EOF
            9 usage: $(basename $0) [-hsla] [-+!]
           10     -h : print help
           11     -s : print on/off
           12     -l : print the current volume percentage (default)
           13     -a : print both level and state
           14      + : volume +5%
           15      - : volume -5%
           16      ! : toggle mute
           17 EOF
           18 }
           19 
           20 level() {
           21     amixer get $CHANNEL | sed -n 's/^.*\[\([0-9]\+\)%.*$/\1/p' | uniq
           22 }
           23 
           24 state() {
           25     amixer get $CHANNEL | sed -n 's/^.*\[\(o[nf]\+\)]$/\1/p' | uniq
           26 }
           27 
           28 # print out level and state if no argument is given
           29 test $# -eq 0 && echo "`level`" && exit 0
           30 
           31 case $1 in
           32     -h)        usage ;;
           33     -s)        state ;;
           34     -l)        level ;;
           35      up|+)     amixer set $CHANNEL 5%+ >/dev/null;;
           36      down|-)   amixer set $CHANNEL 5%- >/dev/null;;
           37      toggle|!) amixer set $CHANNEL toggle >/dev/null;;
           38      *)        amixer set $CHANNEL $1 >/dev/null;;
           39 esac