Merging casper 1.216.
[live-boot-grml.git] / scripts / live-bottom / 30accessibility
index 17defbf..75bfae4 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
 
@@ -35,18 +41,29 @@ gconf_version=$(chroot /root /usr/bin/dpkg-query -W --showformat='${Version}' gc
 
 gct ()
 {
-       if [ "$gconf_version" ]
+       if [ "${gconf_version}" ]
        then
-               chroot /root sudo -u "$USERNAME" gconftool-2 "$@"
+               chroot /root sudo -u "${USERNAME}" gconftool-2 "${@}"
        fi
 }
 
-kderc_addtoprefixes ()
+remove_applet ()
 {
-       if [ -e "/root/etc/kderc" ]
-       then
-               sed -i "s|\\(prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/\\)|\\1,$1|" /root/etc/kderc
-       fi
+       # 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 :)"
+       [ "$line_no" ] || return
+       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
@@ -64,27 +81,25 @@ case ${ACCESS} in
                gct -s -t string /desktop/gnome/background/color_shading_type solid
                gct -s -t int /desktop/gnome/peripherals/mouse/cursor_size 48
                gct -s -t string /desktop/gnome/peripherals/mouse/cursor_theme whiteglass
-
-               kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/
-
-               if [ -d /root/usr/share/xubuntu-default-settings/accessibility ]
-               then
-                       cp -a /root/usr/share/xubuntu-default-settings/accessibility/* /root/etc/xdg/
-               fi
                ;;
 
        access=v2)
                # 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
+               sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /root/etc/sudoers
 
-               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
+                       chroot /root chown -R ${USERNAME}:${USERNAME} /home/${USERNAME}/.orca
                fi
-
-               kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/,/usr/share/kubuntu-default-settings/kde-profile/moderate-visual-impairment/
                ;;
 
        access=v3)
@@ -93,19 +108,41 @@ 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 string /apps/empathy/conversation/theme classic
                gct -s -t bool /apps/gksu/disable-grab true
+               gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
+               sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /root/etc/sudoers
+
+               remove_applet fast_user_switch
+               if [ -x /root/usr/bin/orca ]
+               then
+                       mkdir -p /root/home/$USERNAME/.orca
+                       chroot /root chown -R $USERNAME.$USERNAME /home/$USERNAME/.orca
+               fi
                ;;
 
        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
+               gct -s -t string /apps/empathy/conversation/theme classic
+               sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /root/etc/sudoers
 
-               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)
@@ -120,8 +157,6 @@ case ${ACCESS} in
                gct -s -t int /desktop/gnome/peripherals/keyboard/rate 10
                gct -s -t bool /apps/gksu/disable-grab true
 
-               kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/
-
                if [ -e /root/etc/xdg/xfce4/mcs_settings/keyboard.xml ]
                then
                        sed -i 's/0/1/' /root/etc/xdg/xfce4/mcs_settings/keyboard.xml
@@ -137,8 +172,6 @@ case ${ACCESS} in
                gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
                gct -s -t list --list-type=string /desktop/gnome/accessibility/startup/exec_ats [onboard]
 
-               kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/,/usr/share/kubuntu-default-settings/kde-profile/motor-difficulties-pointing-devices/
-
                if [ -e /root/etc/xdg/xfce4/mcs_settings/keyboard.xml ]
                then
                        sed -i '/Sticky/ s/0/1/' /root/etc/xdg/xfce4/mcs_settings/keyboard.xml