Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(283)

Side by Side Diff: scripts/xdg-email

Issue 6873103: Linux: update xdg-utils to the latest version to get relevant xdg-mime fixes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/xdg-utils/
Patch Set: Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « scripts/xdg-desktop-menu ('k') | scripts/xdg-email.in » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 # see https://bugs.freedesktop.org/show_bug.cgi?id=34164
360 unset GREP_OPTIONS
361
359 if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde; 362 if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde;
360 elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome; 363 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; 364 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; 365 elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/nul l 2>&1; then DE=xfce;
366 elif xprop -root 2> /dev/null | grep -i '^xfce_desktop_window' >/dev/null 2> &1; then DE=xfce
363 fi 367 fi
364 368
365 if [ x"$DE" = x"" ]; then 369 if [ x"$DE" = x"" ]; then
366 # fallback to checking $DESKTOP_SESSION 370 # fallback to checking $DESKTOP_SESSION
367 case "$DESKTOP_SESSION" in 371 case "$DESKTOP_SESSION" in
372 gnome)
373 DE=gnome;
368 LXDE) 374 LXDE)
369 DE=lxde; 375 DE=lxde;
370 ;; 376 ;;
371 xfce|xfce4) 377 xfce|xfce4)
372 DE=xfce; 378 DE=xfce;
373 ;; 379 ;;
374 esac 380 esac
375 fi 381 fi
376 382
377 if [ x"$DE" = x"" ]; then 383 if [ x"$DE" = x"" ]; then
(...skipping 12 matching lines...) Expand all
390 fi 396 fi
391 } 397 }
392 398
393 #---------------------------------------------------------------------------- 399 #----------------------------------------------------------------------------
394 # kfmclient exec/openURL can give bogus exit value in KDE <= 3.5.4 400 # kfmclient exec/openURL can give bogus exit value in KDE <= 3.5.4
395 # It also always returns 1 in KDE 3.4 and earlier 401 # It also always returns 1 in KDE 3.4 and earlier
396 # Simply return 0 in such case 402 # Simply return 0 in such case
397 403
398 kfmclient_fix_exit_code() 404 kfmclient_fix_exit_code()
399 { 405 {
400 [ x"$KDE_SESSION_VERSION" = x"4" ] && return 0;
401 version=`LC_ALL=C.UTF-8 kde-config --version 2>/dev/null | grep '^KDE'` 406 version=`LC_ALL=C.UTF-8 kde-config --version 2>/dev/null | grep '^KDE'`
402 major=`echo $version | sed 's/KDE.*: \([0-9]\).*/\1/'` 407 major=`echo $version | sed 's/KDE.*: \([0-9]\).*/\1/'`
403 minor=`echo $version | sed 's/KDE.*: [0-9]*\.\([0-9]\).*/\1/'` 408 minor=`echo $version | sed 's/KDE.*: [0-9]*\.\([0-9]\).*/\1/'`
404 release=`echo $version | sed 's/KDE.*: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/'` 409 release=`echo $version | sed 's/KDE.*: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/'`
405 test "$major" -gt 3 && return $1 410 test "$major" -gt 3 && return $1
406 test "$minor" -gt 5 && return $1 411 test "$minor" -gt 5 && return $1
407 test "$release" -gt 4 && return $1 412 test "$release" -gt 4 && return $1
408 return 0 413 return 0
409 } 414 }
410 415
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 DEBUG 3 "KDE has $client configured as email client which isn't inst alled" 482 DEBUG 3 "KDE has $client configured as email client which isn't inst alled"
478 if which gnome-open > /dev/null 2> /dev/null && which evolution > /d ev/null 2> /dev/null; then 483 if which gnome-open > /dev/null 2> /dev/null && which evolution > /d ev/null 2> /dev/null; then
479 DEBUG 3 "Try gnome-open instead" 484 DEBUG 3 "Try gnome-open instead"
480 open_gnome "$1" 485 open_gnome "$1"
481 fi 486 fi
482 fi 487 fi
483 fi 488 fi
484 DEBUG 1 "Running kmailservice \"$1\"" 489 DEBUG 1 "Running kmailservice \"$1\""
485 if [ x"$KDE_SESSION_VERSION" = x"4" ]; then 490 if [ x"$KDE_SESSION_VERSION" = x"4" ]; then
486 KMAILSERVICE=`kde4-config --locate kmailservice --path exe 2>/dev/null` 491 KMAILSERVICE=`kde4-config --locate kmailservice --path exe 2>/dev/null`
492 $KMAILSERVICE "$1"
487 else 493 else
488 KMAILSERVICE=`which kmailservice 2>/dev/null` 494 KMAILSERVICE=`which kmailservice 2>/dev/null`
495 # KDE3 uses locale's encoding when decoding the URI, so set it to UTF-8
496 LC_ALL=C.UTF-8 $KMAILSERVICE "$1"
489 fi 497 fi
490 # KDE uses locale's encoding when decoding the URI, so set it to UTF-8
491 LC_ALL=C.UTF-8 $KMAILSERVICE "$1"
492 kfmclient_fix_exit_code $?
493 498
494 if [ $? -eq 0 ]; then 499 if [ $? -eq 0 ]; then
495 exit_success 500 exit_success
496 else 501 else
497 exit_failure_operation_failed 502 exit_failure_operation_failed
498 fi 503 fi
499 } 504 }
500 505
501 open_gnome3() 506 open_gnome3()
502 { 507 {
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
742 fi 747 fi
743 748
744 detectDE 749 detectDE
745 750
746 if [ x"$DE" = x"" ]; then 751 if [ x"$DE" = x"" ]; then
747 DE=generic 752 DE=generic
748 fi 753 fi
749 754
750 # if BROWSER variable is not set, check some well known browsers instead 755 # if BROWSER variable is not set, check some well known browsers instead
751 if [ x"$BROWSER" = x"" ]; then 756 if [ x"$BROWSER" = x"" ]; then
752 BROWSER=links2:links:lynx:w3m 757 BROWSER=links2:elinks:links:lynx:w3m
753 if [ -n "$DISPLAY" ]; then 758 if [ -n "$DISPLAY" ]; then
754 BROWSER=firefox:mozilla:epiphany:konqueror:chromium-browser:google-chrom e:$BROWSER 759 BROWSER=x-www-browser:firefox:seamonkey:mozilla:epiphany:konqueror:chrom ium-browser:google-chrome:$BROWSER
755 fi 760 fi
756 fi 761 fi
757 762
758 case "$DE" in 763 case "$DE" in
759 kde) 764 kde)
760 open_kde "${mailto}" 765 open_kde "${mailto}"
761 ;; 766 ;;
762 767
763 gnome) 768 gnome)
764 open_gnome "${mailto}" 769 open_gnome "${mailto}"
765 ;; 770 ;;
766 771
767 gnome3) 772 gnome3)
768 open_gnome3 "${mailto}" 773 open_gnome3 "${mailto}"
769 ;; 774 ;;
770 775
771 xfce) 776 xfce)
772 open_xfce "${mailto}" 777 open_xfce "${mailto}"
773 ;; 778 ;;
774 779
775 generic|lxde) 780 generic|lxde)
776 open_generic "${mailto}" 781 open_generic "${mailto}"
777 ;; 782 ;;
778 783
779 *) 784 *)
780 exit_failure_operation_impossible "no method available for opening '${mailto }'" 785 exit_failure_operation_impossible "no method available for opening '${mailto }'"
781 ;; 786 ;;
782 esac 787 esac
OLDNEW
« no previous file with comments | « scripts/xdg-desktop-menu ('k') | scripts/xdg-email.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698