[macOS] Enable wake for events if Magnet is running.

(cherry picked from commit f7faabb95e7e6a291bd5e1fd486bcab8206e33d5)
This commit is contained in:
Pāvels Nadtočajevs
2026-02-20 10:12:55 +02:00
committed by Thaddeus Crews
parent 942fe8896a
commit 2d7c3e73d8
+9 -2
View File
@@ -57,7 +57,14 @@
#include <sys/sysctl.h>
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<NSRunningApplication *> *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;
@@ -75,7 +82,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() {