diff --git a/.local/bin/statusbar/sb-battery b/.local/bin/statusbar/sb-battery index d62b7d4b..1bd3f361 100755 --- a/.local/bin/statusbar/sb-battery +++ b/.local/bin/statusbar/sb-battery @@ -9,34 +9,37 @@ for battery in /sys/class/power_supply/BAT?*; do [ -n "${capacity+x}" ] && printf " " capacity="$(cat "$battery/capacity" 2>&1)" case "$(cat "$battery/status" 2>&1)" in - "Full") icon=""; color="$green" ;; - "Charging") icon=""; color="$cyan" ;; - "Not charging") icon=""; color="$white" ;; - "Unknown") icon=""; color="$orange" ;; + "Full") icon=""; color="$green" ;; + "Charging") icon=""; color="$cyan" ;; + "Not charging") icon=""; color="$white" ;; + "Unknown") icon=""; color="$orange" ;; "Discharging") if [ "$capacity" -le 10 ]; then - icon=""; color="$red" + icon=""; color="$red" elif [ "$capacity" -le 20 ]; then - icon=""; color="$red" + icon=""; color="$red" elif [ "$capacity" -le 30 ]; then - icon=""; color="$white" + icon=""; color="$white" elif [ "$capacity" -le 40 ]; then - icon=""; color="$white" + icon=""; color="$white" elif [ "$capacity" -le 50 ]; then - icon=""; color="$white" + icon=""; color="$white" elif [ "$capacity" -le 60 ]; then - icon=""; color="$white" + icon=""; color="$white" elif [ "$capacity" -le 70 ]; then - icon=""; color="$white" + icon=""; color="$white" elif [ "$capacity" -le 80 ]; then - icon=""; color="$white" + icon=""; color="$white" elif [ "$capacity" -le 90 ]; then - icon=""; color="$white" + icon=""; color="$white" + elif [ "$capacity" -le 95 ]; then + icon=""; color="$white" else - icon=""; color="$white" + icon=""; color="$white" fi + ;; *) exit 1 ;; esac - printf "$color%s$reset %d%%" "$icon" "$capacity"; + printf "$color%s$reset %d" "$icon" "$capacity"; done && printf "\\n" diff --git a/.local/bin/statusbar/sb-clock b/.local/bin/statusbar/sb-clock index dee4f48b..a6065e3c 100755 --- a/.local/bin/statusbar/sb-clock +++ b/.local/bin/statusbar/sb-clock @@ -1,18 +1,19 @@ #!/bin/sh -clock=$(date '+%I') -case "$clock" in - "00") icon="" ;; - "01") icon="" ;; - "02") icon="" ;; - "03") icon="" ;; - "04") icon="" ;; - "05") icon="" ;; - "06") icon="" ;; - "07") icon="" ;; - "08") icon="" ;; - "09") icon="" ;; - "10") icon="" ;; - "11") icon="" ;; - "12") icon="" ;; -esac -printf "%s \033[11m%s\033[10m %s\n" "$(date "+%H:%M")" "$icon" "$(date "+%d.%m.%Y")" +# clock=$(date '+%I') +# case "$clock" in +# "00") icon="" ;; +# "01") icon="" ;; +# "02") icon="" ;; +# "03") icon="" ;; +# "04") icon="" ;; +# "05") icon="" ;; +# "06") icon="" ;; +# "07") icon="" ;; +# "08") icon="" ;; +# "09") icon="" ;; +# "10") icon="" ;; +# "11") icon="" ;; +# "12") icon="" ;; +# esac +# printf "%s \033[11m%s\033[10m %s\n" "$(date "+%H:%M")" "$icon" "$(date "+%d.%m.%Y")" +date "+%H:%M " diff --git a/.local/bin/statusbar/sb-disk b/.local/bin/statusbar/sb-disk index 6c4bae3f..ef420e99 100755 --- a/.local/bin/statusbar/sb-disk +++ b/.local/bin/statusbar/sb-disk @@ -2,4 +2,4 @@ # $1 should be drive mountpoint, otherwise assumed /. location=${1:-/} [ -d "$location" ] || exit -printf "\033[11m%s\033[10m\n" " $(df -h "$location" | awk ' /[0-9]/ {print $3 "/" $2}')" +printf "\033[11m\033[10m %s\n" "$(df -h "$location" | awk ' /[0-9]/ {print $3 "/" $2}')" diff --git a/.local/bin/statusbar/sb-internet b/.local/bin/statusbar/sb-internet index da4ef4d8..d6c518ed 100755 --- a/.local/bin/statusbar/sb-internet +++ b/.local/bin/statusbar/sb-internet @@ -1,15 +1,28 @@ #!/bin/sh -if grep -xq 'up' /sys/class/net/w*/operstate 2>/dev/null ; then - percent=$(tail -1 /proc/net/wireless | tr -s ' ' | cut -d ' ' -f3 | sed 's/\.//') - wifi_icon="直" -elif grep -xq 'down' /sys/class/net/w*/operstate 2>/dev/null ; then - grep -xq '0x1003' /sys/class/net/w*/flags && wifi_icon="睊" || wifi_icon="" -else - wifi_icon="" - percent="" +shift="" + +if ls /sys/class/net/w*/operstate 1>/dev/null 2>&1; then + for w in /sys/class/net/w*/operstate; do + percent="$(cat /proc/net/wireless | grep "$(basename "$(dirname $w)")" | tr -s ' ' | cut -d ' ' -f3 | tr -dc "[:digit:]")" + grep -vxq '0x1003' && wifi_icon="" || wifi_icon="$(sed "s/up/直/;s/down/睊/" $w | tr -d "[:space:]")" + printf "$shift\033[11m%s\033[10m %s" "$wifi_icon" "$percent" + shift=" " + done fi -ls /sys/class/net/tun* 1> /dev/null 2>&1 && vpn_icon="$(sed "s/.*/嬨/" /sys/class/net/tun*/operstate 2>/dev/null)" || vpn_icon="" +if ls /sys/class/net/e*/operstate 1>/dev/null 2>&1; then + for e in /sys/class/net/e*/operstate; do + if_icon="$(sed "s/down//;s/up//" $e)" + printf "$shift\033[11m%s\033[10m" "$if_icon" + shift=" " + done +fi -printf "%s%s%s%s\n" "$wifi_icon" "$percent" "$(sed "s/down//;s/up//;s/\n//" /sys/class/net/e*/operstate 2>/dev/null)" "$vpn_icon" +if ls /sys/class/net/tun*/operstate 1>/dev/null 2>&1; then + for _ in /sys/class/net/tun*/operstate; do + printf "$shift\033[11m%s\033[10m" "嬨" + shift=" " + done +fi +printf "\n" diff --git a/.local/bin/statusbar/sb-ip b/.local/bin/statusbar/sb-ip index c1d912ed..6bb353ed 100755 --- a/.local/bin/statusbar/sb-ip +++ b/.local/bin/statusbar/sb-ip @@ -1,6 +1,6 @@ #!/bin/sh # https://www.maketecheasier.com/ip-address-geolocation-lookups-linux/ loc_addr="$(ip route get 9.9.9.9 | head -1 | cut -d ' ' -f7)" -pub_addr="$(curl icanhazip.com 2>/dev/null)" || exit +pub_addr="$(curl ipv4.icanhazip.com 2>/dev/null)" || exit # flag="$(grep "flag: " "${XDG_DATA_HOME:-$HOME/.local/share}/emoji" | grep "$(geoiplookup "$addr" | sed 's/.*, //')" | sed 's/ flag: .*//')" printf "%s %s\n" "$loc_addr" "$pub_addr" diff --git a/.local/bin/statusbar/sb-upgrades b/.local/bin/statusbar/sb-upgrades new file mode 100755 index 00000000..6b8b5820 --- /dev/null +++ b/.local/bin/statusbar/sb-upgrades @@ -0,0 +1,15 @@ +#!/bin/sh +vals=$(aptitude full-upgrade --simulate --assume-yes |\ + grep -m1 '^[0-9]\+ packages upgraded,' |\ + tr -cd '0-9 ' |\ + tr ' ' '\n' |\ + grep '[0-9]\+' |\ + xargs echo) + +print=" " +for i in $vals; do + [ $i != 0 ] && icon="\033[11m\033[10m" + print="$print$i/" +done + +[ -n "$icon" ] && printf "$icon " && echo $print | sed 's/\/$//'