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/\/$//'