X-Git-Url: http://git.grml.org/?a=blobdiff_plain;ds=inline;f=scripts%2Flive-bottom%2F30accessibility;h=4ed1c6d62119c047b6345c5399a53e8eeeb33291;hb=642591226c57f1902e6d159c0dea5bbee2afc572;hp=4726a75de0714ec484bd39807e1c0105c18f6b80;hpb=cc62ca76356dc851006e3fc980cc1dcc46ef9ca6;p=live-boot-grml.git
diff --git a/scripts/live-bottom/30accessibility b/scripts/live-bottom/30accessibility
index 4726a75..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
@@ -27,9 +27,15 @@ 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
+# live-boot script
gconf_version=$(chroot /root /usr/bin/dpkg-query -W --showformat='${Version}' gconf2 2>/dev/null) || gconf_version=""
@@ -41,12 +47,34 @@ gct ()
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 "$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
@@ -64,27 +92,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
+ add_sudoers_file
- 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 +119,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
+ 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)
# 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 [ -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 +168,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 +183,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