Status: Translation Pending
Original: SHIORI_EVENTS_3.0M_SPEC_ja-jp.md
Language: English (US)
Translation Note
This document is a partial translation of the Japanese original. Sections are added here as they are implemented. For the full specification see SHIORI_EVENTS_3.0M_SPEC_ja-jp.md.
Appendix C: Automatic System-Event Enablement
Behavior summary
Automatic system events — timer (OnSecondChange/OnMinuteChange/OnHourTimeSignal), input/mouse, sleep/wake, display change, power status, locale, appearance (theme), session, network, gamepad, device, and speech — are enabled inside EventBridge at real ghost-load completion as the single centralized activation point.
Relevant source files:
- Ourin/Ghost/GhostManager.swift — startEventBridgeIfNeeded(enableAutoEvents:) and isRunningUnderTests
- Ourin/SHIORIEvents/EventBridge.swift — start(enableAutoEvents:) / broadcastNotify / flushPendingNotifies
NOTIFY queue before enablement
While autoEventsEnabled = false, events passed to broadcastNotify / broadcastNotifyCustom are appended to the internal pendingNotifies queue and not delivered immediately. When enablement occurs, the queue is flushed and events are delivered to registered ghost sessions in order.
Suppression under tests
When GhostManager.isRunningUnderTests is true (detected by the presence of the environment variables XCTestConfigurationFilePath or XCTestBundlePath), EventBridge.start(enableAutoEvents: false) is called and system observers — including the timer and input monitor — are not started.
Translation Status: ⏳ Partial (Appendix C added 2026-06-28)
Last Updated: 2026-06-28
出典と編集について
Ourin / Furin Lab・contributors。文書はCC BY-SA 4.0(第三者の個別表記を除く)。Web版は見出し・リンクの整備とローカルパスの一般化を行っています。更新基準日: 2026-10-30。
元資料: docs/SHIORI_EVENTS_3.0M_SPEC_en-us.md
ソース SHA-256: 33e013159621d247ee7b57931eabd7fb571d947be3415b1e4b23a624c95cc1da