pandora-scripts: reset led brightness when disabled
[openpandora.oe.git] / recipes / pandora-system / pandora-scripts / op_ledsettings.sh
index 52f9a07..756e2db 100644 (file)
@@ -2,41 +2,68 @@
 # Released under the GPL
 # LED-Settings, v1.0, written by Michael Mrozek aka EvilDragon 2013.
 
- . /usr/pandora/scripts/op_paths.sh
+ . /usr/pandora/scripts/op_common.sh
 
-while mainsel=$(zenity --title="LED-Settings" --width="400" --height="370" --list --column "id" --column "Please select" --hide-column=1 --text="Welcome to the LED-Settings-Dialogue.\n\nWhat do you want to do?\n" "normal" "Set Power LED Brightness (normal mode)" "power" "Set Power LED Brightness (powersave)" "sd1" "Enable / Disable SD1 LED" "sd2" "Enable / Disable SD2 LED" "wifi" "Enable / Disable WiFi LED" "bt" "Enable / Disable Bluetooth LED"  --ok-label="Change Setting" --cancel-label="Exit"); do
+LED_CONF="/etc/pandora/conf/led.conf"
+grep -q HighPowerLED $LED_CONF || echo "LowPowerLED:16" >> $LED_CONF
+grep -q LowPowerLED $LED_CONF || echo "HighPowerLED:255" >> $LED_CONF
+grep -q IdleLED $LED_CONF || echo "IdleLED:48" >> $LED_CONF
+
+while mainsel=$(zenity --title="LED-Settings" --width="400" --height="370" --list --column "id" --column "Please select" --hide-column=1 --text="Welcome to the LED-Settings-Dialogue.\n\nWhat do you want to do?\n" \
+  "normal" "Set Power LED Brightness (normal mode)" \
+  "power" "Set Power LED Brightness (powersave)" \
+  "idle" "Set Power LED Brightness (screen off/idle)" \
+  "sd1" "Enable / Disable SD1 LED" \
+  "sd2" "Enable / Disable SD2 LED" \
+  "wifi" "Enable / Disable WiFi LED" \
+  "bt" "Enable / Disable Bluetooth LED" \
+    --ok-label="Change Setting" --cancel-label="Exit"); do
 
 case $mainsel in
 
   "normal")
-   curbright=$(cat /etc/pandora/conf/led.conf | grep HighPowerLED: | awk -F\: '{print $2}')
+   curbright=$(cat $LED_CONF | grep HighPowerLED: | awk -F\: '{print $2}')
    while newbright=$(zenity --scale --text "Set brightness of Power LED (normal mode)" --min-value=0 --max-value=255 --value=$curbright --step 1 --ok-label="Set new brightness" --cancel-label="Save and exit"); do
       curbright=$newbright
       echo $curbright > /sys/class/leds/pandora\:\:power/brightness
    done
-   sed -i "s/.*HighPowerLED.*/HighPowerLED:$curbright/g" /etc/pandora/conf/led.conf 
+   sed -i "s/.*HighPowerLED.*/HighPowerLED:$curbright/g" $LED_CONF
    zenity --info --title="Power LED Brightness Set" --text "The new power LED Brightness setting has been saved." --timeout 6
    ;;   
   
   "power")
    normbright=$(cat /sys/class/leds/pandora\:\:power/brightness)
-   curbright=$(cat /etc/pandora/conf/led.conf | grep LowPowerLED: | awk -F\: '{print $2}')
+   curbright=$(cat $LED_CONF | grep LowPowerLED: | awk -F\: '{print $2}')
    echo $curbright > /sys/class/leds/pandora\:\:power/brightness
    while newbright=$(zenity --scale --text "Set brightness of Power LED (Powersave mode)" --min-value=0 --max-value=255 --value=$curbright --step 1 --ok-label="Set new brightness" --cancel-label="Save and exit"); do
       curbright=$newbright
       echo $curbright > /sys/class/leds/pandora\:\:power/brightness
    done
-   sed -i "s/.*LowPowerLED.*/LowPowerLED:$curbright/g" /etc/pandora/conf/led.conf 
+   sed -i "s/.*LowPowerLED.*/LowPowerLED:$curbright/g" $LED_CONF
    zenity --info --title="Power LED Brightness Set" --text "The new power LED Brightness setting (Powersave mode) has been saved." --timeout 6
    echo $normbright > /sys/class/leds/pandora\:\:power/brightness
-   ;;   
-  
+   ;;
+
+   "idle")
+   normbright=$(cat /sys/class/leds/pandora\:\:power/brightness)
+   curbright=$(cat $LED_CONF | grep IdleLED: | awk -F\: '{print $2}')
+   echo $curbright > /sys/class/leds/pandora\:\:power/brightness
+   while newbright=$(zenity --scale --text "Set brightness of Power LED (screen off/idle mode)" --min-value=0 --max-value=255 --value=$curbright --step 1 --ok-label="Set new brightness" --cancel-label="Save and exit"); do
+      curbright=$newbright
+      echo $curbright > /sys/class/leds/pandora\:\:power/brightness
+   done
+   sed -i "s/.*IdleLED.*/IdleLED:$curbright/g" $LED_CONF
+   zenity --info --title="Power LED Brightness Set" --text "The new power LED Brightness setting (screen off/idle mode) has been saved." --timeout 6
+   echo $normbright > /sys/class/leds/pandora\:\:power/brightness
+   ;;
+
   "sd1")
   if zenity --question --title="Enable / Disable LED?" --text="Do you want to enable or disable the LED for SD Card 1?" --ok-label="Enable it" --cancel-label="Disable it"; then
     echo mmc0 > /sys/class/leds/pandora\:\:sd1/trigger
     sed -i "s/.*pandora::sd1.*/pandora::sd1 mmc0/g" /etc/default/leds 
   else
     echo none > /sys/class/leds/pandora\:\:sd1/trigger
+    echo 0 > /sys/class/leds/pandora\:\:sd1/brightness
     sed -i "s/.*pandora::sd1.*/pandora::sd1 none/g" /etc/default/leds 
   fi
   ;;
@@ -47,6 +74,7 @@ case $mainsel in
     sed -i "s/.*pandora::sd2.*/pandora::sd2 mmc1/g" /etc/default/leds 
   else
     echo none > /sys/class/leds/pandora\:\:sd2/trigger
+    echo 0 > /sys/class/leds/pandora\:\:sd2/brightness
     sed -i "s/.*pandora::sd2.*/pandora::sd2 none/g" /etc/default/leds 
   fi
   ;;
@@ -62,6 +90,7 @@ case $mainsel in
     fi
   else
     echo none > /sys/class/leds/pandora\:\:bluetooth/trigger
+    echo 0 > /sys/class/leds/pandora\:\:bluetooth/brightness
     sed -i "s/.*pandora::bluetooth.*/pandora::bluetooth none/g" /etc/default/leds 
   fi
   ;;
@@ -95,6 +124,7 @@ case $mainsel in
     zenity --info --title="WiFi LED Set" --text "The WiFi LED has been enabled.\nPlease note: You need to disable and re-enable WiFi before it switches on again." --timeout 6
   else
     echo none > /sys/class/leds/pandora\:\:wifi/trigger
+    echo 0 > /sys/class/leds/pandora\:\:wifi/brightness
     sed -i "s/.*pandora::wifi.*/pandora::wifi none/g" /etc/default/leds 
   fi
   ;;