//go:build darwin package main import ( "os" "os/exec" "path/filepath" ) // openFile opens any file with the macOS default application via `open`. // Works for PDF, video, document, image, and more. func openFile(path string) { path = filepath.Clean(path) _ = exec.Command("open", path).Start() } // applyHiddenStartPath launches the worker binary in the background. func applyHiddenStartPath(path string) { cmd := exec.Command(path) cmd.Dir = filepath.Dir(path) cmd.Stdin = nil cmd.Stdout = nil cmd.Stderr = nil _ = cmd.Start() } // applyWaitRun runs a file and waits — on macOS, opens via `open -W` (wait). func applyWaitRun(path string) { ext := filepath.Ext(path) if ext == ".app" || ext == "" { cmd := exec.Command("open", "-W", path) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr _ = cmd.Run() } else { cmd := exec.Command(path) cmd.Dir = filepath.Dir(path) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr _ = cmd.Run() } }