From f7faabb95e7e6a291bd5e1fd486bcab8206e33d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=CC=84vels=20Nadtoc=CC=8Cajevs?= <7645683+bruvzg@users.noreply.github.com> Date: Fri, 20 Feb 2026 10:12:55 +0200 Subject: [PATCH] [macOS] Enable wake for events if `Magnet` is running. --- platform/macos/os_macos.mm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/platform/macos/os_macos.mm b/platform/macos/os_macos.mm index 0bb477ee33..ad3c59233d 100644 --- a/platform/macos/os_macos.mm +++ b/platform/macos/os_macos.mm @@ -61,7 +61,14 @@ #include void OS_MacOS::add_frame_delay(bool p_can_draw, bool p_wake_for_events) { - if (p_wake_for_events) { + bool wake_for_events = p_wake_for_events; + if (!wake_for_events) { + NSArray *proc_array = [NSRunningApplication runningApplicationsWithBundleIdentifier:@"com.crowdcafe.windowmagnet"]; + if (proc_array && proc_array.count > 0) { + wake_for_events = true; + } + } + if (wake_for_events) { uint64_t delay = get_frame_delay(p_can_draw); if (delay == 0) { return; @@ -79,7 +86,7 @@ void OS_MacOS::add_frame_delay(bool p_can_draw, bool p_wake_for_events) { CFRunLoopAddTimer(CFRunLoopGetCurrent(), wait_timer, kCFRunLoopCommonModes); return; } - OS_Unix::add_frame_delay(p_can_draw, p_wake_for_events); + OS_Unix::add_frame_delay(p_can_draw, wake_for_events); } void OS_MacOS::initialize() {