github.com/richardwilkes/toolbox@v1.121.0/desktop/browser.go (about)

     1  // Copyright (c) 2016-2024 by Richard A. Wilkes. All rights reserved.
     2  //
     3  // This Source Code Form is subject to the terms of the Mozilla Public
     4  // License, version 2.0. If a copy of the MPL was not distributed with
     5  // this file, You can obtain one at http://mozilla.org/MPL/2.0/.
     6  //
     7  // This Source Code Form is "Incompatible With Secondary Licenses", as
     8  // defined by the Mozilla Public License, version 2.0.
     9  
    10  // Package desktop provides desktop integration utilities.
    11  package desktop
    12  
    13  import (
    14  	"os/exec"
    15  
    16  	"github.com/richardwilkes/toolbox/errs"
    17  )
    18  
    19  // Open asks the system to open the provided path or URL.
    20  func Open(pathOrURL string) error {
    21  	cmd, args := cmdAndArgs(pathOrURL)
    22  	if err := exec.Command(cmd, args...).Start(); err != nil {
    23  		return errs.NewWithCause("Unable to open "+pathOrURL, err)
    24  	}
    25  	return nil
    26  }