Commits

Miki Tebeka committed 47e8a06

Desktop

Comments (0)

Files changed (1)

+/* The desktop package exposes Open function which acts like the user clicked on a uri. */
+package desktop
+
+import (
+	"fmt"
+	"os/exec"
+	"runtime"
+)
+
+var commands = map[string]string{
+	"windows": "start",
+	"darwin":  "open",
+	"linux":   "xdg-open",
+}
+
+var Version = "0.1.0"
+
+// Open calls the OS default program for uri
+func Open(uri string) error {
+	run, ok := commands[runtime.GOOS]
+	if !ok {
+		return fmt.Errorf("don't know how to open things on %s platform", runtime.GOOS)
+	}
+
+	cmd := exec.Command(run, uri)
+	return cmd.Start()
+}