ref: 00a84c4e2dc9760c97b93bb873e6d894f62d8d27
parent: 8e4a1df8f038603be96312a15bef6e8aa23833ed
author: penny <penny@limitedideas.org>
date: Tue Sep 30 15:24:13 EDT 2025
image preview command is set in preferences
--- a/config.go
+++ b/config.go
@@ -15,6 +15,7 @@
Apidelay float32 `json:"apidelay"`
Save_Location string `json:"save_location"`
Browser string `json:"browser"`
+ ImageViewer string `json:"image_viewer"`
}
type account struct {@@ -49,6 +50,10 @@
prefs.Browser = defaultprefs.Browser
fixed = true
}
+ if prefs.ImageViewer == "" {+ prefs.ImageViewer = defaultprefs.ImageViewer
+ fixed = true
+ }
return prefs, fixed
}
@@ -57,6 +62,7 @@
Apidelay: 2,
Save_Location: "~/Downloads",
Browser: "xdg-open '%s'",
+ ImageViewer: "xdg-open %s",
}
return *prefs
}
--- a/filehandler.go
+++ b/filehandler.go
@@ -8,6 +8,7 @@
"os"
"os/exec"
"path"
+ "strings"
"codeberg.org/penny64/hellclient-go-mastodon"
"github.com/google/shlex"
@@ -21,23 +22,12 @@
return
}
cmd := exec.Command(cmdargv[0], cmdargv[1:]...)
+ cmd.Stdout = os.Stdout
+ cmd.Stderr = os.Stdout
cmd.Run()
return
}
func (hc *Hellclient) previewPostImages(target *mastodon.Status, commandstring string) (err error) {-
- var command string
-
- args, err := shlex.Split(commandstring)
-
- if len(args) < 0 {- //No command
- return
- }
-
- command = args[0]
- args = args[1:]
-
_, pathnames, err := downloadPostImages(target)
if len(pathnames) == 0 {@@ -44,17 +34,9 @@
//We tolerate failing to download some items but if we have none then error out
return
}
- for file := range pathnames {- defer os.Remove(pathnames[file])
- }
-
- args = append(args, pathnames...)
-
- cmd := exec.Command(command, args...)
- cmd.Stdout = os.Stdout
//Let go of the lock while we wait for return
hc.unlock()
- err = cmd.Run()
+ openItemInOS(commandstring, strings.Join(pathnames, " "))
hc.lock()
return
--- a/main.go
+++ b/main.go
@@ -266,7 +266,7 @@
openItemInOS(hc.preferences.Browser, hc.urlMap[index][urlindex-1])
return
case "preview":
- err := hc.previewPostImages(postItem, "open -W -a \"Quick Look\"")
+ err := hc.previewPostImages(postItem, hc.preferences.ImageViewer)
if err != nil { fmt.Printf("Image preview failed: %v\n", err)}
--
⑨