diff options
Diffstat (limited to 'git-web--browse.sh')
-rwxr-xr-x | git-web--browse.sh | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/git-web--browse.sh b/git-web--browse.sh index e9de241..ae15253 100755 --- a/git-web--browse.sh +++ b/git-web--browse.sh @@ -32,8 +32,9 @@ valid_custom_tool() valid_tool() { case "$1" in firefox | iceweasel | seamonkey | iceape | \ - chrome | google-chrome | chromium | chromium-browser |\ - konqueror | opera | w3m | elinks | links | lynx | dillo | open | start) + chrome | google-chrome | chromium | chromium-browser | \ + konqueror | opera | w3m | elinks | links | lynx | dillo | open | \ + start | cygstart | xdg-open) ;; # happy *) valid_custom_tool "$1" || return 1 @@ -58,7 +59,7 @@ do -b|--browser*|-t|--tool*) case "$#,$1" in *,*=*) - browser=`expr "z$1" : 'z-[^=]*=\(.*\)'` + browser=$(expr "z$1" : 'z-[^=]*=\(.*\)') ;; 1,*) usage ;; @@ -70,7 +71,7 @@ do -c|--config*) case "$#,$1" in *,*=*) - conf=`expr "z$1" : 'z-[^=]*=\(.*\)'` + conf=$(expr "z$1" : 'z-[^=]*=\(.*\)') ;; 1,*) usage ;; @@ -99,7 +100,7 @@ then for opt in "$conf" "web.browser" do test -z "$opt" && continue - browser="`git config $opt`" + browser="$(git config $opt)" test -z "$browser" || break done if test -n "$browser" && ! valid_tool "$browser"; then @@ -111,7 +112,7 @@ fi if test -z "$browser" ; then if test -n "$DISPLAY"; then - browser_candidates="firefox iceweasel google-chrome chrome chromium chromium-browser konqueror opera seamonkey iceape w3m elinks links lynx dillo" + browser_candidates="firefox iceweasel google-chrome chrome chromium chromium-browser konqueror opera seamonkey iceape w3m elinks links lynx dillo xdg-open" if test "$KDE_FULL_SESSION" = "true"; then browser_candidates="konqueror $browser_candidates" fi @@ -119,14 +120,18 @@ if test -z "$browser" ; then browser_candidates="w3m elinks links lynx" fi # SECURITYSESSIONID indicates an OS X GUI login session - if test -n "$SECURITYSESSIONID" \ - -o "$TERM_PROGRAM" = "Apple_Terminal" ; then + if test -n "$SECURITYSESSIONID" || test -n "$TERM_PROGRAM" + then browser_candidates="open $browser_candidates" fi # /bin/start indicates MinGW if test -x /bin/start; then browser_candidates="start $browser_candidates" fi + # /usr/bin/cygstart indicates Cygwin + if test -x /usr/bin/cygstart; then + browser_candidates="cygstart $browser_candidates" + fi for i in $browser_candidates; do init_browser_path $i @@ -156,7 +161,7 @@ firefox|iceweasel|seamonkey|iceape) ;; google-chrome|chrome|chromium|chromium-browser) # No need to specify newTab. It's default in chromium - eval "$browser_path" "$@" & + "$browser_path" "$@" & ;; konqueror) case "$(basename "$browser_path")" in @@ -164,18 +169,18 @@ konqueror) # It's simpler to use kfmclient to open a new tab in konqueror. browser_path="$(echo "$browser_path" | sed -e 's/konqueror$/kfmclient/')" type "$browser_path" > /dev/null 2>&1 || die "No '$browser_path' found." - eval "$browser_path" newTab "$@" + "$browser_path" newTab "$@" & ;; kfmclient) - eval "$browser_path" newTab "$@" + "$browser_path" newTab "$@" & ;; *) "$browser_path" "$@" & ;; esac ;; -w3m|elinks|links|lynx|open) - eval "$browser_path" "$@" +w3m|elinks|links|lynx|open|cygstart|xdg-open) + "$browser_path" "$@" ;; start) exec "$browser_path" '"web-browse"' "$@" @@ -185,7 +190,7 @@ opera|dillo) ;; *) if test -n "$browser_cmd"; then - ( eval $browser_cmd "$@" ) + ( eval "$browser_cmd \"\$@\"" ) fi ;; esac |