Waybar Integration
emeet-pixyd provides JSON output formatted for Waybar custom modules.
Basic Setup
Section titled “Basic Setup”Add a custom module to your Waybar config:
{ "custom/emeet-pixy": { "exec": "emeet-pixy waybar", "format": "{}", "interval": 5, "tooltip": true, "on-click": "emeet-pixy toggle-privacy", "on-click-right": "emeet-pixy toggle-auto" }}JSON Output
Section titled “JSON Output”The waybar command outputs a JSON object:
{ "text": "\uf030 CAM", "tooltip": "EMEET PIXY: tracking\nAudio: nc\nAuto: full", "class": "custom-camera tracking"}The text field combines a Font Awesome icon with a short label. The class field is always prefixed with custom-camera and includes the camera state. When a call is detected, in-call is appended to the class; when the device answers the battery queries, charging or discharging is appended instead.
Text and Icons by State
Section titled “Text and Icons by State”| Camera State | Icon | Text | CSS Class |
|---|---|---|---|
| Tracking | \uf030 |
CAM |
tracking |
| Idle | \uf03d |
IDLE |
idle |
| Privacy | \uf011 |
OFF |
privacy |
| Offline | \uf00d |
--- |
offline |
CSS Styling
Section titled “CSS Styling”#custom-emeet-pixy.custom-camera.tracking { color: #10b981;}
#custom-emeet-pixy.custom-camera.idle { color: #fbbf24;}
#custom-emeet-pixy.custom-camera.privacy { color: #f87171;}
#custom-emeet-pixy.custom-camera.offline { color: #78716c;}
#custom-emeet-pixy.custom-camera.in-call { text-decoration: underline;}
#custom-emeet-pixy.custom-camera.charging { color: #34d399;}
#custom-emeet-pixy.custom-camera.discharging { opacity: 0.9;}Tooltip
Section titled “Tooltip”The tooltip shows a multi-line summary:
EMEET PIXY: trackingAudio: ncAuto: fullWhen a call is detected, a fourth line is appended:
In call: yesWhen the device answers the official battery queries, a Battery: 87% (charging)
line is appended and the JSON object carries an additive battery field
(omitted otherwise — absence is an expected outcome, not an error).
Click Actions
Section titled “Click Actions”Common click mappings:
| Action | Command |
|---|---|
| Left click | emeet-pixy toggle-privacy |
| Right click | emeet-pixy toggle-auto |
| Middle click | emeet-pixy center |
| Scroll up | emeet-pixy zoom rel+10 |
| Scroll down | emeet-pixy zoom rel-10 |
Performance
Section titled “Performance”The waybarJSON struct is optimized for low allocation count — 7 allocations and ~334ns per call.
Where to go next
Section titled “Where to go next”- CLI Reference — commands to bind to clicks
- Quickshell Integration — the same status as an HTTP JSON endpoint
- Prometheus Metrics — heavier-weight monitoring alternative
- Auto Modes — what
toggle-autodoes - Configuration — daemon tuning
- Related Tools — Waybar in the broader ecosystem