#!/usr/bin/env bash

cache_dir=~/.cache/tmux
cache_file=$cache_dir/system-info

# Make sure the output directory exists.
if [ ! -d $cache_dir ]; then
  mkdir -p $cache_dir
fi

# Cleanup cache file when interrupted.
trap '[ -f $cache_file ] && rm $cache_file; exit' INT
trap '[ -f $cache_file ] && rm $cache_file; exit' TERM

# Check if a battery is installed.
ioreg -w0 -l | grep BatteryInstalled &> /dev/null && \
  has_battery=true || has_battery=false

while true; do
  # Get the current CPU temperature.
  cpu_temp="`/usr/local/bin/osx-cpu-temp`"
  # Parse the current battery charge percentage.
  $has_battery && \
    battery=" `pmset -g batt | grep --color=never -Eo '\d+%'` ↯"
  # Write to the cache file.
  echo "$cpu_temp$battery" > $cache_file
  # Don't spin, sleep instead.
  sleep 2
done