op_lidsettings: Added new tool to change what happens when you close the lid (submitt...
[openpandora.oe.git] / recipes / pandora-system / pandora-scripts / op_lid.sh
index 757abcd..544676b 100644 (file)
@@ -3,29 +3,49 @@
 #only argument is 0 for open 1 for closed
 #may also be called after inactivity, like X DPMS
 
-if [ ! -e /tmp/powerstate ]; then #do nothing when in powersave mode
-  if [ "$1" = "1" ]; then #lid was closed
-    brightness=$(cat /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/brightness)
-    if [ $brightness -gt 0 ]; then
-      echo $brightness > /tmp/oldbright
-    fi
-    echo 0 > /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/brightness
-    #echo 1 > /sys/devices/platform/omapfb/graphics/fb0/blank
-  elif [ "$1" = "0" ]; then # lid was opened
-    #echo 0 > /sys/devices/platform/omapfb/graphics/fb0/blank
-    #sleep 0.1s # looks cleaner, could flicker without
-    maxbright=$(cat /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/max_brightness)
-    oldbright=0
-    if [ -f /tmp/oldbright ]; then
-      oldbright=$(cat /tmp/oldbright)
-    fi
-    if [ $oldbright -eq 0 ]; then
-      oldbright=$(cat /etc/pandora/conf/brightness.state)
-    fi
-     if [ $oldbright -ge 3 ] && [ $oldbright -le $maxbright ]; then 
-      /usr/pandora/scripts/op_bright.sh $oldbright 
-     else
-      /usr/pandora/scripts/op_bright.sh $maxbright
-     fi
-  fi
-fi
+config=$(cat $(grep /etc/passwd -e $(ps u -C xfce4-session | tail -n1 | awk '{print $1}')| cut -f 6 -d ":")/.lidstate)
+
+if [[ ! -e /tmp/powerstate || "$(cat /tmp/powerstate)" = "2" ]]; then #do nothing when in powersave mode unless we went into it because of a closed lid 
+       if [ "$1" = "1" ]; then #lid was closed
+               case "$config" in
+                       "shutdown")
+                               /usr/pandora/scripts/op_power.sh 5
+                       ;;
+                       "lowpower")
+                               /usr/pandora/scripts/op_power.sh 1
+                               echo "2" > /tmp/powerstate
+                       ;;
+                       *)
+                               echo "$config"
+                               brightness=$(cat /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/brightness)
+                               if [ $brightness -gt 0 ]; then
+                                       echo $brightness > /tmp/oldbright
+                               fi
+                               echo 0 > /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/brightness
+                               #echo 1 > /sys/devices/platform/omapfb/graphics/fb0/blank
+                       esac
+       elif [ "$1" = "0" ]; then # lid was opened
+               case "$config" in
+                       "lowpower")
+                               /usr/pandora/scripts/op_power.sh 1
+                       ;;
+                       *)
+                               #echo 0 > /sys/devices/platform/omapfb/graphics/fb0/blank
+                               #sleep 0.1s # looks cleaner, could flicker without
+                               maxbright=$(cat /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/max_brightness)
+                               oldbright=0
+                               if [ -f /tmp/oldbright ]; then
+                                       oldbright=$(cat /tmp/oldbright)
+                               fi
+                               if [ $oldbright -eq 0 ]; then
+                                       oldbright=$(cat /etc/pandora/conf/brightness.state)
+                               fi
+                               if [ $oldbright -ge 3 ] && [ $oldbright -le $maxbright ]; then 
+                                       /usr/pandora/scripts/op_bright.sh $oldbright 
+                               else
+                                       /usr/pandora/scripts/op_bright.sh $maxbright
+                               fi
+                       ;;
+               esac
+       fi
+fi
\ No newline at end of file