lemonblocks (2390B)
1 #!/bin/sh 2 3 _desktops() { 4 #desktops=$(bspc query -D --names) 5 active_desktop=$(bspc query -D -d --names) 6 for d in $(bspc query -D -m --names); do 7 [ $active_desktop = $d ] && item="%{R} $d %{R}" || item=" $d " 8 ret="$ret$item" 9 done 10 echo "$ret " 11 } 12 13 _keymap() { 14 cat "$XDG_CONFIG_HOME/keymaps/current-layout" 15 } 16 17 _window_title() { 18 echo "" 19 } 20 21 # mute icon: \uf6a9 22 _volume() { 23 _vol_info=$(amixer sget Master | grep "Front Left:") 24 _vol=$(echo $_vol_info | awk '{print $5}' | tr -d "[]%")% 25 [ "$(echo $_vol_info | awk '{print $7}')" = "[off]" ] && _vol="M" 26 echo -e " V$_vol " 27 } 28 29 _battery() { 30 batinfo=$(acpi --battery) 31 BATPERC=B$(echo $batinfo | cut -d, -f2 | cut -d" " -f2 | cut -d% -f1) 32 state=$(echo $batinfo | awk '{print $3}' | cut -d, -f1) 33 34 bat=" $BATPERC% " 35 36 if [ "$state" = "Discharging" ]; then 37 [ "$BATPERC" = "15" ] && notify-send --urgency=low "Lavt batteri!" "15%" 38 [ "$BATPERC" = "10" ] && notify-send --urgency=normal "Veldig lavt batteri!" "10%" 39 [ "$BATPERC" -lt "6" ] && notify-send --urgency=critical "Ektremt lavt batteri!" "$BATPERC%" 40 41 if [ "$BATPERC" -lt "11" ]; then 42 bat="%{B#ff0000} $BATPERC% %{B-}" 43 elif [ "$BATPERC" -lt "41" ]; then 44 bat="%{B#ffff00}%{F#000000} $BATPERC% %{F-}%{B-}" 45 fi 46 elif [ "$state" = "Full" ]; then 47 bat="%{B#00ff00}%{F#000000} $BATPERC% %{F-}%{B-}" 48 fi 49 50 echo "$bat" 51 } 52 53 _clock() { 54 #DATETIME=$(date "+%A %d. %B %Y - %I:%M") 55 #DATETIME=$(date "+%-I:%-M") 56 #DATETIME=$(ordur) 57 DATETIME=$(brøkur) 58 echo "$DATETIME" 59 } 60 61 _window_title() { 62 _title=`bspc query --node focused.window -T | jq ".client.className"` 63 _title="${_title%\"}" 64 _title="${_title#\"}" 65 echo "$_title" 66 } 67 68 _update() { 69 echo -e "%{l}$desks%{c}$(_clock)%{r}$keym%{R} $vol %{R}$(_battery)" & 70 wait 71 } 72 73 _update_desktops() { 74 desks=$(_desktops) 75 _update 76 } 77 78 _update_volume() { 79 vol=$(_volume) 80 _update 81 } 82 83 _update_keymap() { 84 keym=" $(_keymap) " 85 _update 86 } 87 88 _update_window_title() { 89 #while true; do 90 win_title=" $(_window_title) " 91 _update 92 # sleep 1s 93 # wait 94 #done 95 } 96 97 _update_desktops > /dev/null 98 _update_volume > /dev/null 99 _update_keymap > /dev/null 100 # _update_window_title > /dev/null 101 102 _lemonblocks() { 103 trap "_update_desktops" SIGRTMIN+1 104 trap "_update_volume" SIGRTMIN+2 105 trap "_update_keymap" SIGRTMIN+3 106 107 while true; do 108 _update 109 sleep 1m & 110 wait 111 done 112 } 113 114 _lemonblocks | lemonbar -p -g x24 -B "#44111111" -F "#FFFFFF" -f "Go:size=10" | $SHELL 115