s3onghyun/bulchimbeon は、AI エージェントが作業している間だけ Mac をロックさせない macOS メニューバーアプリです。2026-11-06 のコミット f58eedd(PR #69)は、メニューバーのスプライトアニメーションが見えないときには完全に停止するように変えました。画面ロック、ディスプレイのスリープ、status item のウィンドウが完全に隠れている状態では、フレーム予約が毎秒 2 回から 0 回へ下がり、低消費電力モードでは毎秒 0.67 フレームまで低下します。
実装は状態を定期的に問い合わせるのではなく、システム通知だけを送습니다。NSWorkspace のスクリーンスリープおよび復帰通知、分散通知センターの com.apple.screenIsLocked と com.apple.screenIsUnlocked、そして NSWindow の遮蔽状態変更通知から status item ウィンドウの可視性を計算し、状態を切り替えます。タイマーには tolerance があり、フレームが 1 つしかないポーズではタイマーをまったく予約しません。判定ロジックは新しく追加された Sources/BulchimbeonCore/MenuBarAnimationPolicy.swift に入り、テストも一緒に増えました。変更はコードとドキュメントを合わせて 8 ファイル、189 行の追加と 12 行の削除です。
ただし、macOS は 1 つの NSStatusItem を画面ごとに複製して描画し、AppKit は複製ごとの status item や有効なディスプレイの情報を 알려주지 않습니다。標準のメニューバー項目を破棄しない限り画面ごとに違う挙動になる可能性があり、そのため可視のアニメーションはすべての有効なディスプレイで同一です。測定値も慎重に読む必要があります。2026-11-06、M5 Pro、AC 電源、内蔵パネルと LG 4K 2 台という条件で、top の 2 秒サンプルを 5 回取り直したところ(巡回モード ON)、変更前は CPU 2.04%・毎秒 context switch 167 回、変更後は CPU 1.58%・186 回でした。この macOS の top にはプロセスごとの wakeup 数がないため context switch を代替指標として使い、README は可視アニメーションの速度向上を主張していません。この変更は CHANGELOG の次のバージョン項目にのみ残っており、その下に確定したリリースは 0.12.0 — 2026-11-02 です。