CLI config/dotfiles
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
1.6 KiB

  1. #! /bin/sh
  2. #
  3. # Panel output config for lemonbar
  4. while read -r line ; do
  5. case $line in
  6. S*)
  7. # clock output
  8. sys_infos="%{F-}${line#?}%{F-}"
  9. ;;
  10. T*)
  11. # xtitle output
  12. title="%{F-}${line#?}%{F-}"
  13. ;;
  14. P*)
  15. # mic mute output
  16. mic="%{F-}${line#?}%{F-}"
  17. ;;
  18. W*)
  19. # bspwm state
  20. wm_infos=""
  21. IFS=':'
  22. set -- ${line#?}
  23. while [ $# -gt 0 ] ; do
  24. item=$1
  25. name=${item#?}
  26. case $item in
  27. [mM]*)
  28. case $item in
  29. m*)
  30. on_focused_monitor=
  31. ;;
  32. M*)
  33. on_focused_monitor=1
  34. ;;
  35. esac
  36. wm_infos="$wm_infos%{F-} %{F-}"
  37. ;;
  38. [fFoOuU]*)
  39. wm_infos="${wm_infos}%{A:bspc desktop -f ${name}:}"
  40. case $item in
  41. [OF]*)
  42. if [ "$on_focused_monitor" ]; then
  43. # focused desktop
  44. wm_infos="$wm_infos%{F#EEFFFF} ● %{F-}"
  45. else
  46. # active desktop
  47. wm_infos="$wm_infos%{F#FAE7BF} ● %{F-}"
  48. fi
  49. ;;
  50. U*)
  51. # urgent focused desktop
  52. wm_infos="$wm_infos%{F#FF0000} ● %{F-}"
  53. ;;
  54. o*)
  55. # inactive but occupied desktop
  56. wm_infos="$wm_infos%{F-} ● %{F-}"
  57. ;;
  58. f*)
  59. # inactive desktop
  60. wm_infos="$wm_infos%{F-} ○ %{F-}"
  61. ;;
  62. u*)
  63. # urgent desktop
  64. wm_infos="$wm_infos%{F#FF0000} ○ %{F-}"
  65. ;;
  66. esac
  67. wm_infos="${wm_infos}%{A}"
  68. ;;
  69. esac
  70. shift
  71. done
  72. wm_infos="$wm_infos%{F-} %{F-}"
  73. ;;
  74. esac
  75. printf "%s\n" "%{S+}%{l}%{A:sysmenu:}  %{A}$title%{c}$wm_infos%{r}$mic %{A:togglecal:}$sys_infos%{A} %{A:powermenu:}⏻%{A} "
  76. done