dotfiles/scripts/sway/swaystatus
2024-07-11 17:49:06 -06:00

53 lines
1.3 KiB
Bash
Executable file

#!/bin/sh
separator=" "
get_todo() {
todo="$(calcurse -t | wc -l)"
[ "$todo" = "0" ] && return 0
echo "$todo"
}
get_apts() {
apts="$(calcurse -a | grep -c '\*')"
[ "$apts" = "0" ] && return 0
echo "󰃭 $apts"
}
get_layout() {
layout="$(swaymsg -t get_inputs | grep -m 1 'xkb_active_layout_name' | cut -d '"' -f 4)"
[ "$layout" = "English (US)" ] && layout="us"
[ "$layout" = "Spanish (Latin American)" ] && layout="la"
echo "󰌌 $layout"
}
while true ; do
status=""
#todo="$(get_todo)"
! [ -z "$todo" ] && status="$status$separator$todo"
#apts="$(get_apts)"
! [ -z "$apts" ] && status="$status$separator$apts"
volume="$(volstat)"
! [ -z "$volume" ] && status="$status$separator$volume"
microphone="$(micstat)"
! [ -z "$microphone" ] && status="$status$separator$microphone"
network="$(netstat)"
! [ -z "$network" ] && status="$status$separator$network"
battery="$(batstat)"
! [ -z "$battery" ] && status="$status$separator$battery"
layout="$(get_layout)"
! [ -z "$layout" ] && status="$status$separator$layout"
date_time="$(date "+%I:%M%p$separator󰃮 %a %Y-%m-%d")"
! [ -z "$date_time" ] && status="$status$separator󰥔 $date_time"
printf "%s\n" "$status"
# exit 0 # Testing
sleep 0.4
done