From: Junio C Hamano Date: Mon, 25 Mar 2013 21:44:17 GMT Subject: Re: [PATCH] git-web--browse: recognize iTerm as a GUI terminal on OS X Message-ID: <7vtxnzw3wu.fsf@alter.siamese.dyndns.org> In-Reply-To: <20130325101318.GA31409@yoda.local> John Szakmeister writes: > It turns out that the presence of SECURITYSESSIONID is not sufficient > for detecting the presence of a GUI under Mac OS X. SECURITYSESSIONID > appears to only be set when the user has Screen Sharing enabled. > Disabling Screen Sharing and relaunching the shell showed that the > variable was missing, at least under Mac OS X 10.6.8. As a result, > let's check for iTerm directly via TERM_PROGRAM. > > Signed-off-by: John Szakmeister > --- > > On Sun, Mar 24, 2013 at 10:05:53PM +0100, Christian Couder wrote: > [snip] >> Your patch looks good to me, and I cannot really test it as I don't have a Mac. >> Could you just had some of the explanations you gave above to the >> commit message? > > Here's an updated patch. I also noticed that git-bisect.sh is > also trying to determine if a GUI is present by looking for > SECURITYSESSIONID as well. I wonder if it would be better to > create a shell function in git-sh-setup.sh that the two scripts > could use? Yes, but that can come later once this settles. Your patch makes me wonder if test -n "$TERM_PROGRAM" without any SECURITYSESSIONID or explicit program name checks should suffice, though. > > -John > > git-web--browse.sh | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/git-web--browse.sh b/git-web--browse.sh > index 1e82726..1ff5379 100755 > --- a/git-web--browse.sh > +++ b/git-web--browse.sh > @@ -120,6 +120,7 @@ if test -z "$browser" ; then > fi > # SECURITYSESSIONID indicates an OS X GUI login session > if test -n "$SECURITYSESSIONID" \ > + -o "$TERM_PROGRAM" = "iTerm.app" \ > -o "$TERM_PROGRAM" = "Apple_Terminal" ; then > browser_candidates="open $browser_candidates" > fi