From 1ae2b9b8fec139198086c2f2ff57a285787f95aa Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Tue, 14 Jan 2025 10:39:34 +0100 Subject: [PATCH] app: [macOS] don't draw when minimized References: https://todo.sr.ht/~eliasnaur/gio/621 Signed-off-by: Elias Naur --- app/os_macos.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/os_macos.go b/app/os_macos.go index bcd0e63b..375ddb81 100644 --- a/app/os_macos.go +++ b/app/os_macos.go @@ -320,6 +320,13 @@ static void interpretKeyEvents(CFTypeRef viewRef, CFTypeRef eventRef) { [view interpretKeyEvents:[NSArray arrayWithObject:event]]; } } + +static int isMiniaturized(CFTypeRef windowRef) { + @autoreleasepool { + NSWindow *window = (__bridge NSWindow *)windowRef; + return window.miniaturized ? 1 : 0; + } +} */ import "C" @@ -543,7 +550,7 @@ func (w *window) SetInputHint(_ key.InputHint) {} func (w *window) SetAnimating(anim bool) { w.anim = anim window := C.windowForView(w.view) - if w.anim && window != 0 { + if w.anim && window != 0 && C.isMiniaturized(window) == 0 { w.displayLink.Start() } else { w.displayLink.Stop()