Advertisement
ktostupid

panel_bar

Dec 14th, 2015
379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.41 KB | None | 0 0
  1. #! /bin/sh
  2.  
  3. . ~/.config/bspwm/panel/colors
  4.  
  5. num_mon=$(bspc query -M | wc -l)
  6. PADDING=" "
  7. PADDING2="  "
  8.  
  9. while read -r line ; do
  10.     case $line in
  11.         C*)
  12.             # clock output
  13.             clock="%{B$CLR4}%{F$CLR0}${line#?}$PADDING$PADDING%{F-}%{B-}"
  14.             ;;
  15.  
  16.         D*)
  17.             # date output
  18.             date="%{B$CLR4}%{F$CLR0}$PADDING${line#?}|%{F-}%{B-}"
  19.             ;;
  20.        
  21.         E*)
  22.             # email alerts
  23.             email="%{B$CLR2}%{F$CLR_BG}$PADDING${line#?}$PADDING$PADDING%{F-}%{B-}"
  24.             ;;
  25.  
  26.         L*)
  27.             # app launcher
  28.             appl="%{F$CLR5}%{A:xfce4-appfinder:}$PADDING2${line#?}$PADDING2%{A}%{F-}"
  29.             ;;
  30.  
  31.         P*)
  32.             # power button
  33.             powe="%{F$CLR1}%{A:systemctl poweroff:}$PADDING${line#?}$PADDING2%{A}%{F-}"
  34.             ;;
  35.        
  36.         R*)
  37.             # music info
  38.             music="$PADDING2${line#?}$PADDING2"
  39.             ;;
  40.        
  41.         S*)
  42.             # conky
  43.             sys_infos="${line#?}$PADDING"
  44.             ;;
  45.        
  46.         Y*)
  47.             # weather
  48.             weather="%{B$CLR2}%{F$CLR_BG}$PADDING${line#?}°С$PADDING%{F-}%{B-}"
  49.             ;;
  50.        
  51.         W*)
  52.             # bspwm internal state
  53.             wm_infos=""
  54.             IFS=':'
  55.             set -- ${line#?}
  56.             while [ $# -gt 0 ] ; do
  57.                 item=$1
  58.                 name=${item#?}
  59.                 case $item in
  60.                     M*)
  61.                         # active monitor
  62.                         if [ $num_mon -gt 1 ] ; then
  63.                             wm_infos="$wm_infos %{F$CLR5}$PADDING${name}$PADDING%{F-}  "
  64.                         fi
  65.                         ;;
  66.                     m*)
  67.                         # inactive monitor
  68.                         if [ $num_mon -gt 1 ] ; then
  69.                             wm_infos="$wm_infos %{F$CLR6}$PADDING${name}$PADDING%{F-}  "
  70.                         fi
  71.                         ;;
  72.                     O*)
  73.                         # focused occupied desktop
  74.                         wm_infos="${wm_infos}%{F$CLR4}%{U$CLR4}%{+o}$PADDING${name}$PADDING%{-o}%{F-}"
  75.                         ;;
  76.                     F*)
  77.                         # focused free desktop
  78.                         wm_infos="${wm_infos}%{F$CLR4}%{U$CLR4}%{+o}$PADDING${name}$PADDING%{-o}%{F-}"
  79.                         ;;
  80.                     U*)
  81.                         # focused urgent desktop
  82.                         wm_infos="${wm_infos}%{F$CLR3}%{U$CLR3}%{+o}$PADDING${name}$PADDING%{-o}%{F-}"
  83.                         ;;
  84.                     o*)
  85.                         # occupied desktop
  86.                         wm_infos="${wm_infos}%{F$CLR4}%{A:bspc desktop -f ${name}:}$PADDING${name}$PADDING%{A}%{F-}"
  87.                         ;;
  88.                     f*)
  89.                         # free desktop
  90.                         wm_infos="${wm_infos}%{F$CLR_FG}%{A:bspc desktop -f ${name}:}$PADDING${name}$PADDING%{A}%{F-}"
  91.                         ;;
  92.                     u*)
  93.                         # urgent desktop
  94.                         wm_infos="${wm_infos}%{F$CLR2}%{A:bspc desktop -f ${name}:}$PADDING${name}$PADDING%{A}%{F-}"
  95.                         ;;
  96.                 esac
  97.                 shift
  98.             done
  99.             ;;
  100.     esac
  101.     printf "%s\n" "%{l}${powe}%{c}${appl}${wm_infos}${music}%{r}${sys_infos}${weather}${email}${date}${clock}"
  102. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement