fd419fbe12418bf339e9073093162d4714b4633e
[openpandora.oe.git] / recipes / pandora-system / pandora-scripts / op_lcdsettings.sh
1 #!/bin/bash
2 # Released under the GPL
3 # LCD-Settings, v1.1, written by Michael Mrozek aka EvilDragon 2010. Brightness-Settings-Part written by vimacs.
4 # This scripts allows you to create, load and save Gamma-Settings and to change the LCD Brightness.
5
6 . /usr/pandora/scripts/op_paths.sh
7
8 while mainsel=$(zenity --title="LCD-Settings" --width="300" --height="330" --list --column "id" --column "Please select" --hide-column=1 --text="Welcome to the LCD-Settings-Dialogue.\n\nWhat do you want to do?\n" "bright" "Change LCD Brightness" "gammasimple" "Manage LCD Gamma (simple)" "gamma" "Manage LCD Gamma (Advanced)" "filter" "Select current video filter" "filterdef" "Select default video filter" "sblank" "Enable/disable screen blanking" --ok-label="Change Setting" --cancel-label="Exit"); do
9
10 case $mainsel in
11
12   "bright")
13     minbright=3
14     maxbright=$(cat $SYSFS_BACKLIGHT/max_brightness)
15     curbright=$(cat $SYSFS_BACKLIGHT/brightness)
16     if [ ! $1 ]; then
17       newbright=$(zenity --scale --text "Set brightness" --min-value=$minbright --max-value=$maxbright --value=$curbright --step 1)
18     else
19       newbright=$1
20     fi
21     if [ $newbright ]; then
22         if [ $newbright -le $minbright ]; then newbright=$minbright; fi
23         if [ $newbright -ge $maxbright ]; then newbright=$maxbright; fi
24           echo $newbright > $SYSFS_BACKLIGHT_BRIGHTNESS
25     fi;;
26
27    "gamma")
28     if selection=$(cat /etc/pandora/conf/gamma.conf | awk -F\; '{print $1 "\n" $2 }' | zenity --width=700 --height=400 --title="Gamma Manager" --list --column "Name" --column "Description" --text "Please select a Gamma Profile" ); then
29       echo $selection
30
31       gamma=$(grep "$selection" /etc/pandora/conf/gamma.conf | awk -F\; '{print $3}')
32
33     if [ "${gamma}" = "syssyscreatenew" ]; then
34       cat $SYSFS_GAMMA > /tmp/gamma.current
35       op_gammatool
36       if zenity --question --title="Confirm new gamma setting" --text="Do you want to keep the current gamma setting or revert to the previous one?" --ok-label="Keep it" --cancel-label="Revert"; then
37         if zenity --question --title="Save as profile" --text="Do you want to save the new gamma setting as new profile?\n\nNote: You can also test it out first and save it later by restarting the Gamma Manager" --ok-label="Save it now" --cancel-label="Don't save it now"; then    
38          while ! name=$(zenity --title="Save current settings" --entry --text "Please enter a Name for the new profile.") || [ "x$name" = "x" ] ; do
39             zenity --title="Error" --error --text="Please enter a name for the profile.." --timeout 6
40          done
41          curr=$(cat $SYSFS_GAMMA)
42          desc=$(zenity --title="Save current settings" --entry --text "Please enter a description for the new profile.")
43          echo "$name;$desc;$curr" >> /etc/pandora/conf/gamma.conf    
44          zenity --info --title="Profile created" --text "The current gamma settings have been saved as a new profile." --timeout 6
45        fi
46      else
47        cat /tmp/gamma.current > $SYSFS_GAMMA
48      fi
49     elif [ "${gamma}" = "syssyssavecurrent" ]; then
50       curr=$(cat $SYSFS_GAMMA)
51     while ! name=$(zenity --title="Save current settings" --entry --text "Please enter a Name for the new profile.") || [ "x$name" = "x" ] ; do
52       zenity --title="Error" --error --text="Please enter a name for the profile.." --timeout 6
53     done
54       desc=$(zenity --title="Save current settings" --entry --text "Please enter a description for the new profile.")
55       echo "$name;$desc;$curr" >> /etc/pandora/conf/gamma.conf    
56       zenity --info --title="Profile created" --text "The current gamma settings have been saved as a new profile." --timeout 6
57     elif [ ${gamma} = "syssysdeleteprofile" ]; then    
58       if selection2=$(cat /etc/pandora/conf/gamma.conf | grep -v syssys | awk -F\; '{print $1 "\n" $2 }' | zenity --width=700 --height=400 --title="Delete gamma profile" --list --column "Name" --column "Description" --text "Please select a Gamma Profile to Delete" ); then
59         if [ "${selection2}" = "Default Gamma" ]; then
60           zenity --title="Error" --error --text="You cannot delete the default Gamma settings" --timeout 6
61       else
62         if zenity --question --title="Confirm Profile Removal" --text="Are you REALLY sure you want to remove the profile $selection2?\n\nThere will be NO other confirmation and this can NOT be undone!" --ok-label="Yes, remove the profile!" --cancel-label="Don't remove the profile"; then
63           remove=$(grep "$selection2" /etc/pandora/conf/gamma.conf)
64           cat /etc/pandora/conf/gamma.conf | grep -v "$remove" > /tmp/gamma.conf
65           mv /tmp/gamma.conf /etc/pandora/conf/gamma.conf
66           zenity --info --title="Profile deleted" --text "The profile has been deleted." --timeout 6
67         else
68           zenity --info --title="Profile not deleted" --text "The profile has not been deleted." --timeout 6
69         fi
70       fi
71      fi
72     else
73       echo $gamma > $SYSFS_GAMMA
74     fi
75     fi;;
76
77     "filter")
78     if selection=$(head -1 /etc/pandora/conf/dss_fir/* | sed 's:==> ::' | sed 's: <==::' | sed '/^$/d' | zenity --width=700 --height=200 --title="Videofilter" --hide-column=1 --list --column "filter" --column "Videofilter" --text "Please select a videofilter" ); then
79       videofilter=$(basename $selection)
80       sudo /usr/pandora/scripts/op_videofir.sh $videofilter
81       zenity --info --title="Videofilter applied" --text "The videofilter has been applied." --timeout 6
82     fi;;
83     
84     "filterdef")
85     if selection=$(head -1 /etc/pandora/conf/dss_fir/* | sed 's:==> ::' | sed 's: <==::' | sed '/^$/d' | zenity --width=700 --height=200 --title="Videofilter" --hide-column=1 --list --column "filter" --column "Videofilter" --text "Please select a videofilter which will automatically be set on startup" ); then
86       videofilter=$(basename $selection)
87       echo $videofilter > /etc/pandora/conf/filter.state
88       zenity --info --title="Default Videofilter set" --text "The default video filter has been set." --timeout 6
89     fi;;
90
91     "sblank")
92      user=$(cat /tmp/currentuser)
93      if zenity --question --title="Screen blanking" --text="Do you want to enable or disable the automatic screen blanking?" --ok-label="Enable it" --cancel-label="Disable it"; then 
94         sed -i "s/.*xset.*/# DISPLAY=:0 xset s off/g" /home/${user}/.xinitrc
95          zenity --info --title="Screen blanking" --text "The automatic screen blanking has been enabled." --timeout 6
96          DISPLAY=:0 xset s on
97         else
98           sed -i "s/.*xset.*/DISPLAY=:0 xset s off/g" /home/${user}/.xinitrc
99           zenity --info --title="Screen blanking" --text "The automatic screen blanking has been disabled." --timeout 6
100           DISPLAY=:0 xset s off
101         fi;;
102
103      "gammasimple")
104      dsscurr=$(cat /etc/pandora/conf/dssgamma.state)
105      while dssgamma=$(zenity --scale --text "Set Quick Gamma (Standard: 100)\n\nPress Ok to apply and Cancel to go back to the main menu." --min-value=0 --max-value=200 --value=$dsscurr --step 1); do
106      dssgamma2=$(echo "scale=2;$dssgamma / 100" | bc)
107      dsscurr=$dssgamma
108      echo $dsscurr > /etc/pandora/conf/dssgamma.state
109      sudo /usr/pandora/scripts/op_gamma.sh $dssgamma2
110      done;;
111 esac
112 done
113