Files
PLG-MuDiCS/shared/open_browser.go
T

38 lines
838 B
Go

package shared
import (
"errors"
"fmt"
"os"
"os/exec"
)
func OpenBrowserWindow(url string, fullscreen bool, temp bool) error {
bins := []string{"chromium", "chromium-browser"}
args := []string{fmt.Sprintf("--app=%s", url), "--autoplay-policy=no-user-gesture-required"}
if fullscreen {
args = append(args, "--start-fullscreen")
}
if temp {
tempDirPath, err := os.MkdirTemp("", "plg-mudics-browser-")
if err != nil {
return err
}
arg := fmt.Sprintf("--user-data-dir=%s", tempDirPath)
args = append(args, arg)
}
errs := []string{}
for _, bin := range bins {
cmd := exec.Command(bin, args...)
commandOutput := RunShellCommand(cmd)
if commandOutput.ExitCode == 0 {
return nil
}
errs = append(errs, commandOutput.Stderr)
}
return errors.New("failed to open browser window: " + fmt.Sprint(errs))
}