Targets¶
EasyBar is split into a few focused targets.
Target list¶
EasyBarSharedShared models, config loading, socket paths, IPC types, logging utilities, environment keys, and common runtime helpers.EasyBarAppThe main macOS status bar application.EasyBarCtlTheeasybarcommand-line client.EasyBarCalendarAgentHelper app entrypoint for the calendar agent.EasyBarCalendarCoreShared reusable calendar-agent logic used byEasyBarCalendarAgentand intended for future standalone calendar clients.EasyBarCalendarPresentationShared reusable calendar request and presentation helpers used byEasyBarand intended for future standalone calendar clients.EasyBarCalendarUIShared reusable calendar SwiftUI components and composer state used byEasyBarand intended for future standalone calendar clients.EasyBarNetworkAgentHelper app that owns Wi-Fi and network observation.EasyBarNetworkAgentCoreShared reusable network-agent logic used byEasyBarNetworkAgentand also by the standalonewifi-snitchproject.
Directory and target intent¶
A useful way to think about the targets is:
Sources/EasyBarSharedprocess-boundary types and shared utilitiesSources/EasyBarAppapp lifecycle, UI, event coordination, native widgets, Lua supervisionSources/EasyBarCtlcommand-line control clientSources/EasyBarCalendarAgentcalendar-agent executable entrypoint and app lifecycleSources/EasyBarCalendarCorereusable calendar-agent internalsSources/EasyBarCalendarPresentationreusable calendar request or presentation logicSources/EasyBarCalendarUIreusable calendar SwiftUI or calendar-only view stateSources/EasyBarNetworkAgentnetwork-agent executable entrypoint and app lifecycleSources/EasyBarNetworkAgentCorereusable network-agent internals
That structure reflects runtime responsibilities, not only package-manager convenience.