ac8d12efaec7428ed33df6d2f5d54d8a70adffe1
[live-boot-grml.git] / scripts / live-bottom / 30accessibility
1 #!/bin/sh
2
3 #set -e
4
5 # initramfs-tools header
6
7 PREREQ=""
8
9 prereqs()
10 {
11         echo "${PREREQ}"
12 }
13
14 case "${1}" in
15         prereqs)
16                 prereqs
17                 exit 0
18                 ;;
19 esac
20
21 # live-initramfs header
22
23 . /scripts/live-functions
24
25 log_begin_msg "Configuring accessibility options..."
26
27 # live-initramfs script
28
29 gconf_version=$(chroot /root /usr/bin/dpkg-query -W --showformat='${Version}' gconf2 2>/dev/null) || gconf_version=""
30
31 gct() {
32     if [ "$gconf_version" ]; then
33         chroot /root sudo -u "$USERNAME" gconftool-2 "$@"
34     fi
35 }
36
37 kderc_addtoprefixes() {
38     if [ -e "/root/etc/kderc" ]; then
39         sed -i "s|\\(prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/\\)|\\1,$1|" /root/etc/kderc
40     fi
41 }
42
43 case ${ACCESS} in
44                         # Lesser Visual Impairment
45                         access=v1)
46                         gct -s -t string /desktop/gnome/interface/gtk_theme HighContrastLargePrint
47                         gct -s -t string /desktop/gnome/interface/icon_theme HighContrast
48                         gct -s -t string /desktop/gnome/interface/monospace_font_name "monospace 18"
49                         gct -s -t string /desktop/gnome/interface/font_name "sans 18"
50                         gct -s -t string /apps/metacity/general/theme Atlanta
51                         gct -s -t string /desktop/gnome/background/picture_filename ""
52                         gct -s -t string /desktop/gnome/background/picture_options none
53                         gct -s -t string /desktop/gnome/background/primary_color \#666666
54                         gct -s -t string /desktop/gnome/background/secondary_color \#7F7F7F
55                         gct -s -t string /desktop/gnome/background/color_shading_type solid
56                         gct -s -t int /desktop/gnome/peripherals/mouse/cursor_size 48
57                         gct -s -t string /desktop/gnome/peripherals/mouse/cursor_theme whiteglass
58
59                         kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/
60                         if [ -d /root/usr/share/xubuntu-default-settings/accessibility ]; then
61                             cp -a /root/usr/share/xubuntu-default-settings/accessibility/* /root/etc/xdg/
62                         fi
63                         ;;
64                         # Moderate Visual Impairment
65                         access=v2)
66                         gct -s -t bool /desktop/gnome/interface/accessibility true
67                         gct -s -t bool /desktop/gnome/applications/at/visual/startup true
68                         if [ -e /root/usr/share/pycentral/gnome-orca/site-packages/orca/settings.py ]; then
69                             sed -i '/^enableSpeech\W/ s/True/False/;/^enableMagnifier/ s/False/True/' /root/usr/share/pycentral/gnome-orca/site-packages/orca/settings.py
70                         fi
71                         gct -s -t bool /apps/gksu/disable-grab true
72                         kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/,/usr/share/kubuntu-default-settings/kde-profile/moderate-visual-impairment/
73                         ;;
74                         # Blindness
75                         access=v3)
76                         # Disabled for now, until we know eSpeak works.
77                         #gct -s -t bool /desktop/gnome/sound/enable_esd false
78                         gct -s -t bool /desktop/gnome/interface/accessibility true
79                         gct -s -t bool /desktop/gnome/applications/at/visual/startup true
80                         gct -s -t bool /apps/gksu/disable-grab true
81                         ;;
82                         # Braille
83                         braille=ask)
84                         gct -s -t bool /desktop/gnome/interface/accessibility true
85                         gct -s -t bool /desktop/gnome/applications/at/visual/startup true
86                         if [ -e /root/usr/share/pycentral/gnome-orca/site-packages/orca/settings.py ]; then
87                             sed -i '/^enableSpeech\W/ s/True/False/;/^enableBraille/ s/False/True/' /root/usr/share/pycentral/gnome-orca/site-packages/orca/settings.py
88                         fi
89                         gct -s -t bool /apps/gksu/disable-grab true
90                         ;;
91                         # Minor Motor Difficulties
92                         access=m1)
93                         gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true
94                         gct -s -t bool /desktop/gnome/accessibility/keyboard/mousekeys_enable true
95                         gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true
96                         gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep true
97                         gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
98                         gct -s -t bool /desktop/gnome/peripherals/keyboard/repeat true
99                         gct -s -t int /desktop/gnome/peripherals/keyboard/delay 700
100                         gct -s -t int /desktop/gnome/peripherals/keyboard/rate 10
101                         gct -s -t bool /apps/gksu/disable-grab true
102                         kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/
103                         if [ -e /root/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then
104                             sed -i 's/0/1/' /root/etc/xdg/xfce4/mcs_settings/keyboard.xml
105                         fi
106                         ;;
107                         # Motor Difficulties - pointing devices
108                         access=m2)
109                         gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true
110                         gct -s -t bool /desktop/gnome/interface/accessibility true
111                         gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true
112                         gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep false
113                         gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
114                         gct -s -t list --list-type=string /desktop/gnome/accessibility/startup/exec_ats [onboard]
115
116                         kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/,/usr/share/kubuntu-default-settings/kde-profile/motor-difficulties-pointing-devices/
117                         if [ -e /root/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then
118                             sed -i '/Sticky/ s/0/1/' /root/etc/xdg/xfce4/mcs_settings/keyboard.xml
119                         fi
120                         ;;
121 esac
122 log_end_msg