#!/bin/sh # If you change this, please also change the copy in scripts/casper-bottom/30accessibility. . /usr/share/debconf/confmodule . /etc/casper.conf PREREQ="" DESCRIPTION="Configuring accessibility options..." db_get passwd/username TARGET_USERNAME="$RET" gct() { chroot /target sudo -u "$TARGET_USERNAME" gconftool-2 "$@" } gct_gdm() { chroot /target sudo -u gdm gconftool-2 "$@" } kderc_addtoprefixes() { if [ -e "/target/etc/kde4rc" ]; then sed -i "s|\\(prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/\\)|\\1,$1|" /target/etc/kde4rc 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. remove_applet() { local line_no prior_line next_line line_no=$(grep -n "$1" /target/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" /target/usr/share/gconf/defaults/05_panel-default-setup.entries chroot /target update-gconf-defaults } for x in $(cat /proc/cmdline); do case $x in # Lesser Visual Impairment access=v1) gct -s -t string /desktop/gnome/interface/gtk_theme HighContrastLargePrint gct -s -t string /desktop/gnome/interface/icon_theme HighContrast gct -s -t string /desktop/gnome/interface/monospace_font_name "monospace 18" gct -s -t string /desktop/gnome/interface/font_name "sans 18" gct -s -t string /apps/metacity/general/theme Atlanta gct -s -t string /desktop/gnome/background/picture_filename "" gct -s -t string /desktop/gnome/background/picture_options none gct -s -t string /desktop/gnome/background/primary_color \#666666 gct -s -t string /desktop/gnome/background/secondary_color \#7F7F7F 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 /target/usr/share/xubuntu-default-settings/accessibility ]; then cp -a /target/usr/share/xubuntu-default-settings/accessibility/* /target/etc/xdg/ fi ;; # Moderate Visual Impairment access=v2) gct -s -t bool /desktop/gnome/interface/accessibility true 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 bool /desktop/gnome/applications/at/visual/startup true gct -s -t string /desktop/gnome/applications/at/visual/exec orca if [ -d /usr/share/xubuntu-default-settings ]; then apt-install gnome-orca gnome-mag fi if [ -x /target/usr/bin/orca ]; then if [ -f /home/$USERNAME/.orca/user-settings.py ]; then cp -r /home/$USERNAME/.orca /target/home/$TARGET_USERNAME/ chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca else mkdir -p /target/home/$TARGET_USERNAME/.orca echo "import orca.settings" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py echo "orca.settings.enableSpeech = True" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py echo "orca.settings.enableMagnifier = True" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca fi fi sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /target/etc/sudoers kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/,/usr/share/kubuntu-default-settings/kde-profile/moderate-visual-impairment/ ;; # Blindness access=v3) gct -s -t bool /desktop/gnome/interface/accessibility true 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 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_gdm -s -t bool /desktop/gnome/interface/accessibility true gct_gdm -s -t bool /desktop/gnome/applications/at/visual/startup true gct_gdm -s -t string /desktop/gnome/applications/at/visual/exec orca gct_gdm -s -t bool /desktop/gnome/applications/at/screen_reader_enabled true remove_applet fast_user_switch sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /target/etc/sudoers if [ -x /target/usr/bin/orca ]; then if [ -f /home/$USERNAME/.orca/user-settings.py ]; then cp -r /home/$USERNAME/.orca /target/home/$TARGET_USERNAME/ chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca cp -r /home/$USERNAME/.orca /target/var/lib/gdm chroot /target chown -R gdm.gdm /var/lib/gdm/.orca else mkdir -p /target/home/$TARGET_USERNAME/.orca chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca fi fi if [ -d /usr/share/xubuntu-default-settings ]; then apt-install gnome-orca fi ;; # Braille braille=ask) 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 if [ -x /target/usr/bin/orca ]; then if [ -f /home/$USERNAME/.orca/user-settings.py ]; then cp -r /home/$USERNAME/.orca /target/home/$TARGET_USERNAME/ chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca cp -r /home/$USERNAME/.orca /target/var/lib/gdm chroot /target chown -R gdm.gdm /var/lib/gdm/.orca else mkdir -p /target/home/$TARGET_USERNAME/.orca echo "import orca.settings" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py echo "orca.settings.enableSpeech = False" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py echo "orca.settings.enableBraille = True" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca cp -r /home/$TARGET_USERNAME/.orca /target/var/lib/gdm chroot /target chown -R gdm.gdm /var/lib/gdm/.orca fi fi 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 gct_gdm -s -t bool /desktop/gnome/interface/accessibility true gct_gdm -s -t bool /desktop/gnome/applications/at/visual/startup true gct_gdm -s -t string /desktop/gnome/applications/at/visual/exec orca gct_gdm -s -t bool /desktop/gnome/applications/at/screen_reader_enabled true remove_applet fast_user_switch sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /target/etc/sudoers ;; # Minor Motor Difficulties access=m1) gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true gct -s -t bool /desktop/gnome/accessibility/keyboard/mousekeys_enable true gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep true gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false gct -s -t bool /desktop/gnome/peripherals/keyboard/repeat true gct -s -t int /desktop/gnome/peripherals/keyboard/delay 700 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 /target/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then sed -i 's/0/1/' /target/etc/xdg/xfce4/mcs_settings/keyboard.xml fi ;; # Motor Difficulties - pointing devices access=m2) gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true gct -s -t bool /desktop/gnome/interface/accessibility true gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep false gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false gct -s -t bool /desktop/gnome/applications/at/mobility/startup true gct -s -t string /desktop/gnome/applications/at/mobility/exec 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 /target/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then sed -i '/Sticky/ s/0/1/' /target/etc/xdg/xfce4/mcs_settings/keyboard.xml fi ;; esac done