1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

Add new urlutil option, and have these be reloadable

Handles #897 and part of #593
This commit is contained in:
Sean Smith 2019-10-12 16:56:24 -04:00
parent 25234e03da
commit 68e56eaa10
4 changed files with 13 additions and 2 deletions

View File

@ -140,6 +140,8 @@ func (wtfApp *WtfApp) watchForConfigChanges() {
config := cfg.LoadWtfConfigFile(wtfApp.configFilePath)
newApp := NewWtfApp(wtfApp.app, config, wtfApp.configFilePath)
openUrlUtil := utils.ToStrs(config.UList("wtf.openUrlUtil", []interface{}{}))
utils.Init(config.UString("wtf.openFileUtil", "open"), openUrlUtil)
newApp.Start()
case err := <-watch.Error:

View File

@ -60,7 +60,8 @@ func main() {
defer profile.Start(profile.MemProfile).Stop()
}
utils.Init(config.UString("wtf.openFileUtil", "open"))
openUrlUtil := utils.ToStrs(config.UList("wtf.openUrlUtil", []interface{}{}))
utils.Init(config.UString("wtf.openFileUtil", "open"), openUrlUtil)
setTerm(config)

View File

@ -2,8 +2,10 @@ package utils
// OpenFileUtil defines the system utility to use to open files
var OpenFileUtil = "open"
var OpenUrlUtil = []string{}
// Init initializes global settings in the wtf package
func Init(openFileUtil string) {
func Init(openFileUtil string, openUrlUtil []string) {
OpenFileUtil = openFileUtil
OpenUrlUtil = openUrlUtil
}

View File

@ -100,6 +100,12 @@ func Includes(strs []string, val string) bool {
// OpenFile opens the file defined in `path` via the operating system
func OpenFile(path string) {
if (strings.HasPrefix(path, "http://")) || (strings.HasPrefix(path, "https://")) {
if len(OpenUrlUtil) > 0 {
commands := append(OpenUrlUtil, path)
args := commands[1:len(commands)]
exec.Command(commands[0], args...).Start()
return
}
switch runtime.GOOS {
case "linux":
exec.Command("xdg-open", path).Start()