all repos — zenUtils @ main

misc utilities for computing zen

t2stats.sh (raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#!/bin/sh

# t2stats:
# this is a simple network/battery status indicator to be used with tint2
# Derek Stevens <nilix@nilfm.cc>
# MIT License

if [ "$1" = "-l" ]; then
  load=$(cat /proc/loadavg)
  set -- ${load}
  load=$1
  
  memdata=$(free -h --si | grep Mem)
  swapdata=$(free -h --si | grep Swap)

  set -- ${memdata}
  memused=$3

  set -- ${swapdata}
  swapused=$3

  echo " ${load} | ${memused} | ${swapused}"
fi

if [ "$1" = "-r" ]; then

  # network
  actives=$(nmcli connection show --active)
  possiblywifi=$(echo "${actives}" | grep wifi)
  possiblyeth=$(echo "${actives}" | grep Wired)
  ORS=" "

  if [ ! -z "${possiblyeth}" ]; then
    output=wired
  elif [ ! -z "${possiblywifi}" ]; then
    output="wifi/$(echo ${possiblywifi} |\
      awk 'BEGIN { ORS=" " }; {for (i=1; i<=(NF-3);i++) print $i}')"
  else
    output=offline
  fi

  echo -n "${output}"

  # battery
  if ! grep Full /sys/class/power_supply/BAT*/status > /dev/null \
    && [ -d /sys/class/power_supply/BAT* ]; then
    powerlevel=$(cat /sys/class/power_supply/BAT*/capacity)
    state=$(cat /sys/class/power_supply/BAT*/status)
    left=""
    right=""
    case $state in
      Discharging)
        right="-";;
      Charging)
        right="+";;
      Charged) 
        right="=";;
    esac
    case $powerlevel in
      0)
        meter="${left}     ${right}"
        ;;
      1|2|3|4|5|6|7|8|9)
        meter="${left}    ${right}"
        ;;
      10|11|12|13|14|15|16|17|18|19)
        meter="${left}    ${right}"
        ;;
      20|21|22|23|24|25|26|27|28|29)
        meter="${left}   ${right}"
        ;;
      30|31|32|33|34|35|36|37|38|39)
        meter="${left}   ${right}"
        ;;
      40|41|42|43|44|45|46|47|48|49)
        meter="${left}  ${right}"
        ;;
      50|51|52|53|54|55|56|57|58|59)
        meter="${left}  ${right}"
        ;;
      60|61|62|63|64|65|66|67|68|69)
        meter="${left} ${right}"
        ;;
      70|71|72|73|74|75|76|77|78|79)
        meter="${left} ${right}"
        ;;
      80|81|82|83|84|85|86|87|88|89)
        meter="${left}${right}"
        ;;
      *)
        meter="${left}${right}"
        ;;
    esac

    echo " ${meter}"
  fi
fi