Skip to content

Contributor Notes

Use this page when changing the Lua runtime or public Lua API.

Where to change what

Widget API

  • api.lua
  • easybar_api.base.lua
  • easybar_api.events.lua
  • easybar_api.lua
  • docs/lua/*

easybar_api.base.lua is the hand-edited source stub. easybar_api.events.lua is generated from the event catalog. easybar_api.lua is the combined generated artifact that EasyBar installs for LuaLS/editor support.

Driver events

  • event_tokens.lua
  • easybar_api.events.lua
  • easybar_api.lua
  • Swift event sources

Event payloads

  • EventHub.swift
  • EventTypes.swift
  • events.lua

Rendering

  • render.lua
  • WidgetNodeState.swift

Process and runtime

  • RuntimeCoordinator.swift
  • WidgetEngine.swift
  • LuaProcessController.swift
  • LuaTransport.swift

Notes

  • widget directory is executable Lua
  • every *.lua file is loaded
  • reload is a full reset
  • protocol:
  • Lua socket JSON in/out via EasyBarLuaRuntime
  • stderr logs

If you change the Lua API

When changing the Lua API:

  1. update runtime code
  2. update stubs
  3. update docs
  4. update examples