diff --git a/app.go b/app.go index 7cc60a0a5..e987e6c45 100644 --- a/app.go +++ b/app.go @@ -1,7 +1,6 @@ package wails import ( - "fmt" "os" "runtime" "syscall" @@ -67,28 +66,12 @@ func CreateApp(optionalConfig ...*AppConfig) *App { result.config.DisableInspector = true } - // If running windows, do a hidpi fix - if runtime.GOOS == "windows" { - err := SetProcessDPIAware() - if err != nil { - result.log.Fatalf(err.Error()) - } - } + // Platform specific init + platformInit() return result } -// SetProcessDPIAware via user32.dll -// https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setprocessdpiaware -// Also, thanks Jack Mordaunt! https://github.com/wailsapp/wails/issues/293 -func SetProcessDPIAware() error { - status, r, err := syscall.NewLazyDLL("user32.dll").NewProc("SetProcessDPIAware").Call() - if status == 0 { - return fmt.Errorf("exit status %d: %v %v", status, r, err) - } - return nil -} - // Run the app func (a *App) Run() error { diff --git a/app_other.go b/app_other.go new file mode 100644 index 000000000..6e322fbf2 --- /dev/null +++ b/app_other.go @@ -0,0 +1,7 @@ +// +build +linux +darwin !windows + +package wails + +func platformInit() { + +} diff --git a/app_windows.go b/app_windows.go new file mode 100644 index 000000000..6386d4131 --- /dev/null +++ b/app_windows.go @@ -0,0 +1,27 @@ +// +build windows !linux !darwin + +package wails + +import ( + "fmt" + "log" + "syscall" +) + +func platformInit() { + err := SetProcessDPIAware() + if err != nil { + log.Fatalf(err.Error()) + } +} + +// SetProcessDPIAware via user32.dll +// https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setprocessdpiaware +// Also, thanks Jack Mordaunt! https://github.com/wailsapp/wails/issues/293 +func SetProcessDPIAware() error { + status, r, err := syscall.NewLazyDLL("user32.dll").NewProc("SetProcessDPIAware").Call() + if status == 0 { + return fmt.Errorf("exit status %d: %v %v", status, r, err) + } + return nil +}