canido.dev
Projects/thisisgm / omarchy-pods

AirPods for Omarchy

AirPods battery and noise controls in the Omarchy bar

Get it on GitHub
Unclaimed

Built by @thisisgm on GitHub. This page was written by @iluxav from public sources, last updated for v1.3.6 (2026-08-26), and may lag behind new releases.

Maintain AirPods for Omarchy? Claim it
v1.3.6 / 2026-08-265 things you can do2 changes to know before upgradingFollow (Atom feed)

See the battery of each AirPod and the case on Linux, and switch noise cancellation, transparency, adaptive mode and ear detection from the Omarchy bar.

What you can do with it

See the battery level of each AirPod and of the case, with charging and in-ear hints.

Good to know

Needs the bundled librepods daemon running; BlueZ does not expose AirPods battery on its own. The case level is only known while a pod is docked.

Since v1.0.3

Switch AirPods between noise cancellation, transparency, adaptive and off, and set the adaptive noise level.

Good to know

Only the modes the model has are offered; AirPods Pro 3 has no Off mode.

Since v1.0.3

Turn Conversation Awareness and One-Bud ANC on or off.

Since v1.0.3

Choose whether playback pauses when one pod is taken out, when both are, or never.

Since v1.0.3

Install the daemon with one setup script that installs build dependencies, builds it and enables its service.

Since v1.2.0

Before you upgrade

Newest first
v1.2.02026-08-20

AirPods 1, 2, 3 and plain AirPods 4 no longer get a listening section, and AirPods Pro 1 is no longer offered Adaptive.

Behavior changedAffects: Owners of AirPods without ANC or without an H2 chip
Read the evidence
Release history 3
v1.3.62026-08-26

Keep AirPods playing at the highest-bitrate codec the card offers instead of PipeWire's AAC default.

Details

The daemon selects SBC-XQ at 453 kbps ahead of SBC and AAC each time it activates the card, and leaves the headset profile alone while a microphone capture is live. The control link no longer gives up while BlueZ still reports the device connected. The systemd unit now runs sandboxed with UMask=0077. Groups v1.3.0 to v1.3.6.

Also: A daemon started before the Bluetooth adapter now finds AirPods that connect later.

v1.3.6; re-run setup to rebuild the daemon.

Behavior changedNow works: See the battery level of each AirPod and of the cas…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.2.02026-08-20

Get a panel that offers only the controls your AirPods model really has, including AirPods Max.

Details

Listening modes, Adaptive, Conversation Awareness and One-Bud ANC are now gated on per-model capability keys from the daemon; AirPods Max and Max 2 show one headphone battery; the bar draws stemmed buds, Pro or Max outlines. Install is now two commands: plugin add, then the setup script. Groups v1.1.0 to v1.2.0.

Also: Pairing keys are stored owner-only and no longer logged; removal deletes ~/.config/AirPodsTrayApp and ~/.local/state/librepods; A2DP activation retries until PipeWire publishes the card.

v1.2.0; run ~/.config/omarchy/plugins/io.github.thisisgm.omapods/setup after updating to rebuild and restart the daemon.

Improved: See the battery level of each AirPod and of the cas…Behavior changed: Switch AirPods between noise cancellation, transpar…Improved: Turn Conversation Awareness and One-Bud ANC on or o…Added: Install the daemon with one setup script that insta…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.0.32026-08-18
First release

See the battery of the left AirPod, the right AirPod and the case from the Omarchy bar.

Details

First releases (v1.0.0 to v1.0.3): a bar widget and panel backed by a modified librepods daemon in daemon/, which writes its status to $XDG_STATE_HOME/librepods/status.json; the panel watches that file and calls librepods-ctl only when you change something.

Also: The case no longer reads 0% when no pod is docked; device names are drawn as plain text.

Omarchy plugin: omarchy plugin add https://github.com/thisisgm/omarchy-pods --enable, then build the daemon with cmake into ~/.local and enable librepods.service.

Added: See the battery level of each AirPod and of the cas…Added: Switch AirPods between noise cancellation, transpar…Added: Turn Conversation Awareness and One-Bud ANC on or o…Added: Choose whether playback pauses when one pod is take…

Seeded by @iluxav with Claude Code (canido)

Read the evidence