From ca45fe2d464746b334fbd1abfe93f656c373daff Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 1 Feb 2023 09:23:39 -0800 Subject: [PATCH] cmd/tailscale/cli: delete ActLikeCLI It's since been rewritten in Swift. #cleanup Change-Id: I0860d681e8728697804ce565f63c5613b8b1088c Signed-off-by: Brad Fitzpatrick --- cmd/tailscale/cli/cli.go | 47 ---------------------------------------- 1 file changed, 47 deletions(-) diff --git a/cmd/tailscale/cli/cli.go b/cmd/tailscale/cli/cli.go index 786eac60e..e461ca56b 100644 --- a/cmd/tailscale/cli/cli.go +++ b/cmd/tailscale/cli/cli.go @@ -14,7 +14,6 @@ "log" "os" "runtime" - "strconv" "strings" "sync" "text/tabwriter" @@ -47,52 +46,6 @@ func outln(a ...any) { fmt.Fprintln(Stdout, a...) } -// ActLikeCLI reports whether a GUI application should act like the -// CLI based on os.Args, GOOS, the context the process is running in -// (pty, parent PID), etc. -func ActLikeCLI() bool { - // This function is only used on macOS. - if runtime.GOOS != "darwin" { - return false - } - - // Escape hatch to let people force running the macOS - // GUI Tailscale binary as the CLI. - if v, _ := strconv.ParseBool(os.Getenv("TAILSCALE_BE_CLI")); v { - return true - } - - // If our parent is launchd, we're definitely not - // being run as a CLI. - if os.Getppid() == 1 { - return false - } - - // Xcode adds the -NSDocumentRevisionsDebugMode flag on execution. - // If present, we are almost certainly being run as a GUI. - for _, arg := range os.Args { - if arg == "-NSDocumentRevisionsDebugMode" { - return false - } - } - - // Looking at the environment of the GUI Tailscale app (ps eww - // $PID), empirically none of these environment variables are - // present. But all or some of these should be present with - // Terminal.all and bash or zsh. - for _, e := range []string{ - "SHLVL", - "TERM", - "TERM_PROGRAM", - "PS1", - } { - if os.Getenv(e) != "" { - return true - } - } - return false -} - func newFlagSet(name string) *flag.FlagSet { onError := flag.ExitOnError if runtime.GOOS == "js" {