op_lcdsettings: Added right-click-mode selection
[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="370" --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" "rightclickmode" "Select Right-Click-Mode for touchscreen" --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       
112       "rightclickmode")
113       user=$(cat /tmp/currentuser)
114       if zenity --question --title="Right-Click Mode" --text="Choose how you would like to do a right-click with the touchscreen: You can either use the click-and-hold-method to right click or to use ALT as modifier key." --ok-label="ALT as modifier" --cancel-label="Click-and-Hold"; then 
115           echo 'mode = "1"' > /home/$user/Applications/Settings/libgtkstylus.conf
116           zenity --info --title="Right-Click" --text "To do a right-click with the stylus, press and hold the ALT button while clicking.\n\nYou need to restart X to enable this." --timeout 6
117         else
118           echo 'mode = "0"' > /home/$user/Applications/Settings/libgtkstylus.conf
119           zenity --info --title="Right-Click" --text "To do a right-click with the stylus, press and hold the stylus on the screen.\n\nYou need to restart X to enable this." --timeout 6
120         fi;;     
121      
122 esac
123 done
124