aboutsummaryrefslogtreecommitdiffstats
path: root/browser_windows.go
diff options
context:
space:
mode:
authorTeddy Wing2019-06-23 18:45:47 +0200
committerTeddy Wing2019-06-23 20:42:45 +0200
commit884bf54a000924670c0a0d86f4c10c2278ff2daf (patch)
treedc6b3cdf195fb9274c79dfb8e7476c7cd5495e34 /browser_windows.go
parent0a3d74bf9ce488f035cf5bc36f753a711bc74334 (diff)
downloadbrowser-support-for-BROWSER-environment-variable.tar.bz2
Add support for the BROWSER environment variablesupport-for-BROWSER-environment-variable
Allow user-defined URL-opening commands via the BROWSER environment variable. This enables using a non-default browser, or changing the browser for a single command. For example, on Mac: $ export BROWSER='open -a Firefox' Windows: > setx BROWSER "start iexplore" In UNIX environments, the command is run through `$SHELL -c`, or `/bin/sh` if `$SHELL` is not set. On Windows, it uses `cmd /c`. Ensure that URLs are properly quoted between UNIX and Windows environments in `fmtBrowserCmd()`.
Diffstat (limited to 'browser_windows.go')
-rw-r--r--browser_windows.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/browser_windows.go b/browser_windows.go
index a964c7b..0be67a2 100644
--- a/browser_windows.go
+++ b/browser_windows.go
@@ -1,6 +1,7 @@
package browser
import (
+ "fmt"
"os/exec"
"strings"
"syscall"
@@ -14,3 +15,11 @@ func openBrowser(url string) error {
func setFlags(cmd *exec.Cmd) {
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
}
+
+func shell() (shell, flag string) {
+ return "cmd", "/c"
+}
+
+func fmtBrowserCmd(browser, url string) string {
+ return fmt.Sprintf("%s %s", browser, url)
+}