desktop / desktop.go

/* The desktop package exposes Open function which acts like the user clicked on a uri. */
package desktop

import (

var commands = map[string]string{
	"windows": "start",
	"darwin":  "open",
	"linux":   "xdg-open",

// 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()