network 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/env bash
  2. source $HOME/.owl4ce_var
  3. noterr() { echo "Install iproute2/wireless-tools!"; exit 1; }
  4. command -v {"ip","iwgetid"} > /dev/null 2>&1 || noterr
  5. wifi=""
  6. wifi_noip=""
  7. wifi_disabled=""
  8. lan=""
  9. lan_noip=""
  10. void=""
  11. if iwgetid "$INT_WIFI" &> /dev/null; then
  12. if [[ "$(iwgetid "$INT_WIFI" | awk -F'"' '{print $2}')" != "" ]]; then
  13. if ip addr show "$INT_WIFI" | grep 'inet' &> /dev/null; then
  14. status="$(iwgetid "$INT_WIFI" --raw)"
  15. icon="$(echo "$wifi")"
  16. else
  17. status="$(echo "No IP address ("$INT_WIFI")")"
  18. icon="$(echo "$wifi_noip")"
  19. fi
  20. else
  21. status="$(echo "Disconnected")"
  22. icon="$(echo "$wifi_disabled")"
  23. fi
  24. elif ip link show "$INT_ETH" &> /dev/null; then
  25. if ip addr show "$INT_ETH" | grep 'inet' &> /dev/null; then
  26. status="$(echo "$(ip addr show "$INT_ETH" | grep 'inet' | awk -F'inet ' '{print $2}' | awk -F'/' '{print $1}' | head -n1) ("$INT_ETH")")"
  27. icon="$(echo "$lan")"
  28. else
  29. status="$(echo "No IP address ("$INT_ETH")")"
  30. icon="$(echo "$lan_noip")"
  31. fi
  32. else
  33. status="$(echo "Network interface not found ("$INT_ETH";"$INT_WIFI")")"
  34. icon="$(echo "$void")"
  35. fi
  36. case $1 in
  37. status) echo "$status"
  38. ;;
  39. icon) echo "$icon"
  40. ;;
  41. esac