fix: ensure no errors when specifying media flags

Fix the issue where users specify flags/arguments when specifying their
media players.
This commit is contained in:
Dan Anglin 2024-06-25 04:45:05 +01:00
parent 632a620180
commit 63f0526f39
Signed by: dananglin
GPG key ID: 0C1D44CFBEE68638

View file

@ -8,6 +8,8 @@ import (
"fmt" "fmt"
"os/exec" "os/exec"
"regexp" "regexp"
"slices"
"strings"
) )
func GetFQDN(url string) string { func GetFQDN(url string) string {
@ -27,10 +29,12 @@ func OpenMedia(viewer string, paths []string) error {
return UnspecifiedProgramError{} return UnspecifiedProgramError{}
} }
command := exec.Command(viewer, paths...) cmd := slices.Concat(strings.Split(viewer, " "), paths)
command := exec.Command(cmd[0], cmd[1:]...) //nolint:gosec
if err := command.Start(); err != nil { if err := command.Start(); err != nil {
return fmt.Errorf("received an error after starting the image viewer: %w", err) return fmt.Errorf("received an error after starting the program: %w", err)
} }
return nil return nil