
lederniermagicienandGitHub
c34a2c01e4
feat(theme): native macOS appearance detection via CoreFoundation FFI (#207)
Move macOS dark/light mode detection from compiled Objective-C helper
+ shell-out to defaults(1) into the Rust pi-natives crate.
Sync detection: CFPreferencesCopyAppValue reads AppleInterfaceStyle
directly — no subprocess, no shell.
Observer: background thread registers with CFDistributedNotificationCenter
for AppleInterfaceThemeChangedNotification. A 2-second CFRunLoopTimer
serves as both run-loop keep-alive and polling fallback (distributed
notifications may not reliably reach background threads on all macOS
versions). Dedup logic prevents double-firing.
Removes: MACOS_OBSERVER_OBJC constant, getOrCompileObserver(), binary
cache at ~/.omp/cache/, defaults read shell-out, readLines stream
parsing, fallback poll timer.
Adds: crates/pi-natives/src/appearance.rs (CoreFoundation FFI),
packages/natives/src/appearance/ (TS bindings).
2026-02-28 12:13:09 +01:00
..
2026-02-23 15:00:11 +01:00
2026-02-27 11:58:48 +01:00
2026-02-27 12:43:46 +01:00
2026-02-23 20:59:17 +01:00
2026-02-24 03:30:34 +01:00
2026-02-28 05:29:41 +01:00
2026-02-23 20:59:17 +01:00
2026-02-28 06:23:00 +01:00
2026-02-24 03:25:13 +01:00
2026-02-24 02:57:43 +01:00
2026-02-23 20:59:17 +01:00
2026-02-23 20:59:17 +01:00
2026-02-22 18:35:21 +01:00
2026-02-26 08:42:53 +01:00
2026-02-28 06:23:00 +01:00
2026-02-28 05:24:49 +01:00
2026-02-23 20:59:17 +01:00
2026-02-28 12:13:09 +01:00
2026-02-26 11:04:42 +01:00
2026-02-22 18:05:22 +01:00
2026-02-28 05:56:29 +01:00
2026-02-16 19:36:56 +01:00
2026-02-28 05:27:46 +01:00
2026-02-23 06:21:32 +00:00
2026-02-26 11:54:08 +01:00
2026-02-15 13:37:43 +01:00
2026-02-28 05:27:45 +01:00
2026-02-28 06:05:36 +01:00
2026-02-22 11:01:11 +01:00
2026-02-28 06:23:00 +01:00
2026-02-28 06:05:36 +01:00
2026-02-04 12:06:50 +01:00
2026-02-23 20:59:17 +01:00
2026-02-23 20:59:17 +01:00
2026-02-26 11:25:02 +01:00
2026-02-23 20:59:17 +01:00
2026-02-23 20:59:17 +01:00
2026-02-18 17:47:58 +01:00
2026-02-28 05:27:44 +01:00
2026-02-26 20:47:54 +01:00