| OLD | NEW |
| 1 #!/bin/sh | 1 #!/bin/sh |
| 2 #--------------------------------------------- | 2 #--------------------------------------------- |
| 3 # xdg-email | 3 # xdg-email |
| 4 # | 4 # |
| 5 # Utility script to open the users favorite email program, using the | 5 # Utility script to open the users favorite email program, using the |
| 6 # RFC 2368 mailto: URI spec | 6 # RFC 2368 mailto: URI spec |
| 7 # | 7 # |
| 8 # Refer to the usage() function below for usage. | 8 # Refer to the usage() function below for usage. |
| 9 # | 9 # |
| 10 # Copyright 2009-2010, Fathi Boudra <fabo@freedesktop.org> | 10 # Copyright 2009-2010, Fathi Boudra <fabo@freedesktop.org> |
| (...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 echo "Use 'man xdg-email' or 'xdg-email --manual' for additional inf
o." | 325 echo "Use 'man xdg-email' or 'xdg-email --manual' for additional inf
o." |
| 326 exit_success | 326 exit_success |
| 327 ;; | 327 ;; |
| 328 | 328 |
| 329 --manual) | 329 --manual) |
| 330 manualpage | 330 manualpage |
| 331 exit_success | 331 exit_success |
| 332 ;; | 332 ;; |
| 333 | 333 |
| 334 --version) | 334 --version) |
| 335 echo "xdg-email 1.0.2" | 335 echo "xdg-email 1.1.0 rc1" |
| 336 exit_success | 336 exit_success |
| 337 ;; | 337 ;; |
| 338 esac | 338 esac |
| 339 done | 339 done |
| 340 } | 340 } |
| 341 | 341 |
| 342 check_common_commands "$@" | 342 check_common_commands "$@" |
| 343 | 343 |
| 344 [ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && unset XDG_UTILS_DEBUG_LEVEL; | 344 [ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && unset XDG_UTILS_DEBUG_LEVEL; |
| 345 if [ ${XDG_UTILS_DEBUG_LEVEL-0} -lt 1 ]; then | 345 if [ ${XDG_UTILS_DEBUG_LEVEL-0} -lt 1 ]; then |
| 346 # Be silent | 346 # Be silent |
| 347 xdg_redirect_output=" > /dev/null 2> /dev/null" | 347 xdg_redirect_output=" > /dev/null 2> /dev/null" |
| 348 else | 348 else |
| 349 # All output to stderr | 349 # All output to stderr |
| 350 xdg_redirect_output=" >&2" | 350 xdg_redirect_output=" >&2" |
| 351 fi | 351 fi |
| 352 | 352 |
| 353 #-------------------------------------- | 353 #-------------------------------------- |
| 354 # Checks for known desktop environments | 354 # Checks for known desktop environments |
| 355 # set variable DE to the desktop environments name, lowercase | 355 # set variable DE to the desktop environments name, lowercase |
| 356 | 356 |
| 357 detectDE() | 357 detectDE() |
| 358 { | 358 { |
| 359 if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde; | 359 if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde; |
| 360 elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome; | 360 elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome; |
| 361 elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/D
Bus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/nul
l 2>&1` ; then DE=gnome; | 361 elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/D
Bus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/nul
l 2>&1` ; then DE=gnome; |
| 362 elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/nul
l 2>&1; then DE=xfce; | 362 elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/nul
l 2>&1; then DE=xfce; |
| 363 elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; |
| 364 else DE="" |
| 363 fi | 365 fi |
| 364 } | 366 } |
| 365 | 367 |
| 366 #---------------------------------------------------------------------------- | 368 #---------------------------------------------------------------------------- |
| 367 # kfmclient exec/openURL can give bogus exit value in KDE <= 3.5.4 | 369 # kfmclient exec/openURL can give bogus exit value in KDE <= 3.5.4 |
| 368 # It also always returns 1 in KDE 3.4 and earlier | 370 # It also always returns 1 in KDE 3.4 and earlier |
| 369 # Simply return 0 in such case | 371 # Simply return 0 in such case |
| 370 | 372 |
| 371 kfmclient_fix_exit_code() | 373 kfmclient_fix_exit_code() |
| 372 { | 374 { |
| 373 version=`kde${KDE_SESSION_VERSION}-config --version 2>/dev/null | grep KDE` | 375 [ x"$KDE_SESSION_VERSION" = x"4" ] && return 0; |
| 374 major=`echo $version | sed 's/KDE: \([0-9]\).*/\1/'` | 376 version=`LC_ALL=C.UTF-8 kde-config --version 2>/dev/null | grep '^KDE'` |
| 375 minor=`echo $version | sed 's/KDE: [0-9]*\.\([0-9]\).*/\1/'` | 377 major=`echo $version | sed 's/KDE.*: \([0-9]\).*/\1/'` |
| 376 release=`echo $version | sed 's/KDE: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/'` | 378 minor=`echo $version | sed 's/KDE.*: [0-9]*\.\([0-9]\).*/\1/'` |
| 379 release=`echo $version | sed 's/KDE.*: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/'` |
| 377 test "$major" -gt 3 && return $1 | 380 test "$major" -gt 3 && return $1 |
| 378 test "$minor" -gt 5 && return $1 | 381 test "$minor" -gt 5 && return $1 |
| 379 test "$release" -gt 4 && return $1 | 382 test "$release" -gt 4 && return $1 |
| 380 return 0 | 383 return 0 |
| 381 } | 384 } |
| 382 | 385 |
| 383 run_thunderbird() | 386 run_thunderbird() |
| 384 { | 387 { |
| 385 local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY ATTACH | 388 local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY ATTACH |
| 386 THUNDERBIRD="$1" | 389 THUNDERBIRD="$1" |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 427 "$THUNDERBIRD" -compose "$NEWMAILTO" | 430 "$THUNDERBIRD" -compose "$NEWMAILTO" |
| 428 if [ $? -eq 0 ]; then | 431 if [ $? -eq 0 ]; then |
| 429 exit_success | 432 exit_success |
| 430 else | 433 else |
| 431 exit_failure_operation_failed | 434 exit_failure_operation_failed |
| 432 fi | 435 fi |
| 433 } | 436 } |
| 434 | 437 |
| 435 open_kde() | 438 open_kde() |
| 436 { | 439 { |
| 437 local client | 440 local client kde_email_profile_name |
| 438 client=`kreadconfig --file emaildefaults --group PROFILE_Default --key Email
Client | cut -d ' ' -f 1` | 441 kde_email_profile_name=`kreadconfig --file emaildefaults --group Defaults --
key Profile` |
| 442 client=`kreadconfig --file emaildefaults --group PROFILE_"$kde_email_profile
_name" --key EmailClient | cut -d ' ' -f 1` |
| 439 echo $client | grep thunderbird > /dev/null 2>&1 | 443 echo $client | grep thunderbird > /dev/null 2>&1 |
| 440 if [ $? -eq 0 ] ; then | 444 if [ $? -eq 0 ] ; then |
| 441 run_thunderbird "$client" "$1" | 445 run_thunderbird "$client" "$1" |
| 442 fi | 446 fi |
| 443 | 447 |
| 444 if [ -f /etc/SuSE-release ] ; then | 448 if [ -f /etc/SuSE-release ] ; then |
| 445 # Workaround for SUSE 10.0 | 449 # Workaround for SUSE 10.0 |
| 446 [ -z "$client" ] && client="kmail" | 450 [ -z "$client" ] && client="kmail" |
| 447 if ! which "$client" > /dev/null 2> /dev/null; then | 451 if ! which "$client" > /dev/null 2> /dev/null; then |
| 448 DEBUG 3 "KDE has $client configured as email client which isn't inst
alled" | 452 DEBUG 3 "KDE has $client configured as email client which isn't inst
alled" |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 706 ;; | 710 ;; |
| 707 | 711 |
| 708 gnome) | 712 gnome) |
| 709 open_gnome "${mailto}" | 713 open_gnome "${mailto}" |
| 710 ;; | 714 ;; |
| 711 | 715 |
| 712 xfce) | 716 xfce) |
| 713 open_xfce "${mailto}" | 717 open_xfce "${mailto}" |
| 714 ;; | 718 ;; |
| 715 | 719 |
| 716 generic) | 720 generic|lxde) |
| 717 open_generic "${mailto}" | 721 open_generic "${mailto}" |
| 718 ;; | 722 ;; |
| 719 | 723 |
| 720 *) | 724 *) |
| 721 exit_failure_operation_impossible "no method available for opening '${mailto
}'" | 725 exit_failure_operation_impossible "no method available for opening '${mailto
}'" |
| 722 ;; | 726 ;; |
| 723 esac | 727 esac |
| OLD | NEW |