Created
March 2, 2020 19:45
-
-
Save kiedtl/8c22d4bd7f5c463af7497cbe1de95775 to your computer and use it in GitHub Desktop.
z-brah's bar
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
bg=#00ffffff | |
fg=#ff666b7d | |
fn='IBM Plex Mono:pixelsize=14:antialias=true:autohint=true' | |
clock() { | |
LANG=fr_FR.UTF-8 printf '%s %%{R} %s %%{R}' "$(date '+%a %d')" "$(date +%H:%M)" | |
} | |
wifi() { | |
if=${1:-wlp2s0} | |
rfkill="$(LC_ALL=C rfkill -r | grep wlan | cut -d ' ' -f 4)" | |
[ "$rfkill" = "blocked" ] && return | |
ssid=$(iwgetid -r $if) | |
printf 'ssid %%{R} %s %%{R}' "${ssid:--}" | |
} | |
# my ethernet and wifi cards are bonded together, so I check the active slave to | |
# know where I'm connected. | |
# Most people use a network manager instead to switch between networks (which sucks | |
# if ask me, but hey, to each their own!). | |
bonding() { | |
if=$(grep 'Currently Active Slave:' /proc/net/bonding/${1:-bond0} | cut -d ' ' -f4) | |
case $if in | |
wlp2s0) wifi $if ;; | |
enp0s31f6) printf 'wired %%{R} %s %%{R}' $if ;; | |
*) printf '%%{R} offline %%{R}' ;; | |
esac | |
} | |
# click on volume to toggle it | |
# mouse scroll on volume to increase/decrease | |
# require scripts named "speakers" and "microphone" to be in $PATH to work | |
sound() { | |
printf 'vol %%{R} ' | |
printf '%%{A:speakers toggle:}' | |
printf '%%{A4:speakers 5%%+:}' | |
printf '%%{A5:speakers 5%%-:}' | |
printf '%s%%{A}%%{A}%%{A}' "$(speakers)" | |
printf ' %%{R} mic %%{R} ' | |
printf '%%{A:microphone toggle:}' | |
printf '%%{A4:microphone 5%%+:}' | |
printf '%%{A5:microphone 5%%-:}' | |
printf '%s%%{A}%%{A}%%{A}' "$(microphone)" | |
printf ' %%{R}' | |
} | |
battery() { | |
lvl="$(cat /sys/class/power_supply/$1/capacity)" | |
ac="$(cat /sys/class/power_supply/$1/status)" | |
case $ac in | |
Charging) ac='+' ;; | |
*) ac='' ;; | |
esac | |
printf '%d%%%c\n' "$lvl" "$ac" | |
} | |
while sleep 1; do | |
printf '%%{c} %s %s %s %s %s %s\n' \ | |
"$(bonding bond0)" \ | |
"$(sound)" \ | |
"$(clock)" \ | |
"$(battery BAT0)" | |
done| lemonbar -db -B "$bg" -F "$fg" -f "$fn" -g 1920x32+0+0 | sh |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment