22e5c89d361f17e9ba948dbdebf2169c4ee656d7
[openpandora.oe.git] / recipes / pandora-system / pandora-scripts / op_lcdsettings.sh
1 #!/bin/bash
2 # Released under the GPL
3 # LCD-Settings, v1.0, 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="300" --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" "gamma" "Manage LCD Gamma" "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 esac
103 done
104
105
106 DISPLAY=:0 xset s off