Release new 3.0~a24-1+grml.2
[live-boot-grml.git] / scripts / live-bottom / 30accessibility
index 51780d2..4ed1c6d 100755 (executable)
@@ -18,7 +18,7 @@ case "${1}" in
                ;;
 esac
 
-# live-initramfs header
+# live-boot header
 
 if [ -n "${NOACCESSIBILITY}" ]
 then
@@ -35,7 +35,7 @@ fi
 
 log_begin_msg "Configuring accessibility options"
 
-# live-initramfs script
+# live-boot script
 
 gconf_version=$(chroot /root /usr/bin/dpkg-query -W --showformat='${Version}' gconf2 2>/dev/null) || gconf_version=""
 
@@ -47,13 +47,34 @@ gct ()
        fi
 }
 
-laptop_detect ()
+remove_applet ()
 {
-       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
+       # 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
+}
+
+add_sudoers_file ()
+{
+
+cat <<EOF > /root/etc/sudoers.d/a11y-sudo
+# TO allow accessibility in GTK to work with sudo.
+Defaults        env_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"
+EOF
+
+       chmod 0440 /root/etc/sudoers.d/a11y-sudo
 }
 
 case ${ACCESS} in
@@ -80,6 +101,7 @@ case ${ACCESS} in
                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
+               add_sudoers_file
 
                if [ -x /root/usr/bin/orca ]
                then
@@ -87,7 +109,6 @@ case ${ACCESS} in
                        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
                ;;
@@ -99,9 +120,17 @@ case ${ACCESS} in
                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
+               add_sudoers_file
 
+               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)
@@ -111,6 +140,8 @@ case ${ACCESS} in
                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
+               add_sudoers_file
 
                if [ -x /root/usr/bin/orca ]
                then
@@ -121,6 +152,8 @@ case ${ACCESS} in
                        laptop_detect
                        chroot /root chown -R ${USERNAME}:${USERNAME} /home/${USERNAME}/.orca
                fi
+
+               remove_applet fast_user_switch
                ;;
 
        access=m1)