#!/bin/sh

#### Model #####################################################################

DateTime=`date +%d.%m\ %A\ %k:%M`

if [ -z "`mpc current`" ]
then
	MPC="MPD Stopped"
else
	MPC="`mpc | sed -n '2s/^\[\(.*\)\].*/\u\1/p'`: `mpc | head -n1 | sed 's/&/and/' | enconv -L ru -x UTF-8`"
fi

BatteryInfoRaw=`acpi -b`
BatteryInfo=$"${BatteryInfoRaw#*: }"

BrightnessRaw=`xbacklight -get`
Brightness="${BrightnessRaw%.*}"

MemFree=`cat /proc/meminfo | grep MemFree: | awk '{print $2}' | sed 's/k//'`
MemBuffers=`cat /proc/meminfo | grep Buffrs: | awk '{print $2}' | sed 's/k//'`
MemCached=`cat /proc/meminfo | grep ^Cached: | awk '{print $2}' | sed 's/k//'`
MemTotal=`cat /proc/meminfo | grep MemTotal: | awk '{print $2}' | sed 's/k//'`
MemFreePercent=$((100 * ( $MemFree + $MemBuffers + $MemCached ) / $MemTotal ))

CPU1Freq=`sudo cpupower -c 0 frequency-info | grep 'frequency:' | tail -n 1 | sed 's/.*frequency: \(.*\) (.*/\1/'| sed 's/ //'`
CPU2Freq=`sudo cpupower -c 1 frequency-info | grep 'frequency:' | tail -n 1 | sed 's/.*frequency: \(.*\) (.*/\1/'| sed 's/ //'`
CPUPolicy=`sudo cpupower -c 0 frequency-info | grep "The governor .* may decide" | sed 's/.*"\(.\+\)".*/\1/'`
CPU1Temp=$((`cat /sys/devices/platform/coretemp.0/hwmon/hwmon*/temp2_input` / 1000))
CPU2Temp=$((`cat /sys/devices/platform/coretemp.0/hwmon/hwmon*/temp3_input` / 1000))
WiFiTempRaw=`cat /sys/devices/virtual/thermal/thermal_zone0/temp`
if [ -n "$WiFiTempRaw" ]
then
        WiFiTemp=$(($WiFiTempRaw / 1000))
fi
SSDTemp=$((`cat /sys/class/nvme/nvme0/device/hwmon/hwmon2/temp1_input` / 1000))

NetIfaces=`/bin/ifconfig -s | grep -P '^[a-z]+\d' | awk '{print $1}' | paste -d' ' -s`
[ -z "$NetIfaces" ] && NetIfaces="[nil]"
toggle_rfkill.sh status > /dev/null
[ $? -eq 0 ] && WirelessStat="on" || WirelessStat="off"


#### Presentation ##############################################################

if [ -n "$WiFiTemp" ]
then
        WiFiInfo=", WiFi $WiFiTemp°C"
fi

cat << EOM
            $DateTime
    
    $MPC
    Battery: $BatteryInfo
    Brightness: $Brightness
    Temp: CPU $CPU1Temp|$CPU2Temp°C, SSD $SSDTemp°C$WiFiInfo
    Freq: $CPU1Freq|$CPU2Freq, $CPUPolicy
    RAM: ${MemFreePercent}% free
    Network: ${NetIfaces}, wireless is $WirelessStat
EOM
read
