slitaz-tools annotate tazbox/tazbox @ rev 861

Tiny edits
author Paul Issott <paul@slitaz.org>
date Sun Apr 20 11:47:01 2014 +0100 (2014-04-20)
parents 96a5f5377d12
children 472492f7eeef
rev   line source
pankso@553 1 #!/bin/sh
pankso@553 2 #
pankso@569 3 # SliTaz tiny GUI boxes for the desktop (su, logout, locale, etc)
pankso@569 4 # and as usual, please: KISS
pankso@553 5 #
pascal@821 6 # Copyright (C) 2011-2014 SliTaz GNU/Linux - GNU GPL v3
pankso@553 7 # - Christophe Lincoln <pankso@slitaz.org>
al@845 8 # - Aleksej Bobylev <al.bobylev@gmail.com>
pankso@553 9 #
al@813 10 . /lib/libtaz.sh
al@813 11 export TEXTDOMAIN='tazbox' # i18n
pankso@553 12
al@813 13 # download dir (may be in a config file)
pankso@562 14 DOWNLOADS=$HOME/Downloads
pankso@562 15
claudinei@611 16 # some constants to be used inside functions
al@845 17 tmp=/tmp/keymap.list
al@845 18 db=/usr/share/i18n/locales
al@845 19 zi=/usr/share/zoneinfo/
al@845 20 ztab=${zi}zone-mini.tab
al@845 21 csv=/tmp/freegeoip.csv
claudinei@611 22
pankso@553 23 #
pankso@553 24 # Functions
pankso@553 25 #
pankso@553 26
pankso@553 27 usage() {
al@813 28 newline; _ 'SliTaz tiny GUI boxes for the desktop'
pankso@553 29
al@813 30 newline; boldify $(_ 'Usage:')
al@813 31 echo " $(basename $0) [$(_n 'command')]"
pankso@553 32
al@813 33 newline; boldify $(_ 'Commands:')
al@813 34 optlist "\
al@813 35 usage $(_ 'Display this short help usage')
al@813 36 su $(_ 'Execute a command as super-user')
al@813 37 logout $(_ 'Desktop logout box with actions')
al@813 38 out $(_ 'Pipe a command output into a GTK window')
al@813 39 out-dl $(_ 'Pipe wget output into a GTK window')
al@813 40 locale $(_ 'Configure system language (root)')
al@813 41 keymap $(_ 'Configure system keymap (root)')
al@813 42 tz $(_ 'Configure system timezone (root)')
al@813 43 setup $(_ 'System initial setup (locale, keymap & timezone)')
al@813 44 new-file $(_ 'Create a new file or folder on the desktop')
al@813 45 all-apps $(_ 'Display icons of all installed applications')
al@813 46 notify $(_ 'Notify user with a desktop centered box')
al@813 47 tazapps $(_ 'Configure SliTaz default applications')"
al@813 48 newline
pankso@553 49 }
pankso@553 50
al@813 51 # try to find icon in .desktop files
al@813 52 find_icon() {
al@813 53 local desktop
al@813 54 desktop=$(find $HOME/.local/share/applications /usr/share/applications \
al@845 55 -name $1.desktop 2&>/dev/null | head -n1)
al@813 56 [ x$desktop != x ] && cat $desktop | sed '/\[Desktop\ Entry\]/,/^\[/!d' | \
al@813 57 sed '/^Icon=/!d' | head -n1 | cut -d= -f2
al@813 58 }
al@813 59
paul@835 60 # su frontend GUIs
pankso@587 61 su_main() {
al@813 62 CMD1="$1"; shift; CMD2="$(echo $@ | sed 's|&|&amp;|g')"
al@813 63 : ${icon=$(find_icon $CMD1)}
al@813 64 [ x$icon == x ] && icon=gtk-dialog-authentication
al@813 65
al@813 66 yad --title="$(_n 'SliTaz admin password')" --window-icon=$icon \
al@813 67 --width=520 --on-top --center \
al@813 68 --image=$icon --image-on-top \
al@813 69 --text="$(_n 'Please enter root password (default root) to execute:')\n
al@813 70 <span foreground=\"red\"><tt><b>$CMD1</b> $CMD2</tt></span>\n" \
al@813 71 --form \
al@813 72 --field="$(_n 'Password:'):H" $PASSWD \
al@813 73 --field="$(_n 'Autosave password'):CHK" $CHECKED
pankso@587 74 }
pankso@587 75
pankso@587 76 su_error() {
al@813 77 icon=gtk-dialog-error
al@813 78 yad --title="$(_n 'Error')" --window-icon=$icon \
al@813 79 --width=320 --on-top --center \
al@813 80 --image=$icon --image-on-top \
al@813 81 --text="\n<b>$(_n 'Error: wrong password!')</b>\n" \
al@813 82 --button="gtk-close:1"
pankso@587 83 }
pankso@587 84
al@813 85 # user may press cancel on download.
pankso@562 86 cancel_dl() {
pankso@562 87 if [ "$?" == 1 ]; then
al@813 88 _ "CANCEL"
pankso@562 89 rm -f $DOWNLOADS/$(basename $url)
pankso@562 90 fi
pankso@562 91 }
pankso@562 92
al@813 93 # output a command in a GTK window
pankso@744 94 output_command() {
al@813 95 : ${title=$(_n 'TazBox Output')}
al@813 96 : ${icon=gtk-dialog-info}
al@813 97
al@813 98 yad --title="$title" --window-icon=$icon \
al@813 99 --geometry="600x220+0-24" --fore="#ffffff" --back="#000000" \
al@813 100 --text-info --fontname=monospace --wrap $opts \
al@813 101 --button="gtk-close:1"
pankso@562 102 }
pankso@562 103
al@813 104 # logout GUI function
pankso@553 105 logout_main() {
pankso@823 106 icon=/usr/share/pixmaps/slitaz-icon.png
al@813 107 yad --title="$(_n 'SliTaz Logout')" --window-icon=$icon \
pankso@823 108 --on-top --center --height=130 \
al@813 109 --image=$icon --image-on-top \
pankso@823 110 --text="<b>$(_n 'SliTaz Logout - Please choose an action:')</b>" \
al@813 111 --always-print-result \
al@813 112 --button "$(_n 'Close X session'):4" \
al@813 113 --button "$(_n 'Reboot system'):3" \
al@813 114 --button "$(_n 'Shutdown system'):2"
al@813 115 }
pankso@553 116
al@813 117 # generate keymap list
pankso@610 118 gen_kmap_list() {
pankso@610 119 echo > $tmp
pankso@610 120 cd /usr/share/kbd/keymaps/i386
al@813 121 # we first need a list to sort and then use \n for Yad list.
al@813 122 for i in $(find -type f | sed '/include/d; s|./||'); do
al@813 123 echo "$(basename $i .map.gz)|$(dirname $i)" >> $tmp
pankso@610 124 done
pankso@610 125 }
pankso@610 126
pankso@610 127 # Initial Config functions
pankso@610 128 setup_main() {
al@813 129 icon=locale
pankso@610 130 gen_kmap_list
al@813 131 locale=$(ls -1 $db | grep ^[a-z][a-z]_[A-Z][A-Z] | tr "\n" "!")
al@813 132 keymap=$(cat $tmp | sort | tr "\n" "!")
al@813 133 timezone=$(find $zi -type f | sed s,$zi,,g | tr "\n" "!")
al@813 134 yad --title="$(_n 'SliTaz Initial Setup')" --window-icon=$icon \
al@813 135 --width=500 \
al@813 136 --image=$icon --image-on-top \
al@813 137 --text="<big>$(_n 'Here you can set your preferences \n for <b>locale, keymap and timezone</b>.')</big>" \
al@813 138 --form \
al@813 139 --field "$(_n 'Locale'):CB" $locale \
al@813 140 --field "$(_n 'Keymap'):CB" $keymap \
al@813 141 --field "$(_n 'Timezone'):CB" $timezone
pankso@610 142 }
pankso@610 143
pankso@610 144 setup() {
pankso@610 145 choices=$(setup_main)
pankso@610 146 locale=$(echo $choices | cut -d"|" -f1)
pankso@610 147 keymap=$(echo $choices | cut -d"|" -f2)
pankso@610 148 timezone=$(echo $choices | cut -d"|" -f3)
pankso@610 149 [ $locale ] && tazlocale init $locale
pankso@610 150 [ $keymap ] && tazkeymap init $keymap
pankso@610 151 [ $timezone ] && echo $timezone > /etc/TZ
pankso@610 152 }
pankso@610 153
pankso@569 154 # Locale functions
pankso@569 155 locale_main() {
al@813 156 icon=preferences-desktop-locale
al@813 157 for locale in $(ls -1 $db | grep '[a-z]_[A-Z]'); do
al@813 158 desc=$(fgrep -m1 title $db/$locale | cut -d'"' -f2)
pankso@569 159 echo -e "$locale \n $desc"
pankso@569 160 done | \
al@813 161 yad --title="$(_n 'SliTaz locale')" --window-icon=$icon \
al@813 162 --width=600 --height=380 --sticky --on-top --center \
al@813 163 --image=$icon --image-on-top \
al@813 164 --text="<b>$(_n 'Language configuration')</b>" \
al@813 165 --list --column $(_n 'Name') --column $(_n 'Description') \
al@813 166 --print-column=1 --separator=''
pankso@569 167 }
pankso@569 168
pankso@569 169 locale() {
pankso@569 170 locale=$(locale_main)
pankso@569 171 # Deal with --button values
pankso@569 172 case $? in
pankso@569 173 1) exit 0 ;;
pankso@569 174 *) continue ;;
pankso@569 175 esac
pankso@573 176 # System language configuration.
pankso@752 177 [ "$locale" ] && tazlocale $locale
pankso@569 178 }
pankso@569 179
pankso@569 180 # Keymap functions
pankso@569 181 keymap_main() {
al@813 182 #icon=preferences-desktop-keyboard
al@813 183 icon=input-keyboard
pankso@610 184 gen_kmap_list
al@813 185 for i in $(sort $tmp); do
al@813 186 echo "$i" | tr '|' '\n'
pankso@569 187 done | \
al@813 188 yad --title="$(_ 'SliTaz keymap')" --window-icon=$icon \
al@813 189 --width=500 --height=380 --sticky --on-top --center \
al@813 190 --image=$icon --image-on-top \
al@813 191 --text="<b>$(_n 'Keyboard configuration')</b>" \
al@813 192 --list --column $(_n 'Keymap') --column $(_n 'Type') \
al@813 193 --print-column=1 --separator=''
pankso@573 194 rm -f $tmp
pankso@569 195 }
pankso@569 196
pankso@569 197 keymap() {
pankso@569 198 keymap=$(keymap_main)
pankso@569 199 # Deal with --button values
al@813 200 [ x$? == x1 ] && exit 0
pankso@573 201 # System keymap configuration
pankso@752 202 [ "$keymap" ] && tazkeymap $keymap
pankso@569 203 }
pankso@569 204
al@845 205 # Free GeoIP service
al@845 206 # Response: "IP","CountryCode","CountryName", ...
al@845 207
al@845 208 geoip() {
al@845 209 [ ! -e $csv ] && wget -q -T3 -O $csv http://freegeoip.net/csv/ 2&>/dev/null
al@845 210 [ -e $csv ] && cut -d'"' -f4 $csv
al@845 211 }
al@845 212
pankso@604 213 # TZ functions
al@845 214 tz_suggest() {
al@845 215 CountryCode=$(geoip)
al@845 216 if [ x$CountryCode != x ]; then
al@845 217 CountryName=$(cut -d'"' -f6 $csv)
al@845 218 yad --title="$(_ 'SliTaz TZ')" --window-icon=$icon \
al@845 219 --on-top --center \
al@845 220 --image=$CountryCode --image-on-top \
al@845 221 --text="$(_ 'Suggested location:') <b>$CountryName</b>\n
paul@861 222 $(_ 'Are you agreed?')" \
al@845 223 --button="gtk-yes:0" --button="gtk-no:1" --always-print-result
al@845 224 [ $? == 0 ] && echo $CountryCode
al@845 225 fi
al@813 226 }
al@813 227
al@813 228 tz_select() {
al@813 229 case x$1 in
al@813 230 x)
al@813 231 # first pass - country
al@845 232 tmpcc=$(mktemp)
al@845 233
al@845 234 for tzfile in $(find $zi -type f -regex '.*info/[ABCEIMP].*'); do
al@845 235 grep -m1 $(basename $tzfile) $ztab
al@845 236 done | cut -d' ' -f1 | sort -u > $tmpcc
al@845 237
al@845 238 for CC in $(cat $tmpcc); do
al@813 239 cat << EOT
al@813 240 $CC
al@813 241 $CC
al@845 242 $(gettext iso_3166 "$(grep -m1 "$CC " ${zi}iso3166-1.tab | cut -d' ' -f2)")
al@813 243 EOT
al@813 244 done | \
al@813 245 yad --title="$(_ 'SliTaz TZ')" --window-icon=$icon \
al@813 246 --width=500 --height=380 --on-top --center \
al@813 247 --image=$icon --image-on-top \
al@813 248 --text="<b>$(_ 'TimeZone Configuration')</b>\n$(_ 'Select country')" \
al@813 249 --list \
al@813 250 --column="$(_n 'Flag'):IMG" --column=$(_n 'Code') --column=$(_n 'Country') \
al@813 251 --button="gtk-index:2" --button="gtk-go-forward:0" \
al@813 252 --button="gtk-cancel:1" --always-print-result \
al@813 253 --print-column=2 --separator=''
al@813 254 ;;
al@813 255 xindex)
al@813 256 # manual selection of file with timezone info
al@813 257 yad --title="$(_ 'SliTaz TZ')" --window-icon=$icon \
al@813 258 --width=500 --on-top --center \
al@813 259 --image=$icon --image-on-top \
al@813 260 --text="<b>$(_ 'TimeZone Configuration')</b>\n$(_ 'Select time zone')" \
al@845 261 --form --field=":FL" ${zi}UTC --separator='' | \
al@845 262 sed "s|$zi||"
al@813 263 ;;
al@813 264 *)
al@813 265 # second pass - city/place
al@845 266 list=$(cat $ztab | grep "^$1 " | cut -d' ' -f2 | tr ' ' "\n" | sort)
al@813 267 icon=$1
al@813 268 if [ $(echo "$list" | wc -l) != 1 ]; then
al@813 269 echo "$list" | \
al@813 270 yad --title="$(_ 'SliTaz TZ')" --window-icon=$icon \
al@813 271 --width=500 --height=380 --on-top --center \
al@813 272 --image=$icon --image-on-top \
al@813 273 --text="<b>$(_ 'TimeZone Configuration')</b>\n$(_ 'Select location')" \
al@813 274 --list --column $(_n 'Location/City') --separator=''
al@813 275 else
al@813 276 echo $list
al@813 277 fi
al@813 278 ;;
al@813 279 esac
pankso@604 280 }
pankso@604 281
pankso@604 282 tz() {
al@845 283 icon=config-date
al@845 284 arg=$(tz_suggest)
al@845 285
al@845 286 timezone=$(tz_select $arg)
al@813 287 case $? in
al@813 288 1) exit 0 ;;
al@813 289 0) [ x$timezone == x ] && exit 0
al@845 290 [ x$arg == x ] && timezone=$(tz_select "$timezone")
al@845 291 timezone=$(find $zi -name $timezone -regex '.*info/[ABCEIMP].*' | \
al@845 292 sed "s|$zi||") ;;
al@813 293 2) timezone=$(tz_select "index") ;;
al@813 294 esac
al@845 295
al@813 296 [ x$timezone == x ] && exit 0
al@813 297 echo $timezone > /etc/TZ
al@813 298 export TZ=$timezone
al@845 299 tazbox notify "$(_ 'TimeZone was set to $timezone')" config-date 3
al@845 300 rm -f $tmpcc
pankso@604 301 }
pankso@604 302
pankso@632 303 # New file functions
pankso@632 304 newfile_main() {
al@813 305 icon=gtk-new
al@813 306 yad --title="$(_n 'New file')" --window-icon=$icon \
al@813 307 --width=460 --height=160 --on-top --center \
al@813 308 --image=$icon --image-on-top \
al@813 309 --text="<b>$(_n 'Create a new file or folder on your desktop')</b>" \
al@813 310 --entry --entry-label="$(_n 'File name')" \
al@813 311 --ricon=editclear \
al@813 312 --always-print-result \
al@813 313 --button="$(_n 'SHell script'):4" \
al@813 314 --button="$(_n 'Folder'):3" \
al@813 315 --icon="gtk-new" \
al@813 316 --button="$(_n 'File'):2" \
pankso@632 317 --button="gtk-cancel:1"
pankso@632 318 }
pankso@632 319
pankso@632 320 newfile() {
pankso@632 321 file=$(newfile_main)
pankso@700 322 ret=$?
pankso@632 323 [ "$file" ] || exit 0
pankso@700 324 case $ret in
pankso@700 325 4)
pankso@632 326 cat > $HOME/Desktop/$file << EOT
pankso@632 327 #!/bin/sh
pankso@632 328 #
pankso@632 329
pankso@632 330 EOT
pankso@632 331 chmod +x $HOME/Desktop/$file ;;
pankso@700 332 3) mkdir -p $HOME/Desktop/$file ;;
pankso@700 333 2) touch $HOME/Desktop/$file ;;
pankso@700 334 1) exit 0 ;;
pankso@632 335 esac
pankso@632 336 }
pankso@632 337
pankso@637 338 # All applications
pankso@637 339 all_apps() {
al@813 340 icon=stock_bookmark
al@813 341 yad --title="$(_n 'All Applications')" --window-icon=$icon \
al@813 342 --width=400 --height=400 \
al@813 343 --icons --compact \
al@813 344 --read-dir=/usr/share/applications \
pankso@637 345 --button="gtk-close:0"
pankso@637 346 }
pankso@637 347
al@810 348 # Generate alternatives list: first - current choice, following - existing apps
al@810 349 gen_alt() {
al@810 350 alts="$@"
al@810 351 current=$(echo $alts | cut -d' ' -f1)
al@810 352 alts=$(echo $alts | sed "s|$current||g")
al@810 353 for alt in $alts; do
al@810 354 [ ! $(busybox which $alt) ] && alts=$(echo $alts | sed "s|$alt||")
al@810 355 done
al@813 356 echo $current $alts | tr ' ' '!'
al@810 357 }
al@810 358
al@813 359 # Ask root permissions for system settings
al@813 360 ask_root() {
al@813 361 if [ $(id -u) != 0 ]; then
al@813 362 exec tazbox su $0 $@
al@813 363 exit 0
al@813 364 fi
al@813 365 }
al@810 366
pankso@553 367 #
pankso@553 368 # Commands
pankso@553 369 #
pankso@553 370 case "$1" in
pankso@553 371 su)
al@813 372 # Don't show dialog if we are root
pascal@786 373 test $(id -u) = 0 && exec ${@:2}
al@813 374 SU_CMD="${@:2}"
paul@593 375 # Check if a password has been saved before launching main dialog
pankso@744 376 if [ -s $HOME/.config/slitaz/subox.conf ]; then
pankso@587 377 PASSWD=$(cat $HOME/.config/slitaz/subox.conf)
pankso@587 378 CHECKED="TRUE"
pankso@587 379 fi
pankso@744 380 # Display the main dialog (ask for password)
al@813 381 main=$(su_main $SU_CMD)
paul@593 382 # Deal with --button values and exit if cancelled to avoid erasing
pankso@587 383 # saved password.
al@813 384 [ $? == 1 ] && exit 0
pankso@587 385 # Save or erase Autosaved password
pankso@744 386 if [ $(echo $main | cut -f2 -d"|") == "TRUE" ]; then
pankso@587 387 echo $main | cut -f 1 -d "|" > $HOME/.config/slitaz/subox.conf
pankso@744 388 chmod 0600 $HOME/.config/slitaz/subox.conf
pankso@587 389 else
pankso@587 390 cat /dev/null > $HOME/.config/slitaz/subox.conf
pankso@587 391 fi
pankso@744 392 # Try to login & execute. If password is wrong execute error dialog
al@813 393 SU_CMD_QUOTED="$(echo "$SU_CMD" | sed 's|&|\\&|g')"
al@813 394 echo $main | cut -f 1 -d "|" | su -c "$SU_CMD_QUOTED &" || su_error ;;
pankso@553 395 logout)
paul@593 396 # Logout window with actions
al@813 397 if [ "$oldstyle" ]; then
al@813 398 answer=$(logout_oldstyle)
al@813 399 else
al@813 400 logout_main; answer=$?
al@813 401 fi
pankso@553 402 # Deal with --button values
paul@763 403 # DE and WM started with a custom -session script should export
pankso@736 404 # XDG_CURRENT_DESKTOP
al@813 405 case $answer in
al@813 406 4|*exit)
pankso@736 407 case $XDG_CURRENT_DESKTOP in
pankso@736 408 LXDE)
pankso@736 409 [ "$_LXSESSION_PID" ] && kill $_LXSESSION_PID
al@813 410 [ "$DESKTOP_SESSION" == "compiz" ] && killall compiz
pankso@736 411 openbox --exit ;;
pankso@736 412 openbox) openbox --exit ;;
pankso@736 413 compiz) killall compiz ;;
pankso@736 414 *)
pankso@736 415 # Try to kill other WM that dont set XDG var.
pankso@736 416 jwm -exit 2>/dev/null ;;
pankso@736 417 esac ;;
al@813 418 3|*reboot)
al@813 419 reboot || reboot -f ;;
al@813 420 2|*halt)
al@813 421 poweroff ;;
pankso@553 422 esac ;;
pankso@562 423 out)
pankso@562 424 # Pipe a command into a GTK window
al@813 425 sed 's|\[.m||g; s|\[[0-9][0-9]*G| |g' | output_command ;;
paul@593 426 out-dl)
pankso@562 427 # A tiny GTK window for Busybox wget output
al@813 428 url=$2; opts="--tail --button=gtk-cancel:1"
al@813 429 icon=folder-downloads; title="$(_ 'Downloading...')"
slaxemulator@594 430 [ -d $DOWNLOADS ] || mkdir -p $DOWNLOADS
pascal@648 431 busybox wget -c -P $DOWNLOADS $url 2>&1 | output_command
pankso@562 432 cancel_dl ;;
pankso@569 433 locale)
al@813 434 ask_root $@ && locale ;;
pankso@569 435 keymap)
al@813 436 ask_root $@ && keymap ;;
al@813 437 tz)
al@845 438 ask_root $@ && tz ;;
al@813 439 setup)
al@813 440 ask_root $@ && setup ;;
pankso@632 441 new-file)
pankso@632 442 newfile ;;
pankso@637 443 all-apps)
pankso@637 444 all_apps ;;
pankso@689 445 notify|-n)
pankso@689 446 # On screen notification box.
pankso@721 447 icon="$3"
pankso@721 448 time="$4"
pankso@721 449 [ "$icon" ] || icon=info
pankso@689 450 [ "$time" ] || time=4
al@813 451 yad --width=520 --height=80 --timeout=$time --timeout-indicator=right \
al@813 452 --on-top --center --no-buttons --borders=12 --undecorated \
al@813 453 --skip-taskbar --image=$icon --image-on-top --text="<b>$2</b>" ;;
al@807 454 tazapps)
al@807 455 # Default applications configuration script. System wide config file
al@807 456 # is /etc/slitaz/applications.conf and each user can have personal
al@807 457 # settings. System wide for root and personal config for user.
al@807 458 export CONFIG="$HOME/.config/slitaz/applications.conf"
al@807 459 if [ ! -f $CONFIG ]; then
al@807 460 mkdir -p $HOME/.config/slitaz
al@807 461 cp /etc/slitaz/applications.conf $CONFIG
al@807 462 fi
al@807 463 . $CONFIG
al@810 464
al@810 465 FILE_MANAGERS=$(gen_alt $FILE_MANAGER \
al@810 466 clex emelfm2 mc pathfinder pcmanfm ranger spacefm thunar xfe ytree)
al@810 467 BROWSERS=$(gen_alt $BROWSER \
al@810 468 arora chrome cream dillo elinks firefox iron links lynx midori \
al@810 469 netsurf opera retawq seamonkey surf tazweb)
al@810 470 EDITORS=$(gen_alt $EDITOR \
al@810 471 adie beaver emacs geany jed joe le leafpad mousepad mp-5 nano \
al@810 472 SciTE vi vim xedit xfw zile)
al@810 473 TERMINALS=$(gen_alt $TERMINAL \
al@810 474 aterm evilvte lxterminal mrxvt sakura stjerm tilda urxvt vte xterm \
al@810 475 yeahconsole)
al@810 476 WINDOW_MANAGERS=$(gen_alt $WINDOW_MANAGER \
al@810 477 awesome blackbox dwm echinus enlightenment fluxbox icewm jwm \
al@810 478 karmen matchbox openbox-session pekwm ratpoison xfwm4)
al@810 479
al@813 480 icon=preferences-desktop-default-applications
al@813 481 eval $(yad --title="$(_n 'SliTaz default applications')" \
al@813 482 --window-icon=$icon --image=$icon --image-on-top \
al@813 483 --text="<b>$(_n 'SliTaz default applications configuration')</b>" \
al@807 484 --form \
al@813 485 --field="$(_n 'File manager:'):CBE" "$FILE_MANAGERS" \
al@813 486 --field="$(_n 'Web browser:'):CBE" "$BROWSERS" \
al@813 487 --field="$(_n 'Text editor:'):CBE" "$EDITORS" \
al@813 488 --field="$(_n 'Terminal:'):CBE" "$TERMINALS" \
al@813 489 --field="$(_n 'Window manager:'):CBE" "$WINDOW_MANAGERS" | \
al@807 490 awk -F'|' '{printf "FILE_MANAGER=\"%s\"\nBROWSER=\"%s\"\nEDITOR=\"%s\"\
al@807 491 TERMINAL=\"%s\"\nWINDOW_MANAGER=\"%s\"\n", $1, $2, $3, $4, $5}')
al@810 492
al@807 493 sed '/FILE_MANAGER=/s|"\([^"]*\)"|"'$FILE_MANAGER'"|; \
al@807 494 /BROWSER=/s|"\([^"]*\)"|"'$BROWSER'"|; \
al@807 495 /EDITOR=/s|"\([^"]*\)"|"'$EDITOR'"|; \
al@807 496 /TERMINAL=/s|"\([^"]*\)"|"'$TERMINAL'"|; \
al@807 497 /WINDOW_MANAGER=/s|"\([^"]*\)"|"'$WINDOW_MANAGER'"|' \
al@810 498 -i $CONFIG ;;
al@807 499 gpl)
al@813 500 yad --title="GNU General Public License" --window-icon=text-x-generic \
al@813 501 --geometry="650x500" \
al@810 502 --image=/usr/share/pixmaps/gpl3.png --image-on-top \
al@813 503 --center \
al@813 504 --text-info \
al@813 505 --fontname=monospace \
al@813 506 --button "OK" < /usr/share/licenses/gpl.txt ;;
pankso@553 507 *)
pankso@553 508 usage ;;
pankso@553 509 esac
pankso@553 510
pankso@553 511 exit 0