Single script for all batteries
This commit is contained in:
		
							
								
								
									
										65
									
								
								bin/batteries
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										65
									
								
								bin/batteries
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,65 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
geticon() {
 | 
			
		||||
  local icon=
 | 
			
		||||
  state=$2
 | 
			
		||||
  if [ "$state" = "Charging" ]; then
 | 
			
		||||
    icon=
 | 
			
		||||
  else
 | 
			
		||||
    [ "$1" -gt 0 ] && icon=
 | 
			
		||||
    [ "$1" -gt 10 ] && icon=
 | 
			
		||||
    [ "$1" -gt 20 ] && icon=
 | 
			
		||||
    [ "$1" -gt 30 ] && icon=
 | 
			
		||||
    [ "$1" -gt 40 ] && icon=
 | 
			
		||||
    [ "$1" -gt 50 ] && icon=
 | 
			
		||||
    [ "$1" -gt 60 ] && icon=
 | 
			
		||||
    [ "$1" -gt 70 ] && icon=
 | 
			
		||||
    [ "$1" -gt 80 ] && icon=
 | 
			
		||||
    [ "$1" -gt 90 ] && icon=
 | 
			
		||||
  fi
 | 
			
		||||
    
 | 
			
		||||
  echo "$icon"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
getcolor() {
 | 
			
		||||
  local color='#80ff80'  
 | 
			
		||||
  if [ "$2" = "Charging" ]; then
 | 
			
		||||
    color='#0080ff'
 | 
			
		||||
  else
 | 
			
		||||
    [ "$1" -lt 60 ] && color='#ffff00'
 | 
			
		||||
    [ "$1" -lt 30 ] && color='#ff8000'
 | 
			
		||||
    [ "$1" -lt 15 ] && color='#ff0000'
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  echo "$color"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
batteries=$(acpi | rg 'Battery (\d)' -or '$1')
 | 
			
		||||
# echo "BATTERIES: $batteries"
 | 
			
		||||
 | 
			
		||||
for battery in $batteries; do
 | 
			
		||||
  # echo "BATTERY $battery"
 | 
			
		||||
  bt=$(acpi -b | grep "Battery $battery")
 | 
			
		||||
  BAT=$(echo "$bt" | rg "(\d?\d?\d)%" -or '$1')
 | 
			
		||||
  STAT=$(echo "$bt" | rg ": ([\w\s]+)," -or '$1')
 | 
			
		||||
  ICON=$(geticon "$BAT" "$STAT")
 | 
			
		||||
  COLOR=$(getcolor "$BAT" "$STAT")
 | 
			
		||||
  text="$ICON $BAT"
 | 
			
		||||
  printf "<span foreground=\"${COLOR}\">${text}</span>"
 | 
			
		||||
done
 | 
			
		||||
printf "\n\n"
 | 
			
		||||
 | 
			
		||||
# bt=$(acpi -b | grep "Battery $1")
 | 
			
		||||
# BAT=$(echo "$bt" | rg "(\d?\d?\d)%" -or '$1')
 | 
			
		||||
# STAT=$(echo "$bt" | rg ": ([\w\s]+)," -or '$1')
 | 
			
		||||
# ICON=$(geticon "$BAT" "$STAT")
 | 
			
		||||
# COLOR=$(getcolor "$BAT" "$STAT")
 | 
			
		||||
 | 
			
		||||
#echo "$ICON" $(($1 + 1)): "$BAT"%
 | 
			
		||||
# echo "$ICON" "$BAT"%
 | 
			
		||||
# echo "$ICON" "$BAT"%
 | 
			
		||||
echo "$COLOR"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user