X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-bottom%2F30accessibility;h=4ed1c6d62119c047b6345c5399a53e8eeeb33291;hb=2d129205223e1fb6322bb03a9cb9fdf1736885b8;hp=d838d76898b54ef4acaeecaca4db60b29069fa31;hpb=51bcd807500eb90c674974023d5d7ed7bdb89e9f;p=live-boot-grml.git diff --git a/scripts/live-bottom/30accessibility b/scripts/live-bottom/30accessibility index d838d76..4ed1c6d 100755 --- a/scripts/live-bottom/30accessibility +++ b/scripts/live-bottom/30accessibility @@ -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,6 +47,36 @@ gct () 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 "$1" /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 < /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 access=v1) # Lesser Visual Impairment @@ -67,8 +97,11 @@ case ${ACCESS} in 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 + add_sudoers_file if [ -x /root/usr/bin/orca ] then @@ -77,10 +110,6 @@ case ${ACCESS} in 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 - - mkdir -p /root/home/${USERNAME}/.config/autostart - cp /root/usr/share/applications/orca.desktop /root/home/${USERNAME}/.config/autostart - chroot /root chown -R ${USERNAME}.${USERNAME} /home/${USERNAME}/.config fi ;; @@ -89,22 +118,30 @@ case ${ACCESS} in # Disabled for now, until we know eSpeak works. #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 + add_sudoers_file + remove_applet fast_user_switch if [ -x /root/usr/bin/orca ] then - mkdir -p /root/home/${USERNAME}/.config/autostart - cp /root/usr/share/applications/orca.desktop /root/home/${USERNAME}/.config/autostart - chroot /root chown -R ${USERNAME}.${USERNAME} /home/${USERNAME}/.config + 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 + add_sudoers_file if [ -x /root/usr/bin/orca ] then @@ -112,12 +149,11 @@ 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.enableBraille = True" >> /root/home/${USERNAME}/.orca/user-settings.py + laptop_detect chroot /root chown -R ${USERNAME}:${USERNAME} /home/${USERNAME}/.orca - - mkdir -p /root/home/${USERNAME}/.config/autostart - cp /root/usr/share/applications/orca.desktop /root/home/${USERNAME}/.config/autostart - chroot /root chown -R ${USERNAME}.${USERNAME} /home/${USERNAME}/.config fi + + remove_applet fast_user_switch ;; access=m1)