Skip to content

Internals

This section is for contributors and maintainers.

If you are installing or configuring EasyBar, use Quick Start, Configuration, and Lua Widgets first. You should not need internals pages for a normal user setup.

What belongs here

Internals pages explain implementation details and project boundaries:

  • target layout and source ownership
  • process model and helper agents
  • control socket and agent protocols
  • runtime event flow
  • Lua runtime lifecycle, loading, registry, rendering, and debugging
  • generated artifacts and contributor workflows

Contributor path

Use this reading order when changing EasyBar itself:

  1. Development
  2. Architecture Overview
  3. Targets
  4. Process Model
  5. Architectural Boundaries
  6. Agent Protocol
  7. Lua Runtime Overview
  8. Contributor Notes

User docs vs internals

Keep user-facing docs focused on outcomes:

  • install EasyBar
  • configure built-ins
  • choose a theme
  • write a Lua widget
  • troubleshoot runtime issues

Keep implementation-focused content here:

  • Swift target responsibilities
  • agent ownership and socket protocol details
  • EventKit, CoreWLAN, and process boundaries
  • Lua runtime transport and registry internals
  • generated files and maintainer commands

This split keeps the first-run documentation short while still preserving the deeper architecture notes for contributors.

Architecture

Agents

Lua runtime