Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #author: Cristiano Ricci ([email protected])
- #usefull variables
- parseme="$(sudo tlp-stat -b)";
- BAT0=$(echo "$parseme" | grep -i "BAT0/power_now" | grep -o "[[:digit:]]\+ "); BAT0=$(awk -v BAT0=$BAT0 'BEGIN { print (BAT0 / 1000) }');
- NRG0FULL=$(echo "$parseme" | grep "/sys/class/power_supply/BAT0/energy_full " | grep -o "[[:digit:]]\+ " ); NRG0NOW=$(sudo tlp-stat | grep "/sys/class/power_supply/BAT0/energy_now" | grep -o "[[:digit:]]\+ " ); BAT0PERC=$(awk -v NRG0FULL=$NRG0FULL -v NRG0NOW=$NRG0NOW 'BEGIN { printf "%.0f", (NRG0NOW / NRG0FULL) * 100 }');
- BAT1=$(echo "$parseme" | grep -i "BAT1/power_now" | grep -o "[[:digit:]]\+ "); BAT1=$(awk -v BAT1=$BAT1 'BEGIN { print (BAT1 / 1000) }');
- NRG1FULL=$(echo "$parseme" | grep "/sys/class/power_supply/BAT1/energy_full " | grep -o "[[:digit:]]\+ " ); NRG1NOW=$(sudo tlp-stat | grep "/sys/class/power_supply/BAT1/energy_now" | grep -o "[[:digit:]]\+ " ); BAT1PERC=$(awk -v NRG1FULL=$NRG1FULL -v NRG1NOW=$NRG1NOW 'BEGIN { printf "%.0f", (NRG1NOW / NRG1FULL) * 100 }');
- BAT0T=$(echo "$parseme" | grep tpacpi-bat.BAT0.startThreshold | grep -o "[[:digit:]][[:digit:]]");
- BAT1T=$(echo "$parseme" | grep tpacpi-bat.BAT1.startThreshold | grep -o "[[:digit:]][[:digit:]]");
- NRG0NOW=$(echo "$parseme" | grep "/sys/class/power_supply/BAT0/energy_now" | grep -o "[[:digit:]]\+ " );
- NRG1NOW=$(echo "$parseme" | grep "/sys/class/power_supply/BAT1/energy_now" | grep -o "[[:digit:]]\+ " );
- #detect charging status, 1 if charging, 0 if discharging
- (acpi | grep "Discharging") >> /dev/null;
- charging=$?;
- #TimeRemaining cmd
- if [ "$charging" -eq "1" ]; then
- TIMEREMAINING=$(awk -v NRG1FULL=$NRG1FULL -v NRG1NOW=$NRG1NOW -v NRG0FULL=$NRG0FULL -v NRG0NOW=$NRG0NOW -v BAT0=$BAT0 -v BAT0T=$BAT0T -v BAT1=$BAT1 -v BAT1T=$BAT1T 'BEGIN { printf "%.0f", ((BAT1T / 100 * NRG1FULL) - NRG1NOW + (BAT0T / 100 * NRG0FULL) - NRG0NOW) / ((BAT0+BAT1) * 1000) * 60 }');
- else
- TIMEREMAINING=$(awk -v NRG1NOW=$NRG1NOW -v NRG0NOW=$NRG0NOW -v BAT0=$BAT0 -v BAT1=$BAT1 'BEGIN { printf "%.0f", (NRG1NOW + NRG0NOW) / ((BAT0+BAT1) * 1000) * 60 }');
- fi
- #single line output
- echo -n $(
- echo "Fan: ";
- #fan
- sensors | grep fan1 | grep -o "[[:digit:]]\+ RPM";
- echo " - Int: "
- #internal
- echo $BAT0\W;
- echo " - ";
- #internal percentage
- echo $BAT0PERC%;
- echo " - Ext: "
- #external
- echo $BAT1\W;
- echo " - ";
- #external percentage
- echo $BAT1PERC%;
- echo " - TimeRemaining:";
- #time remaining
- echo $TIMEREMAINING m;
- echo " - CpuTemp: "
- #temp acpi
- acpi -t | grep -o "[[:digit:]][[:digit:]].[[:digit:]]"; echo "°c";
- ) #end single line
Advertisement
Add Comment
Please, Sign In to add comment