From: Christian Couder <christian.couder@gmail.com>
To: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Jonathan Nieder <jrnieder@gmail.com>
Subject: Re: [PATCHv2 6/7] web--browse: use (x-)www-browser if available
Date: Fri, 3 Dec 2010 18:40:28 +0100 [thread overview]
Message-ID: <AANLkTimAdrqYezL5jf9OR_J5XdYW-KYhYy9n_VQAUSD8@mail.gmail.com> (raw)
In-Reply-To: <1291394861-11989-7-git-send-email-giuseppe.bilotta@gmail.com>
Hi,
On Fri, Dec 3, 2010 at 5:47 PM, Giuseppe Bilotta
<giuseppe.bilotta@gmail.com> wrote:
> Debian and derivatives have an alternatives-based default browser
> configuration that uses the /usr/bin/gnome-www-browser,
> /usr/bin/x-www-browser and /usr/bin/www-browser symlinks.
>
> When no browser is selected by the user and the Debian alternatives are
> available, try to see if they are one of our recognized selection and
> in the affermative case use it. Otherwise, warn the user about them
> being unsupported and move on with the previous detection logic.
>
> Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
> ---
> Documentation/git-web--browse.txt | 4 ++
> git-web--browse.sh | 59 +++++++++++++++++++++++++++++++++++--
> 2 files changed, 60 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/git-web--browse.txt b/Documentation/git-web--browse.txt
> index c0416e5..de034a5 100644
> --- a/Documentation/git-web--browse.txt
> +++ b/Documentation/git-web--browse.txt
> @@ -36,6 +36,10 @@ The following browsers (or commands) are currently supported:
>
> Custom commands may also be specified.
>
> +If no default browser is specified, and /usr/bin/x-www-browser
> +(under X) or /usr/bin/www-browser is present, they are used to determine
> +the browser to use.
It looks like /usr/bin/gnome-www-browser is missing.
> +
> OPTIONS
> -------
> -b <browser>::
> diff --git a/git-web--browse.sh b/git-web--browse.sh
> index d0e99f5..48ea168 100755
> --- a/git-web--browse.sh
> +++ b/git-web--browse.sh
> @@ -49,6 +49,38 @@ init_browser_path() {
> test -z "$browser_path" && browser_path="$1"
> }
>
> +# check if a given executable is a browser we like
> +valid_exe() {
> + testexe="$1"
> + basename=$(basename $(readlink -f "$testexe"))
> + if valid_tool "$basename" ; then
> + browser="$basename"
> + browser_path="$testexe"
> + return 0
> + fi
> +
> + # if the linked executable doesn't match a browser name,
> + # look at the version string
> + verstring="$("$testexe" --version 2> /dev/null)"
> + browser="$(echo "$verstring" | head -n 1 | cut -f1 -d' ' | tr A-Z a-z)"
> + case "$browser" in
> + mozilla)
> + browser="$(echo "$verstring" | head -n 1 | cut -f2 -d' ' | tr A-Z a-z)"
> + ;;
> + google)
> + browser="google-chrome"
> + ;;
> + esac
> + if valid_tool "$browser" ; then
> + browser_path="$i"
> + return 0
> + fi
> +
> + echo >&2 "$basename ($browser) is not a supported browser, skipping"
Why not:
echo >&2 "$basename (from $testexe) is not a supported browser, skipping"
?
Otherwise we might get something like:
"newbrowser (newbrowser) is not a supported browser, skipping"
> + browser=""
> + return 1
> +}
> +
> while test $# != 0
> do
> case "$1" in
> @@ -106,6 +138,26 @@ then
> fi
> fi
>
> +# Debian and derivatives use gnome-www-browser, x-www-browser or www-browser to
> +# set the default browser for the system. If the user did not specify a tool and
> +# we detect that one of the *www-browser links to a supported one, we pick it.
> +# Otherwise, we warn the user about them being unsupported and proceed to look
> +# for a supported browser.
> +if test -z "$browser" ; then
> + wwwbrowser="/usr/bin/www-browser"
> + if test -n "$DISPLAY"; then
> + wwwbrowser="/usr/bin/x-www-browser $wwwbrowser"
> + if test -n "$GNOME_DESKTOP_SESSION_ID"; then
> + wwwbrowser="/usr/bin/gnome-www-browser $wwwbrowser"
> + fi
> + fi
> + for i in $wwwbrowser; do
> + if test -x $i && valid_exe $i ; then
> + break
> + fi
> + done
> +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"
> @@ -133,7 +185,7 @@ if test -z "$browser" ; then
> fi
> done
> test -z "$browser" && die "No known browser available."
> -else
> +else if test -z "$browser_path"; then
Now that you reset $browser above, I am not sure this test -z
"$browser_path" is useful...
Thanks,
Christian.
next prev parent reply other threads:[~2010-12-03 17:40 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-03 16:47 [PATCHv2 0/7] web--browse cleanup and extensions Giuseppe Bilotta
2010-12-03 16:47 ` [PATCHv2 1/7] CodingGuidelines: mention whitespace preferences for shell scripts Giuseppe Bilotta
2010-12-03 21:43 ` Junio C Hamano
2010-12-03 22:02 ` Giuseppe Bilotta
2010-12-03 22:28 ` Junio C Hamano
2010-12-03 22:46 ` Giuseppe Bilotta
2010-12-03 16:47 ` [PATCHv2 2/7] web--browse: coding style Giuseppe Bilotta
2010-12-07 23:38 ` Junio C Hamano
2010-12-03 16:47 ` [PATCHv2 3/7] web--browse: split valid_tool list Giuseppe Bilotta
2010-12-03 16:47 ` [PATCHv2 4/7] web--browse: support opera, seamonkey and elinks Giuseppe Bilotta
2010-12-03 22:01 ` Junio C Hamano
2010-12-03 22:22 ` Giuseppe Bilotta
2010-12-03 16:47 ` [PATCHv2 5/7] web--browse: better support for chromium Giuseppe Bilotta
2010-12-03 21:57 ` Junio C Hamano
2010-12-03 22:25 ` Giuseppe Bilotta
2010-12-03 16:47 ` [PATCHv2 6/7] web--browse: use (x-)www-browser if available Giuseppe Bilotta
2010-12-03 17:40 ` Christian Couder [this message]
2010-12-03 17:57 ` Giuseppe Bilotta
2010-12-03 22:15 ` Junio C Hamano
2010-12-03 22:45 ` Giuseppe Bilotta
2010-12-04 0:42 ` Jonathan Nieder
2010-12-04 7:49 ` Giuseppe Bilotta
2010-12-03 16:47 ` [PATCHv2 7/7] web--browse: look at the BROWSER env var Giuseppe Bilotta
2010-12-03 17:08 ` Jonathan Nieder
2010-12-03 17:16 ` Jonathan Nieder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTimAdrqYezL5jf9OR_J5XdYW-KYhYy9n_VQAUSD8@mail.gmail.com \
--to=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=giuseppe.bilotta@gmail.com \
--cc=jrnieder@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).