Advertisement
Guest User

Untitled

a guest
Mar 24th, 2013
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.93 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="" ;; 1) d="" ;;
  18.         2) d="" ;;
  19.     esac
  20.  
  21.     # current desktop
  22.     if [ $c -ne 0 ]
  23.     then bg="\b7" un="\u2" fg="\f1"
  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="0"
  33.  
  34.     in="$in$bg$fg$un $d \f8[$w] \ur\br\fr"
  35.     unset bg fg un
  36. done
  37.  
  38. # music status
  39. music="$(mpc current -f "%title% by %artist% on %album%")"
  40. if [ -z "$music" ]; then music="not playing" mstat=""
  41. else
  42.     mstat="$(mpc | sed -rn '2s/\[([[:alpha:]]+)].*/\1/p')"
  43.     [ "$mstat" == "paused" ] && mstat="" || mstat=""
  44. fi
  45.  
  46. # volume status
  47. if [ "$(amixer get Master | sed -nr '$ s:.*\[(.+)]$:\1:p')" == "off" ]
  48. then vol="[m]" vstat=""
  49. else
  50.     vol="$(amixer get PCM | sed -nr '$ s:.*\[(.+%)].*:\1:p')"
  51.     if   [ "${vol%\%}" -le 10 ]; then vstat=""
  52.     elif [ "${vol%\%}" -le 20 ]; then vstat=""; else vstat=""; fi
  53. fi
  54.  
  55. # battery
  56. bat="$(acpi | awk '{ print $4 }' | sed s/","//g)"
  57. batstat=""
  58.  
  59. # date and time
  60. date="$(date +"%H:%M, %d-%m-%Y")" dstat=""
  61.  
  62. # symbols
  63. arrow=""
  64.  
  65. printf '%s %s %s' "$in" "$arrow " "$s" "\r"
  66. printf ' \\b7\\u7\\f1 %s \\br\\ur\\fr %s' "\\f9$batstat" "$bat" "\\f6$mstat" "$music \\f8($vol)" "\\f4$dstat" "$date        "
  67. printf '\n'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement