Merging swap live-bottom script into fstab script; there is no other sane possibility...
[live-boot-grml.git] / scripts / live-bottom / 30accessibility
index 9c20265..3ff3fda 100755 (executable)
@@ -27,7 +27,13 @@ fi
 
 . /scripts/live-functions
 
-log_begin_msg "Configuring accessibility options..."
+if [ -z "${USERNAME}" ]
+then
+       echo "No default user for accessibility options."
+       exit 0
+fi
+
+log_begin_msg "Configuring accessibility options"
 
 # live-initramfs script
 
@@ -41,6 +47,33 @@ gct ()
        fi
 }
 
+laptop_detect ()
+{
+       if chroot /root /usr/sbin/laptop-detect
+       then
+               echo "orca.settings.orcaModifierKeys = orca.settings.LAPTOP_MODIFIER_KEYS" >> /root/home/$USERNAME/.orca/user-settings.py
+               echo "orca.settings.keyboardLayout = orca.settings.GENERAL_KEYBOARD_LAYOUT_LAPTOP" >> /root/home/$USERNAME/.orca/user-settings.py
+       fi
+}
+
+remove_applet ()
+{
+       # Code to remove an applet from the default panel setup
+       # This is rather hacky, but I can't think of a one or two line regular
+       # expression to do this any more efficiently. Patches welcome. In
+       # addition, setting these via gconf also doesn't work for some reason.
+
+       local line_no prior_line next_line
+
+       line_no="$(grep -n "<string>$1</string>" /root/usr/share/gconf/defaults/05_panel-default-setup.entries | cut -f 1 -d :)"
+       prior_line="$((line_no-1))"
+       next_line="$((line_no+1))"
+
+       sed -i -n "${prior_line},${next_line}!p" /root/usr/share/gconf/defaults/05_panel-default-setup.entries
+
+       chroot /root update-gconf-defaults
+}
+
 case ${ACCESS} in
        access=v1)
                # Lesser Visual Impairment
@@ -62,11 +95,18 @@ case ${ACCESS} in
                # Moderate Visual Impairment
                gct -s -t bool /desktop/gnome/interface/accessibility true
                gct -s -t bool /desktop/gnome/applications/at/visual/startup true
+               gct -s -t string /desktop/gnome/applications/at/visual/exec orca
                gct -s -t bool /apps/gksu/disable-grab true
+               gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
 
-               if [ -e /root/usr/share/pycentral/gnome-orca/site-packages/orca/settings.py ]
+               if [ -x /root/usr/bin/orca ]
                then
-                       sed -i '/^enableSpeech\W/ s/True/False/;/^enableMagnifier/ s/False/True/' /root/usr/share/pycentral/gnome-orca/site-packages/orca/settings.py
+                       mkdir -p /root/home/${USERNAME}/.orca
+                       echo "import orca.settings" >> /root/home/${USERNAME}/.orca/user-settings.py
+                       echo "orca.settings.enableSpeech = False" >> /root/home/${USERNAME}/.orca/user-settings.py
+                       echo "orca.settings.enableMagnifier = True" >> /root/home/${USERNAME}/.orca/user-settings.py
+                       laptop_detect
+                       chroot /root chown -R ${USERNAME}:${USERNAME} /home/${USERNAME}/.orca
                fi
                ;;
 
@@ -76,19 +116,32 @@ case ${ACCESS} in
                #gct -s -t bool /desktop/gnome/sound/enable_esd false
                gct -s -t bool /desktop/gnome/interface/accessibility true
                gct -s -t bool /desktop/gnome/applications/at/visual/startup true
+               gct -s -t string /desktop/gnome/applications/at/visual/exec orca
                gct -s -t bool /apps/gksu/disable-grab true
+               gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
+
+               remove_applet fast_user_switch
                ;;
 
        braille=ask)
                # Braille
                gct -s -t bool /desktop/gnome/interface/accessibility true
                gct -s -t bool /desktop/gnome/applications/at/visual/startup true
+               gct -s -t string /desktop/gnome/applications/at/visual/exec orca
                gct -s -t bool /apps/gksu/disable-grab true
+               gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
 
-               if [ -e /root/usr/share/pycentral/gnome-orca/site-packages/orca/settings.py ]
+               if [ -x /root/usr/bin/orca ]
                then
-                       sed -i '/^enableSpeech\W/ s/True/False/;/^enableBraille/ s/False/True/' /root/usr/share/pycentral/gnome-orca/site-packages/orca/settings.py
+                       mkdir -p /root/home/${USERNAME}/.orca
+                       echo "import orca.settings" >> /root/home/${USERNAME}/.orca/user-settings.py
+                       echo "orca.settings.enableSpeech = False" >> /root/home/${USERNAME}/.orca/user-settings.py
+                       echo "orca.settings.enableBraille = True" >> /root/home/${USERNAME}/.orca/user-settings.py
+                       laptop_detect
+                       chroot /root chown -R ${USERNAME}:${USERNAME} /home/${USERNAME}/.orca
                fi
+
+               remove_applet fast_user_switch
                ;;
 
        access=m1)