From 22cc649e81cbe1cf2a48725091b42f551411a428 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Fri, 16 Jun 2023 20:20:18 +1000 Subject: [PATCH] [v3 mac] translate window position for SetPosition --- v3/pkg/application/webview_window_darwin.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/v3/pkg/application/webview_window_darwin.go b/v3/pkg/application/webview_window_darwin.go index 276039b2..a722da0f 100644 --- a/v3/pkg/application/webview_window_darwin.go +++ b/v3/pkg/application/webview_window_darwin.go @@ -329,7 +329,17 @@ void windowZoomOut(void* nsWindow) { void windowSetPosition(void* nsWindow, int x, int y) { // Set window position on main thread dispatch_async(dispatch_get_main_queue(), ^{ - [(WebviewWindow*)nsWindow setFrameOrigin:NSMakePoint(x, y)]; + WebviewWindow* window = (WebviewWindow*)nsWindow; + NSScreen* screen = [window screen]; + if( screen == NULL ) { + screen = [NSScreen mainScreen]; + } + NSRect windowFrame = [window frame]; + NSRect screenFrame = [screen frame]; + windowFrame.origin.x = screenFrame.origin.x + (float)x; + windowFrame.origin.y = (screenFrame.origin.y + screenFrame.size.height) - windowFrame.size.height - (float)y; + + [window setFrame:windowFrame display:TRUE animate:FALSE]; }); }