diff options
Diffstat (limited to 'bin/status-bar')
| -rwxr-xr-x | bin/status-bar | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/bin/status-bar b/bin/status-bar new file mode 100755 index 0000000..f0523ae --- /dev/null +++ b/bin/status-bar @@ -0,0 +1,77 @@ +#!/bin/sh +timeout=5 + +_sys_memory() { + free -m | awk '/^Mem/{print $6;exit 0;}' +} + +_sys_uptime() { +uptime | sed -re's/^.*up[ ]+//g' -e's/^([^,]*),.*/\1/g' -e's/^([^ ]+)[ ]*(.).*/\1\2/g' +} + +wireless_info() { + _if="$1" + + printf "WiFi: %s %s %s %s" \ + "$_if" \ + "$(nmcli c | awk "/$_if/"'{print $1}')" \ + "$(ip -4 addr show dev "$_if" | awk '/inet /{print $2}')" \ + "$(awk '/^wlp3s0/{print $4+0}' /proc/net/wireless)dbm" +} + +eth_info() { + _if="$1" + + printf "Eth: %s %s %s" \ + "$_if" \ + "$(ip -4 addr show dev "$_if" | awk '/inet /{print $2}')" \ + "" + + # "$(ifconfig "$_if" | grep -oE '[0-9]+baseT')" +} + +network_info() { + # default_if="$(netstat -rnf inet | awk '/^default/{print $8}')" + default_if="$(ip route | awk '/^default/{print $5;exit 0;}')" + + if [ -z "$default_if" ] ; then + echo "No conn" + elif [ -d "/sys/class/net/$default_if/wireless" ] ; then + wireless_info "$default_if" + else + eth_info "$default_if" + fi +} + + +ac_status() { + sudo tlp-stat -b | awk '/\/status/{print $3}' +} + +cpu_freq() { +cat /proc/cpuinfo | grep '^cpu MHz' | awk '{print $4}' | sort -nr | sed 1q +} + +status_line() { +echo \ +"Temp: $(sensors | sed -n 's/^temp1:[\t ]*//p' | sed 's/ *//g' | sed 1q | tr -d '\n')|"\ +"Fan: $(sensors | sed -n 's/^fan1:[\t ]*//p')|"\ +"Cpu Freq: $(cpu_freq)mhz|"\ +"Batt: $(sudo tlp-stat -b | awk '/^Charge/{print $3}') $(ac_status)|"\ +"$(network_info)|"\ +"Free Mem: $(_sys_memory)|"\ +"Uptime: $(_sys_uptime)|"\ +"$(date '+%m.%d.%Y %H:%M:%S')" +} + +x230() { +while true ; do + +xsetroot -name "$(status_line)" + +sleep "$timeout" +done +} + + +$@ |
