mirror of https://github.com/liamg/aminal.git
Make launching URLs on Windows work (#185)
This commit is contained in:
parent
9190afef8a
commit
6ccfba976f
16
gui/gui.go
16
gui/gui.go
|
@ -6,7 +6,6 @@ import (
|
|||
"image/png"
|
||||
"math"
|
||||
"os"
|
||||
"os/exec"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
@ -23,6 +22,7 @@ import (
|
|||
"github.com/liamg/aminal/terminal"
|
||||
"github.com/liamg/aminal/version"
|
||||
"go.uber.org/zap"
|
||||
"github.com/liamg/aminal/platform"
|
||||
)
|
||||
|
||||
type GUI struct {
|
||||
|
@ -638,17 +638,9 @@ func (gui *GUI) createProgram() (uint32, error) {
|
|||
|
||||
func (gui *GUI) launchTarget(target string) {
|
||||
|
||||
cmd := "xdg-open"
|
||||
|
||||
switch runtime.GOOS {
|
||||
case "darwin":
|
||||
cmd = "open"
|
||||
case "windows":
|
||||
cmd = "start"
|
||||
}
|
||||
|
||||
if err := exec.Command(cmd, target).Run(); err != nil {
|
||||
gui.logger.Errorf("Failed to launch external command %s: %s", cmd, err)
|
||||
err := platform.LaunchTarget(target)
|
||||
if err != nil {
|
||||
gui.logger.Errorf("Failed to launch target %s: %s", target, err)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
// +build darwin
|
||||
|
||||
package platform
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
)
|
||||
|
||||
func LaunchTarget(target string) error {
|
||||
return exec.Command("open", target).Run()
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
// +build linux
|
||||
|
||||
package platform
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
)
|
||||
|
||||
func LaunchTarget(target string) error {
|
||||
return exec.Command("xdg-open", target).Run()
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
// +build windows
|
||||
|
||||
package platform
|
||||
|
||||
import (
|
||||
"github.com/MaxRis/w32"
|
||||
)
|
||||
|
||||
func LaunchTarget(target string) error {
|
||||
return w32.ShellExecute(0, "", target, "", "", w32.SW_SHOW)
|
||||
}
|
Loading…
Reference in New Issue