Advertisement
Y99drasil

statusinfo.sh

Mar 1st, 2013
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 1.82 KB | None | 0 0
  1. #!/usr/bin/env sh
  2.  
  3. # expects a line from monsterwm's output as argument ("$1")
  4. # prints formatted output to be used as input for bar
  5. # reference: bar by LemonBoy -- https://github.com/LemonBoy/bar
  6.  
  7. # desktop status
  8. for desk; do
  9.    d="${desk%%:*}" desk="${desk#*:}" # desktop id
  10.    w="${desk%%:*}" desk="${desk#*:}" # window count
  11.    l="${desk%%:*}" desk="${desk#*:}" # layout mode
  12.    c="${desk%%:*}" desk="${desk#*:}" # is current desktop
  13.    u="$desk"                         # has urgent hint
  14.  
  15.    # desktop id
  16.    case "$d" in
  17.     0) d="[term]" ;; 1) d="[webz]" ;;
  18.  2) d="[code]" ;; 3) d="[play]" ;;
  19.    esac
  20.  
  21.    # current desktop
  22.    if [ $c -ne 0 ]
  23.    then bg="\b7" un="\u6" fg="\f9"
  24.        case "$l" in
  25.         0) s="" ;; 1) s="" ;; 2) s="" ;;
  26.            3) s="" ;; 4) s="" ;;
  27.        esac && s="\b8\u8 $s \br\ur"
  28.    fi
  29.  
  30.    # has urgent hint or no windows
  31.    [ $u -ne 0 ] && un="\u2"
  32.    [ $w -eq 0 ] && w="-"
  33.  
  34.    in="$in$bg$fg$un $d \f8\ur[$w} \br\fr"
  35.    unset bg fg un
  36. done
  37.  
  38.  
  39. # music status
  40. music="$(mpc current -f "%artist% - [%title%|%file%]")"
  41. if [ -z "$music" ]; then music="nothing to see here" mstat=""
  42. else
  43.    mstat="$(mpc | sed -rn '2s/\[([[:alpha:]]+)].*/\1/p')"
  44.    [ "$mstat" == "paused" ] && mstat="" || mstat=""
  45. fi
  46.  
  47. # volume status
  48. if [ "$(amixer get Master | sed -nr '$ s:.*\[(.+)]$:\1:p')" == "off" ]
  49. then vol="[m]" vstat=""
  50. else
  51.    vol="$(amixer get Master | sed -nr '$ s:.*\[(.+%)].*:\1:p')"
  52.    if   [ "${vol%\%}" -le 10 ]; then vstat=""
  53.    elif [ "${vol%\%}" -le 20 ]; then vstat=""; else vstat=""; fi
  54. fi
  55.  
  56. # date and time
  57. date="$(date +"%R")" dstat=""
  58.  
  59. # symbols
  60. arrow=""
  61.  
  62. printf '%s %s %s' "$in" "$arrow " "$s" "\r"
  63. printf ' \\b7\\f1 %s \\br\\ur\\fr %s' "$mstat" "$music" "$vstat" "$vol" "$dstat" "$date "
  64. printf '\n'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement