#!/bin/sh

if [ "$1" = "once" ]; then
  iwconfig wlan0 power off
  sleep 6
  iwconfig wlan0 power off
  sleep 6
  iwconfig wlan0 power off
  sleep 6
  iwconfig wlan0 power off
  sleep 6
  iwconfig wlan0 power off
  sleep 6
  if [ $(grep -c 'keepWifiPMOff = True' /home/user/.openssh-status-widget) -eq 0 ]; then
    iwconfig wlan0 power on
  else
    /usr/sbin/osw-power-management &
  fi
  exit
fi

WLAN_IP=$(/sbin/ifconfig wlan0 | sed -n 's/.*inet addr:\([0-9.]\+\).*/\1/p')

TOGGLE=$(grep -c 'toggleWifiPM = True' /home/user/.openssh-status-widget)

if [ $TOGGLE -eq 0 ]; then
  while [ $(netstat -t | grep :ssh.*ESTABLISHED | grep -c $WLAN_IP) -gt 0 ]; do
    iwconfig wlan0 power off
    sleep 6
    iwconfig wlan0 power off
    sleep 6
    iwconfig wlan0 power off
    sleep 6
    iwconfig wlan0 power off
    sleep 6
    iwconfig wlan0 power off
    sleep 6
  done
else
  OFF_SEC=$(grep 'wifiPMOffSec' /home/user/.openssh-status-widget | cut -d ' ' -f 3)
  ON_SEC=$(grep 'wifiPMOnSec' /home/user/.openssh-status-widget | cut -d ' ' -f 3)
  while [ $(netstat -t | grep :ssh.*ESTABLISHED | grep -c $WLAN_IP) -gt 0 ]; do
    iwconfig wlan0 power off
    sleep $OFF_SEC
    iwconfig wlan0 power on
    sleep $ON_SEC
    iwconfig wlan0 power off
    sleep $OFF_SEC
    iwconfig wlan0 power on
    sleep $ON_SEC
    iwconfig wlan0 power off
    sleep $OFF_SEC
    iwconfig wlan0 power on
    sleep $ON_SEC
    iwconfig wlan0 power off
    sleep $OFF_SEC
    iwconfig wlan0 power on
    sleep $ON_SEC
    iwconfig wlan0 power off
    sleep $OFF_SEC
    iwconfig wlan0 power on
    sleep $ON_SEC
  done
fi

iwconfig wlan0 power on
