Skip to content

Instantly share code, notes, and snippets.

@pinguinson
Last active August 29, 2015 14:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pinguinson/736222650d3e6e8ea8b1 to your computer and use it in GitHub Desktop.
Save pinguinson/736222650d3e6e8ea8b1 to your computer and use it in GitHub Desktop.
panel
#! /bin/zsh
PANEL_FIFO=/tmp/panel-fifo
PANEL_HEIGHT=25
PANEL_FONT_FAMILY="Monaco:size=9"
ICON_FONT="FontAwesome:size=11"
if [ $(pgrep -cx panel) -gt 1 ]; then
printf "%s\n" "The panel is already running." >&2
exit 1
fi
trap 'trap - TERM; kill 0' INT TERM QUIT EXIT
[ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO"
mkfifo "$PANEL_FIFO"
bspc config top_padding $PANEL_HEIGHT
bspc control --subscribe > "$PANEL_FIFO" &
# clock
while true; do
echo 'C\uf017' $(date +"%H:%M")
sleep 5
done > "$PANEL_FIFO" &
# date
while true; do
echo 'D\uf073' $(date +'%a'), $(date +'%b %e')
sleep 100
done > $PANEL_FIFO &
# alsa volume
while true; do
ALSA_VOLUME=$(amixer get Master | grep 'Mono:' | grep -o '...%' | sed 's/\[//' | sed 's/%//' | sed 's/ //')
ALSA_STATE=$(amixer get Master | grep 'Mono:' | grep -o '\[on]')
if [ $ALSA_STATE ]; then
if [ $ALSA_VOLUME -ge 70 ]; then
echo V'\uf028' $ALSA_VOLUME%
elif [ $ALSA_VOLUME -gt 0 -a $ALSA_VOLUME -lt 70 ]; then
echo V'\uf027' $ALSA_VOLUME%
elif [ $ALSA_VOLUME -eq 0 ]; then
echo V'\uf026' $ALSA_VOLUME%
fi
else
echo V'\uf026' $ALSA_VOLUME%
fi
sleep 1
done > $PANEL_FIFO &
# wifi
while true; do
SSID=$(sudo iw dev wlp1s0b1 link | grep SSID | sed 's/.*://' | sed 's/ //')
CONNECTION_STATE=$(sudo iw dev wlp1s0b1 link | grep SSID)
if [ $CONNECTION_STATE ]; then
echo N'\uf1eb' $SSID
else
echo N'\uf1eb' Disconnected
fi
sleep 5
done > $PANEL_FIFO &
# battery
while true; do
BATTERY_LEVEL=$(acpi --battery | awk -F " " '{print $4}' | sed 's/%//' | sed 's/,//')
if [ $BATTERY_LEVEL -ge 95 ]; then
echo B'\uf240' $BATTERY_LEVEL%
elif [ $BATTERY_LEVEL -ge 70 -a $BATTERY_LEVEL -lt 95 ]; then
echo B'\uf241' $BATTERY_LEVEL%
elif [ $BATTERY_LEVEL -ge 40 -a $BATTERY_LEVEL -lt 70 ]; then
echo B'\uf242' $BATTERY_LEVEL%
elif [ $BATTERY_LEVEL -ge 20 -a $BATTERY_LEVEL -lt 40 ]; then
echo B'\uf243' $BATTERY_LEVEL%
elif [ $BATTERY_LEVEL -ge 0 -a $BATTERY_LEVEL -lt 20 ]; then
echo B'\uf244' $BATTERY_LEVEL%
fi
sleep 20
done > $PANEL_FIFO &
. panel_colors
cat "$PANEL_FIFO" | panel_bar | lemonbar -g x$PANEL_HEIGHT -f "$PANEL_FONT_FAMILY" -f "$ICON_FONT" -F "$COLOR_FOREGROUND" -B "$COLOR_BACKGROUND" -u 2 | zsh &
wait
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment