#!/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