API Summary¶
This page is a compact map of the EasyBar Lua API for day-to-day widget work.
Use the full reference when you need exact property tables or event payload types.
Most-used functions¶
easybar.add(kind, id, props?)Create one node and get its handle back.easybar.set(id, props)Update an existing node by id.easybar.get(id)Read the current property table for an existing node.easybar.remove(id)Remove one node and its descendants.easybar.subscribe(id, events, handler)Subscribe one node by id to runtime or interaction events.easybar.default(props)Set widget-local default properties for futureadd(...)calls.easybar.exec(...)andeasybar.exec_async(...)Run shell commands from a widget.easybar.log(level, ...)Write widget-scoped log output.
See Functions.
Handle methods¶
Most widget code uses the handle API after creation:
node:set(props)node:get()node:remove()node:subscribe(events, handler)
That style keeps the code local and usually reads better than updating nodes by string id everywhere.
Most-used node kinds¶
easybar.kind.itemBasic display node for text, icons, and small interactions.easybar.kind.groupShared container for multiple child nodes.easybar.kind.rowHorizontal layout wrapper.easybar.kind.columnVertical layout wrapper.easybar.kind.sliderInteractive scalar control.
See Node Kinds.
Most-used event tokens¶
easybar.events.forcedManual refresh trigger.easybar.events.app_switchFrontmost app changed.easybar.events.space_changeActive macOS space changed.easybar.events.volume_changeOutput volume changed.easybar.events.mouse.clickedNode clicked.easybar.events.mouse.enteredPointer entered node frame.easybar.events.mouse.exitedPointer left node frame.
See Events.
Most-used property areas¶
- placement:
position,order,parent - visibility and timing:
drawing,interval,on_interval - content:
icon,label,image - layout and surface:
spacing,background,margin,popup - value-driven widgets:
value,min,max,step,values
See Properties.