add bash-it
This commit is contained in:
130
dot_bash_it/plugins/available/battery.plugin.bash
Normal file
130
dot_bash_it/plugins/available/battery.plugin.bash
Normal file
@@ -0,0 +1,130 @@
|
||||
# shellcheck shell=bash
|
||||
about-plugin 'display info about your battery charge level'
|
||||
|
||||
function ac_adapter_connected() {
|
||||
local batteries
|
||||
if _command_exists upower; then
|
||||
IFS=$'\n' read -d '' -ra batteries < <(upower -e | grep -i BAT)
|
||||
upower -i "${batteries[0]:-}" | grep 'state' | grep -q 'charging\|fully-charged'
|
||||
elif _command_exists acpi; then
|
||||
acpi -a | grep -q "on-line"
|
||||
elif _command_exists pmset; then
|
||||
pmset -g batt | grep -q 'AC Power'
|
||||
elif _command_exists ioreg; then
|
||||
ioreg -n AppleSmartBattery -r | grep -q '"ExternalConnected" = Yes'
|
||||
elif _command_exists WMIC; then
|
||||
WMIC Path Win32_Battery Get BatteryStatus /Format:List | grep -q 'BatteryStatus=2'
|
||||
fi
|
||||
}
|
||||
|
||||
function ac_adapter_disconnected() {
|
||||
local batteries
|
||||
if _command_exists upower; then
|
||||
IFS=$'\n' read -d '' -ra batteries < <(upower -e | grep -i BAT)
|
||||
upower -i "${batteries[0]:-}" | grep 'state' | grep -q 'discharging'
|
||||
elif _command_exists acpi; then
|
||||
acpi -a | grep -q "off-line"
|
||||
elif _command_exists pmset; then
|
||||
pmset -g batt | grep -q 'Battery Power'
|
||||
elif _command_exists ioreg; then
|
||||
ioreg -n AppleSmartBattery -r | grep -q '"ExternalConnected" = No'
|
||||
elif _command_exists WMIC; then
|
||||
WMIC Path Win32_Battery Get BatteryStatus /Format:List | grep -q 'BatteryStatus=1'
|
||||
fi
|
||||
}
|
||||
|
||||
function battery_percentage() {
|
||||
about 'displays battery charge as a percentage of full (100%)'
|
||||
group 'battery'
|
||||
|
||||
local command_output batteries
|
||||
|
||||
if _command_exists upower; then
|
||||
IFS=$'\n' read -d '' -ra batteries < <(upower -e | grep -i BAT)
|
||||
command_output="$(upower --show-info "${batteries[0]:-}" | grep percentage | grep -o '[0-9]\+' | head -1)"
|
||||
elif _command_exists acpi; then
|
||||
command_output=$(acpi -b | awk -F, '/,/{gsub(/ /, "", $0); gsub(/%/,"", $0); print $2}')
|
||||
elif _command_exists pmset; then
|
||||
command_output=$(pmset -g ps | sed -n 's/.*[[:blank:]]+*\(.*%\).*/\1/p' | grep -o '[0-9]\+' | head -1)
|
||||
elif _command_exists ioreg; then
|
||||
command_output=$(ioreg -n AppleSmartBattery -r | awk '$1~/Capacity/{c[$1]=$3} END{OFMT="%05.2f"; max=c["\"MaxCapacity\""]; print (max>0? 100*c["\"CurrentCapacity\""]/max: "?")}' | grep -o '[0-9]\+' | head -1)
|
||||
elif _command_exists WMIC; then
|
||||
command_output=$(WMIC PATH Win32_Battery Get EstimatedChargeRemaining /Format:List | grep -o '[0-9]\+' | head -1)
|
||||
else
|
||||
command_output="no"
|
||||
fi
|
||||
|
||||
if [[ "${command_output}" != "no" ]]; then
|
||||
printf "%02d" "${command_output:--1}"
|
||||
else
|
||||
echo "${command_output}"
|
||||
fi
|
||||
}
|
||||
|
||||
function battery_charge() {
|
||||
about 'graphical display of your battery charge'
|
||||
group 'battery'
|
||||
|
||||
# Full char
|
||||
local f_c='▸'
|
||||
# Depleted char
|
||||
local d_c='▹'
|
||||
local depleted_color="${normal?}"
|
||||
local full_color="${green?}"
|
||||
local half_color="${yellow?}"
|
||||
local danger_color="${red?}"
|
||||
#local battery_output="${depleted_color}${d_c}${d_c}${d_c}${d_c}${d_c}"
|
||||
local battery_percentage
|
||||
battery_percentage=$(battery_percentage)
|
||||
|
||||
case $battery_percentage in
|
||||
no)
|
||||
echo ""
|
||||
;;
|
||||
9*)
|
||||
echo "${full_color}${f_c}${f_c}${f_c}${f_c}${f_c}${normal?}"
|
||||
;;
|
||||
8*)
|
||||
echo "${full_color}${f_c}${f_c}${f_c}${f_c}${half_color}${f_c}${normal?}"
|
||||
;;
|
||||
7*)
|
||||
echo "${full_color}${f_c}${f_c}${f_c}${f_c}${depleted_color}${d_c}${normal?}"
|
||||
;;
|
||||
6*)
|
||||
echo "${full_color}${f_c}${f_c}${f_c}${half_color}${f_c}${depleted_color}${d_c}${normal?}"
|
||||
;;
|
||||
5*)
|
||||
echo "${full_color}${f_c}${f_c}${f_c}${depleted_color}${d_c}${d_c}${normal?}"
|
||||
;;
|
||||
4*)
|
||||
echo "${full_color}${f_c}${f_c}${half_color}${f_c}${depleted_color}${d_c}${d_c}${normal?}"
|
||||
;;
|
||||
3*)
|
||||
echo "${full_color}${f_c}${f_c}${depleted_color}${d_c}${d_c}${d_c}${normal?}"
|
||||
;;
|
||||
2*)
|
||||
echo "${full_color}${f_c}${half_color}${f_c}${depleted_color}${d_c}${d_c}${d_c}${normal?}"
|
||||
;;
|
||||
1*)
|
||||
echo "${full_color}${f_c}${depleted_color}${d_c}${d_c}${d_c}${d_c}${normal?}"
|
||||
;;
|
||||
05)
|
||||
echo "${danger_color}${f_c}${depleted_color}${d_c}${d_c}${d_c}${d_c}${normal?}"
|
||||
;;
|
||||
04)
|
||||
echo "${danger_color}${f_c}${depleted_color}${d_c}${d_c}${d_c}${d_c}${normal?}"
|
||||
;;
|
||||
03)
|
||||
echo "${danger_color}${f_c}${depleted_color}${d_c}${d_c}${d_c}${d_c}${normal?}"
|
||||
;;
|
||||
02)
|
||||
echo "${danger_color}${f_c}${depleted_color}${d_c}${d_c}${d_c}${d_c}${normal?}"
|
||||
;;
|
||||
0*)
|
||||
echo "${half_color}${f_c}${depleted_color}${d_c}${d_c}${d_c}${d_c}${normal?}"
|
||||
;;
|
||||
*)
|
||||
echo "${danger_color}UNPLG${normal?}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
Reference in New Issue
Block a user