From 1bb1a8015659e0cfde45be9fe9440dbb254680cf Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Tue, 2 Jul 2019 18:21:34 -0400 Subject: [PATCH] Use "open" instead of "xdg-open" on Darwin systems --- commands/msgview/open.go | 5 ++--- doc/aerc.1.scd | 2 +- lib/open.go | 12 ++++++++++++ lib/open_darwin.go | 10 ++++++++++ 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 lib/open.go create mode 100644 lib/open_darwin.go diff --git a/commands/msgview/open.go b/commands/msgview/open.go index d1b3238..d25fa67 100644 --- a/commands/msgview/open.go +++ b/commands/msgview/open.go @@ -7,10 +7,10 @@ import ( "io/ioutil" "mime/quotedprintable" "os" - "os/exec" "strings" "time" + "git.sr.ht/~sircmpwn/aerc/lib" "git.sr.ht/~sircmpwn/aerc/widgets" ) @@ -58,8 +58,7 @@ func (_ Open) Execute(aerc *widgets.Aerc, args []string) error { return } - cmd := exec.Command("xdg-open", tmpFile.Name()) - err = cmd.Run() + err = lib.OpenFile(tmpFile.Name()) if err != nil { aerc.PushError(" " + err.Error()) } diff --git a/doc/aerc.1.scd b/doc/aerc.1.scd index f97d01d..0b86f75 100644 --- a/doc/aerc.1.scd +++ b/doc/aerc.1.scd @@ -122,7 +122,7 @@ message list, the message in the message viewer, etc). *open* Saves the current message part in a temporary file and opens it - with xdg-open. + with the system handler. *pipe* Downloads and pipes the current message part into the given shell command, diff --git a/lib/open.go b/lib/open.go new file mode 100644 index 0000000..ad6533e --- /dev/null +++ b/lib/open.go @@ -0,0 +1,12 @@ +// +build !darwin + +package lib + +import ( + "os/exec" +) + +func OpenFile(filename string) error { + cmd := exec.Command("xdg-open", filename) + return cmd.Run() +} diff --git a/lib/open_darwin.go b/lib/open_darwin.go new file mode 100644 index 0000000..0ffd9a1 --- /dev/null +++ b/lib/open_darwin.go @@ -0,0 +1,10 @@ +package lib + +import ( + "os/exec" +) + +func OpenFile(filename string) error { + cmd := exec.Command("open", filename) + return cmd.Run() +}