rev |
line source |
pankso@4
|
1 #!/bin/sh
|
pankso@4
|
2 #
|
pankso@66
|
3 # Tazx - Ncurses X configuration for SliTaz GNU/Linux using Dialog boxes.
|
paul@835
|
4 # This tinyutil is part of slitaz-tools. Tazx can configure Xorg with
|
pankso@626
|
5 # several Window Managers. The GTK interface to configure X is in tazbox.
|
pankso@4
|
6 #
|
pascal@821
|
7 # (c) 2011-2014 SliTaz GNU/Linux - GNU GPL v3.
|
pankso@209
|
8 # Authors: Christophe Lincoln <pankso@slitaz.org>
|
pankso@209
|
9 # Pascal Bellard <pascal.bellard@slitaz.org>
|
pankso@4
|
10 #
|
pankso@837
|
11
|
paul@838
|
12 # 20140317: most xsession, xinitrc are obsolete, provided system files
|
pankso@840
|
13 # are in /etc/skel and WM config files should no longer be copied by
|
pankso@840
|
14 # tazx to user home. If some configs are needed by WMs they should
|
pankso@840
|
15 # be set by a /usr/bin/wmname-session script I guess. - Pankso
|
pankso@837
|
16
|
al@813
|
17 . /lib/libtaz.sh
|
al@813
|
18 . /etc/slitaz/slitaz.conf
|
pankso@840
|
19 . /etc/slitaz/applications.conf
|
pankso@840
|
20
|
pankso@840
|
21 installed="$PKGS_DB/installed"
|
pankso@840
|
22
|
al@813
|
23 export TEXTDOMAIN='slitaz-tools' #i18n
|
pascal@916
|
24 : ${DIALOG=dialog --timeout 60}
|
pankso@4
|
25
|
psychomaniak@918
|
26 WM_i18n=$(_n 'Window Manager:'| sed s/://)
|
psychomaniak@918
|
27 INST_i18n=$(_n 'Install Xorg' | sed 's|Xorg||;s|X.org||;s| ||')
|
pankso@351
|
28
|
pankso@534
|
29 # Default user for config files in Live mode, id is 1000 since it is
|
pankso@534
|
30 # created by /etc/init.d/bootopts.sh.
|
pankso@626
|
31 USER=$(cat /etc/passwd | grep 1000 | cut -d ":" -f 1)
|
pankso@4
|
32
|
pankso@628
|
33 #
|
pankso@615
|
34 # Functions
|
pankso@628
|
35 #
|
pankso@615
|
36
|
al@813
|
37 # Save chunk of xorg.conf into specified file
|
al@813
|
38 save_chunk() {
|
al@813
|
39 sed -e '/Section "'${1#*-}'"/,/EndSection/!d' \
|
al@813
|
40 -e "s/EndSection/EndSection\n/" $xorg_template > \
|
al@813
|
41 $xorg_config/$1.conf
|
pankso@615
|
42 }
|
pankso@66
|
43
|
pankso@871
|
44 gen_xorg_conf_file() {
|
pankso@871
|
45 # Create a xorg.conf if needed.
|
pankso@871
|
46 if [ ! -f /etc/X11/xorg.conf ]; then
|
pankso@871
|
47 cat > /etc/X11/xorg.conf << EOT
|
pankso@871
|
48 # You can put here your own Xorg configurations. This config file is read
|
pankso@871
|
49 # before all files in /etc/X11/xorg.conf.d and will NOT be erased by any
|
pankso@871
|
50 # updates.
|
pankso@871
|
51 EOT
|
pankso@871
|
52 fi
|
pankso@871
|
53 }
|
pankso@871
|
54
|
pankso@870
|
55 # Generate or regenerate 40-Keyboard.conf
|
pankso@870
|
56 keyboard_conf() {
|
gokhlayeh@492
|
57 # Configure the keyboard with the right keymap.
|
al@813
|
58 keymap=$(cat /etc/keymap.conf)
|
pankso@874
|
59 keyboard_config="/etc/X11/xorg.conf.d/40-Keyboard.conf"
|
al@779
|
60 variant=""
|
al@779
|
61 # this XkbOption moved from 40-evdev.conf (xorg-xf86-input-evdev)
|
al@779
|
62 options="terminate:ctrl_alt_bksp"
|
pankso@874
|
63 gettext "Creating:"; echo -n " $keyboard_config"
|
pankso@874
|
64 mkdir -p $(dirname $keyboard_config)
|
pankso@874
|
65 case "$keymap" in
|
pankso@260
|
66 fr_CH-latin1)
|
pankso@260
|
67 # Swiss FrenCH
|
al@779
|
68 layout="ch"; variant="fr" ;;
|
pankso@597
|
69 uk)
|
paul@617
|
70 # English UK
|
al@779
|
71 layout="gb" ;;
|
pankso@260
|
72 ru)
|
pankso@260
|
73 # Russian
|
al@779
|
74 layout="us,ru"
|
al@779
|
75 options="grp:ctrl_shift_toggle, grp_led:scroll, $options" ;;
|
al@813
|
76 ua)
|
al@813
|
77 # Ukrainian
|
al@813
|
78 layout="us,ua,ru"
|
al@813
|
79 options="grp:ctrl_shift_toggle, $options" ;;
|
pankso@303
|
80 slovene)
|
pankso@303
|
81 # Slovenian
|
al@779
|
82 layout="si"; options="grp:alt_shift_toggle, $options" ;;
|
pankso@577
|
83 us-acentos)
|
al@779
|
84 layout="us"; variant="intl" ;;
|
pankso@260
|
85 *)
|
pankso@260
|
86 # Use clean /etc/keymap.conf value.
|
gokhlayeh@492
|
87 keymap=${keymap%-latin1}
|
gokhlayeh@492
|
88 keymap=${keymap%-lat2}
|
gokhlayeh@492
|
89 keymap=${keymap%-lat6}
|
al@779
|
90 layout=${keymap%-abnt2}
|
pankso@260
|
91 esac
|
al@779
|
92 cat > $keyboard_config << EOC
|
al@779
|
93 Section "InputClass"
|
al@779
|
94 Identifier "Keyboard Defaults"
|
al@779
|
95 MatchIsKeyboard "yes"
|
al@779
|
96 Option "XkbLayout" "$layout"
|
al@779
|
97 Option "XkbVariant" "$variant"
|
al@779
|
98 Option "XkbOptions" "$options"
|
al@779
|
99 EndSection
|
al@779
|
100 EOC
|
pankso@874
|
101 status
|
pankso@874
|
102 [ x$variant == x ] && sed -i '/XkbVariant/d' ${keyboard_config}
|
pankso@870
|
103 }
|
pankso@870
|
104
|
pankso@870
|
105 # Populate xorg.conf.d.
|
pankso@870
|
106 xorg_conf_d() {
|
pankso@870
|
107 # Define the xorg.conf.d (can be /etc/X11/xorg.conf.d or /usr/share/X11/xorg.conf.d)
|
pankso@870
|
108 xorg_config=/etc/X11/xorg.conf.d
|
pankso@870
|
109
|
pankso@870
|
110 # Define the xorg.conf.new place.
|
pankso@870
|
111 xorg_template=/root/xorg.conf.new
|
pankso@870
|
112
|
pankso@870
|
113 # Obtain a default configuration file from Xorg.
|
pankso@870
|
114 Xorg -configure :2
|
pankso@870
|
115
|
pankso@870
|
116 # Backup existing config.
|
pankso@870
|
117 tar -cf $xorg_config/../Previous_xorg.conf.d.tar $xorg_config/ &> /dev/null
|
pankso@870
|
118
|
pankso@870
|
119 # Put the different sections in separate files in the config directory.
|
pankso@870
|
120 save_chunk 10-ServerLayout
|
pankso@870
|
121 sed -i '/Core/d' $xorg_config/10-ServerLayout.conf
|
pankso@870
|
122 save_chunk 20-Files
|
pankso@870
|
123 save_chunk 30-Module
|
pankso@870
|
124 save_chunk 50-Monitor
|
pankso@870
|
125 save_chunk 60-Device
|
pankso@870
|
126 save_chunk 70-Screen
|
pankso@870
|
127
|
pankso@870
|
128 # Remove the template.
|
pankso@870
|
129 rm $xorg_template
|
pankso@870
|
130
|
pankso@871
|
131 # Keyboard & xorg.conf
|
pankso@870
|
132 keyboard_conf
|
pankso@871
|
133 gen_xorg_conf_file
|
pankso@260
|
134 }
|
pankso@260
|
135
|
psychomaniak@912
|
136 dialog_end() {
|
psychomaniak@912
|
137 retval=$?
|
psychomaniak@912
|
138 exec 3>&-
|
psychomaniak@912
|
139 # Continue or exit.
|
psychomaniak@912
|
140 case $retval in
|
psychomaniak@918
|
141 0|3) continue ;;
|
psychomaniak@912
|
142 1|255) exit 0 ;;
|
psychomaniak@912
|
143 esac
|
psychomaniak@912
|
144 }
|
psychomaniak@912
|
145
|
paul@549
|
146 # Install xorg server.
|
al@813
|
147 install_xorg() {
|
pankso@628
|
148 [ -f "/var/lib/tazpkg/packages.list" ] || tazpkg recharge
|
pankso@117
|
149 exec 3>&1
|
al@813
|
150 value=$($DIALOG \
|
psychomaniak@918
|
151 --clear --colors --scrollbar --default-item "$1" \
|
al@813
|
152 --title " $(_n 'Install Xorg') " \
|
al@813
|
153 --menu "$(_n 'Tazx helps you to select your X driver.')" 16 70 8 \
|
psychomaniak@918
|
154 Auto_select "$(_n 'Auto configuring Xorg...' | sed 's/X//;s/org//;s|...$||;s| |_|')" \
|
pankso@635
|
155 $(fgrep xorg-xf86-video /var/lib/tazpkg/packages.list | cut -d- -f4 | \
|
al@813
|
156 while read x; do echo $x; _ 'driver'; done) \
|
al@813
|
157 "quit" "$(_n 'Quit')" \
|
al@813
|
158 2>&1 1>&3)
|
psychomaniak@912
|
159 dialog_end
|
al@813
|
160
|
pankso@117
|
161 # Set selected value.
|
pankso@117
|
162 case $value in
|
pankso@628
|
163 quit) exit 0 ;;
|
pankso@117
|
164 *)
|
psychomaniak@918
|
165 [ ! $value = Auto_select ] || autoselect_driver IN_List
|
psychomaniak@912
|
166 inst_pkg xorg-server
|
psychomaniak@912
|
167 inst_pkg xorg-xf86-video-$value
|
pankso@628
|
168 xorg_conf_d ;;
|
pankso@117
|
169 esac
|
pankso@117
|
170 }
|
pankso@117
|
171
|
psychomaniak@918
|
172 autoselect_driver() {
|
psychomaniak@918
|
173 inst_pkg pciutils
|
psychomaniak@918
|
174 for v in AMD ATI Intel NVIDIA SiS VMware; do
|
psychomaniak@922
|
175 hw=$(echo $(lspci | grep VGA | grep $v |LC_ALL=C sed 's/[^aA-zZ]//g')--)
|
psychomaniak@918
|
176 if [ ! $hw = -- ]; then case $v in
|
psychomaniak@918
|
177 AMD|ATI)d=ati;;
|
psychomaniak@918
|
178 Intel) d=intel;;
|
psychomaniak@918
|
179 NVIDIA) d=nouveau;;
|
psychomaniak@918
|
180 SiS) d=sis;;
|
psychomaniak@918
|
181 VMware) d=vmware;;
|
psychomaniak@918
|
182 esac ; fi
|
psychomaniak@918
|
183 done
|
psychomaniak@918
|
184 DEVICE=$(_ 'driver')
|
psychomaniak@918
|
185 [ ! $(echo $d | wc -w) = 0 ] || \
|
psychomaniak@918
|
186 $DIALOG --colors --msgbox "\Z1 $(_n 'Failed to setup $DEVICE') \Zn (unknown hardware)" 5 68
|
psychomaniak@918
|
187
|
psychomaniak@918
|
188 [ $1 = sh ] || install_xorg $d
|
psychomaniak@918
|
189 }
|
psychomaniak@918
|
190
|
psychomaniak@912
|
191 inst_pkg() {
|
psychomaniak@922
|
192 pkg="$@" && colorize 3 $(_ 'Installing pkg: $pkg')
|
psychomaniak@912
|
193 CMD="sudo tazpkg -gi $@"
|
psychomaniak@912
|
194 test $(id -u) = 0 && CMD="tazpkg -gi $@"
|
psychomaniak@912
|
195 [ -d "$installed/$@" ] || $CMD
|
psychomaniak@909
|
196 }
|
psychomaniak@909
|
197
|
psychomaniak@912
|
198 apps_dialog() {
|
psychomaniak@912
|
199 . ${user_conf}
|
psychomaniak@912
|
200 exec 3>&1
|
psychomaniak@918
|
201 app=$($DIALOG --clear --colors --backtitle "$msg" \
|
psychomaniak@918
|
202 --title "{\Z3 $(_n '${INST_i18n}: ${WM_i18n} + applications') \Zn}" \
|
psychomaniak@918
|
203 --inputmenu "" 21 52 18 \
|
psychomaniak@918
|
204 $(for a in WINDOW_MANAGER EDITOR BROWSER TERMINAL FILE_MANAGER; do
|
psychomaniak@918
|
205 eval n='$'"$a" ; echo "$a $n";
|
psychomaniak@912
|
206 done) 2>&1 1>&3)
|
psychomaniak@912
|
207 dialog_end
|
psychomaniak@912
|
208 case $app in
|
psychomaniak@918
|
209 RENAME*)appname=$(echo $app | cut -d " " -f3)
|
psychomaniak@912
|
210 app=$(echo $app | cut -d " " -f2) ;;
|
psychomaniak@912
|
211 *)
|
psychomaniak@912
|
212 app_name_dialog only-installed d a-item ;;
|
psychomaniak@912
|
213 esac
|
psychomaniak@912
|
214 if [ ! $appname = " " ]; then
|
psychomaniak@912
|
215 [ ! $appname = show_ALL ] || app_name_dialog full-list d
|
psychomaniak@912
|
216 if [ ! $(busybox which ${appname} 2>/dev/null) ]; then
|
psychomaniak@912
|
217 inst_pkg $appname
|
psychomaniak@918
|
218 [ -d "$installed/$appname" ] || inst_pkg \
|
psychomaniak@918
|
219 $(tazpkg search-pkgname /bin/$appname | grep -Ev '=|:| |/bin/')
|
psychomaniak@912
|
220 else
|
psychomaniak@918
|
221 sed '/'${app}'/s|=.*$|="'${appname}'"|' -i ${user_conf}
|
psychomaniak@912
|
222 fi
|
psychomaniak@912
|
223 fi
|
psychomaniak@918
|
224 msg=''; apps_dialog
|
psychomaniak@912
|
225 }
|
psychomaniak@912
|
226
|
psychomaniak@912
|
227 app_name_dialog() {
|
psychomaniak@918
|
228 sz=28 ; [ $1 = full-list ] || sz=18
|
psychomaniak@912
|
229 exec 3>&1
|
psychomaniak@918
|
230 appname=$($DIALOG --clear --colors --title "${app}" \
|
psychomaniak@912
|
231 --menu "" $sz 50 24 $(gen_applist $app $@) 2>&1 1>&3) \
|
psychomaniak@912
|
232 dialog_end
|
psychomaniak@912
|
233 }
|
psychomaniak@912
|
234
|
psychomaniak@912
|
235 gen_applist() {
|
psychomaniak@912
|
236 . ${user_conf}
|
psychomaniak@918
|
237 FILE_MANAGERS="clex caja emelfm2 mc pathfinder pcmanfm pcmanfm-qt ranger spacefm thunar xfe ytree"
|
psychomaniak@918
|
238 BROWSERS="arora chrome cream dillo elinks firefox firefox-official iron links lynx \
|
psychomaniak@918
|
239 midori netsurf opera QtWeb qupzilla retawq seamonkey surf tazweb"
|
psychomaniak@918
|
240 EDITORS="adie beaver emacs geany jed joe juffed ht le leafpad mcedit mousepad mp-5 \
|
psychomaniak@912
|
241 nano qedit SciTE vi vim xedit xfw zile"
|
psychomaniak@918
|
242 TERMINALS="aterm evilvte lxterminal mrxvt qterminal sakura stjerm tilda urxvt vte \
|
psychomaniak@912
|
243 xterm yeahconsole"
|
psychomaniak@918
|
244 WINDOW_MANAGERS="awesome blackbox compiz dwm echinus enlightenment fluxbox icewm jwm \
|
psychomaniak@918
|
245 lxde-session lxqt karmen matchbox openbox-session pekwm ratpoison xfwm4"
|
psychomaniak@912
|
246
|
psychomaniak@912
|
247 eval list='$'"$1"S
|
psychomaniak@912
|
248 eval current='$'"$1"
|
psychomaniak@918
|
249 for i in $current $(echo ' '$list' ' | sed "s| "$current" | |g") $4 ; do
|
psychomaniak@912
|
250 t="<--" ; [ $(busybox which $i 2>/dev/null) ] || t=---
|
psychomaniak@912
|
251 if [ $2 = only-installed ] && [ $t = --- ]; then
|
psychomaniak@912
|
252 case $i in
|
psychomaniak@918
|
253 a-item) i=show_ALL t="+"${INST_i18n};;
|
psychomaniak@912
|
254 *) i=" " t=" " ;; esac
|
psychomaniak@912
|
255 fi
|
psychomaniak@912
|
256 echo "$i"
|
psychomaniak@918
|
257 [ $3 = yad ] || echo -e "$(echo $t | sed "s|---|${INST_i18n}|g ; s| ||g")"
|
psychomaniak@912
|
258 done
|
psychomaniak@912
|
259 }
|
psychomaniak@912
|
260
|
psychomaniak@912
|
261 # Screen configuration dialog.
|
al@813
|
262 config_dialog() {
|
psychomaniak@909
|
263 . /etc/rcS.conf ; LM="ON"
|
psychomaniak@909
|
264 [ $LOGIN_MANAGER = "slim" ] || LM="OFF"
|
psychomaniak@909
|
265
|
pankso@66
|
266 exec 3>&1
|
al@813
|
267 value=$($DIALOG \
|
pankso@535
|
268 --clear --colors \
|
pankso@840
|
269 --title "{ $(_n 'SliTaz Xorg config') }" \
|
pankso@840
|
270 --menu "" 16 72 10 \
|
pankso@840
|
271 "xorg" "$(_n 'Install or reconfigure Xorg')" \
|
pankso@840
|
272 "xorg-light" "$(_n 'Install Xorg server (light version)')" \
|
psychomaniak@918
|
273 "onboot" "$(_n 'AutoStart Xorg by SLiM on boot') ...| \Z5$LM\Zn" \
|
psychomaniak@909
|
274 "slim" "$(_n '(Re)Start Simple Login Manager now')" \
|
psychomaniak@918
|
275 "wm_apps" "$(_n '${INST_i18n}: ${WM_i18n} + applications')" \
|
pankso@840
|
276 "quit" "$(_n 'Quit Tazx utility')" \
|
al@813
|
277 2>&1 1>&3)
|
psychomaniak@912
|
278 dialog_end
|
pankso@66
|
279 # Set selected value.
|
pankso@840
|
280 case "$value" in
|
psychomaniak@912
|
281 xorg)
|
pankso@339
|
282 install_xorg ;;
|
pankso@840
|
283 xorg-light)
|
psychomaniak@912
|
284 inst_pkg xorg-server-light
|
psychomaniak@912
|
285 inst_pkg xorg-xf86-video-fbdev
|
pankso@840
|
286 xorg_conf_d ;;
|
psychomaniak@909
|
287 onboot)
|
psychomaniak@912
|
288 inst_pkg slim ; inst_pkg dbus
|
psychomaniak@909
|
289 if [ $LM = "OFF" ] ; then
|
psychomaniak@909
|
290 LM=slim
|
psychomaniak@912
|
291 else LM=""
|
psychomaniak@909
|
292 fi
|
psychomaniak@912
|
293 sed '/LOGIN_MANAGER/s|=.*$|="'$LM'"|' -i /etc/rcS.conf
|
psychomaniak@909
|
294 [ $LM = "slim" ] || LM=disabled
|
psychomaniak@909
|
295 echo "start X on boot:" $(boldify $LM) ;;
|
psychomaniak@909
|
296 slim)
|
psychomaniak@912
|
297 inst_pkg slim ; inst_pkg dbus
|
psychomaniak@912
|
298 [ ! -z $XAUTHORITY ] || stopd slim ;sleep 2; startd slim ;;
|
psychomaniak@912
|
299 wm_apps)
|
psychomaniak@920
|
300 slitaz_apps_conf ; apps_dialog ;;
|
pankso@840
|
301 *)
|
pankso@840
|
302 exit 0 ;;
|
pankso@66
|
303 esac
|
pankso@66
|
304 }
|
pankso@4
|
305
|
pankso@870
|
306 # ~/.config/slitaz/applications.conf: Missing = failed to login
|
pankso@876
|
307 # Make users applications.conf in /etc/skel so new added user will get
|
pankso@876
|
308 # a working X session. Note --> flavors can have a custom config in
|
pankso@876
|
309 # /etc/slitaz/applications that we must use.
|
pankso@870
|
310 slitaz_apps_conf() {
|
pankso@840
|
311 apps_conf=/etc/slitaz/applications.conf
|
pankso@870
|
312
|
pankso@876
|
313 if [ "$(id -u)" = 0 ]; then
|
psychomaniak@912
|
314 user_conf=${apps_conf}
|
psychomaniak@912
|
315 new_user_conf="/etc/skel/.config/slitaz/applications.conf"
|
psychomaniak@912
|
316 mkdir -p $(dirname $user_conf); cp -f ${apps_conf} ${new_user_conf}
|
pankso@876
|
317 else
|
pankso@876
|
318 # If started by: startx and with boot opts screen=text
|
pankso@876
|
319 user_conf="$HOME/.config/slitaz/applications.conf"
|
pankso@876
|
320 if [ ! -f "$user_conf" ]; then
|
pankso@876
|
321 mkdir -p $(dirname $user_conf); cp ${apps_conf} ${user_conf}
|
pankso@876
|
322 fi
|
slaxemulator@538
|
323 fi
|
psychomaniak@918
|
324 [ -f "$HOME/.xinitrc" ] || inst_pkg slitaz-configs-base --forced
|
pankso@66
|
325 }
|
pankso@4
|
326
|
pankso@840
|
327 # Commands
|
pankso@66
|
328
|
pankso@351
|
329 case "$1" in
|
pankso@351
|
330 install-xorg)
|
pankso@840
|
331 check_root
|
pankso@351
|
332 install_xorg
|
pankso@870
|
333 slitaz_apps_conf ;;
|
pankso@840
|
334
|
pankso@415
|
335 config-xorg)
|
pankso@840
|
336 check_root
|
pankso@870
|
337 slitaz_apps_conf
|
pankso@840
|
338 xorg_conf_d
|
pankso@840
|
339 # Handle live option: screen=
|
pankso@870
|
340 if grep -qs 'screen=' /proc/cmdline ; then
|
pascal@564
|
341 MODE="$(sed 's/.*screen=\([0-9]*x[0-9]*\).*/\1/' < /proc/cmdline)"
|
pascal@564
|
342 sed -i "s/.*EndSubSection.*/\\t\\tModes\\t\"$MODE\"\\n&/" \
|
pascal@564
|
343 /etc/X11/xorg.conf.d/70-Screen.conf
|
pascal@564
|
344 fi ;;
|
pankso@840
|
345
|
pankso@870
|
346 init)
|
paul@885
|
347 # We don't need much config files with last Xorg version, So just
|
paul@885
|
348 # get files for starting an X session and config the keyboard.
|
pankso@870
|
349 check_root
|
pankso@870
|
350 slitaz_apps_conf
|
pankso@871
|
351 keyboard_conf
|
pankso@871
|
352 gen_xorg_conf_file ;;
|
pankso@870
|
353
|
pankso@879
|
354 keyboard)
|
pankso@870
|
355 echo "Generating: 40-Keyboard.conf"
|
pankso@870
|
356 keyboard_conf ;;
|
pankso@870
|
357
|
psychomaniak@912
|
358 get-applist)
|
psychomaniak@912
|
359 slitaz_apps_conf
|
psychomaniak@912
|
360 gen_applist $2 $3 $4 ;;
|
psychomaniak@918
|
361 auto)
|
psychomaniak@918
|
362 autoselect_driver sh
|
psychomaniak@918
|
363 inst_pkg xorg-server
|
psychomaniak@918
|
364 inst_pkg xorg-xf86-video-${d} ;;
|
psychomaniak@918
|
365 bpp)
|
psychomaniak@918
|
366 check_root
|
psychomaniak@918
|
367 xorg_conf_d
|
psychomaniak@918
|
368 case "$2" in 8|15|16|24) colors=$2 ;;
|
psychomaniak@918
|
369 *) exec 3>&1 && colors=$($DIALOG --menu " " 12 12 12 \
|
psychomaniak@918
|
370 24 truecolor 16 hicolor 15 hicolor 8 256colors 2>&1 1>&3) ; dialog_end ;;
|
psychomaniak@918
|
371 esac
|
psychomaniak@920
|
372 sed 's|Monitor.*"$|&\n\tDefaultDepth '$colors'|' \
|
psychomaniak@920
|
373 -i ${xorg_config}/70-Screen.conf ;;
|
psychomaniak@918
|
374 *help)
|
psychomaniak@918
|
375 echo "Usage: $(basename $0) [install-xorg|bpp|auto|config-xorg|init|keyboard]" ;;
|
pankso@351
|
376 *)
|
pankso@615
|
377 # User can get a new .xinitrc with tazx from cmdline.
|
psychomaniak@918
|
378 if [ $(id -u) == 0 ]; then
|
psychomaniak@918
|
379 slitaz_apps_conf
|
psychomaniak@918
|
380 config_dialog
|
psychomaniak@918
|
381 else msg="\Z1 $(_n 'Run tazx as root if you need to configure xorg') \Zn"
|
psychomaniak@918
|
382 slitaz_apps_conf
|
psychomaniak@918
|
383 apps_dialog
|
psychomaniak@912
|
384 fi
|
psychomaniak@912
|
385 # gen_xsession
|
psychomaniak@912
|
386 ;;
|
pankso@351
|
387 esac
|
pankso@4
|
388
|
pankso@4
|
389 exit 0
|