diff options
| author | Dave Cheney | 2014-07-10 17:40:06 +1000 |
|---|---|---|
| committer | Dave Cheney | 2014-07-10 17:40:06 +1000 |
| commit | 69832124a7731c2457fd9cd135cb8d718535aa6e (patch) | |
| tree | 8168dd95a84c9c4d5462a46e91ef905eedb140e6 | |
| parent | 59c20acf66768ad817536bfc5f8fee58c316071f (diff) | |
| download | browser-69832124a7731c2457fd9cd135cb8d718535aa6e.tar.bz2 | |
Trying to make OpenFile/Reader on linux more reliable.
| -rw-r--r-- | browser.go | 11 | ||||
| -rw-r--r-- | browser_linux.go | 8 |
2 files changed, 13 insertions, 6 deletions
@@ -7,11 +7,16 @@ import ( "fmt" "io" "io/ioutil" + "path/filepath" ) // OpenFile opens new browser window for the file path. func OpenFile(path string) error { - return openBrowser(path) + path, err := filepath.Abs(path) + if err != nil { + return err + } + return OpenURL("file://" + path) } // OpenReader consumes the contents of r and presents the @@ -28,9 +33,7 @@ func OpenReader(r io.Reader) error { if err := f.Close(); err != nil { return fmt.Errorf("browser: caching temporary file failed: %v", err) } - - //defer os.Remove(f.Name()) - return openBrowser(f.Name()) + return OpenFile(f.Name()) } // OpenURL opens a new browser window pointing to url. diff --git a/browser_linux.go b/browser_linux.go index e9e9b8c..ccd1685 100644 --- a/browser_linux.go +++ b/browser_linux.go @@ -5,6 +5,10 @@ import ( ) func openBrowser(url string) error { - cmd := exec.Command("xdg-open", url) - return cmd.Run() + sensibleBrowser, err := exec.LookPath("sensible-browser") + if err != nil { + // sensible-browser not availble, try xdg-open + return exec.Command("xdg-open", url).Run() + } + return exec.Command(sensibleBrowser, url).Run() } |
