omarchy-lock-wifi-ap
An Omarchy shell plugin that adds a Wi-Fi AP lock toggle to the status bar: one click pins your Wi-Fi connection to the access point you are currently on, and one click releases it again.
Why
On networks with more than one access point (mesh systems, multi-AP setups), NetworkManager enables wpa_supplicant's background scanning to keep a roaming candidate list fresh. Every few minutes the radio leaves its channel and sweeps the full spectrum — which takes several seconds and momentarily stalls all traffic.
For browsing you will never notice. For anything that needs a continuously stable connection it shows up as periodic multi-second freezes and audio drop-outs:
- Game streaming and remote desktop tools (Moonlight/Sunshine, Steam Link, Parsec, RDP, VNC)
- Video calls
- Cloud gaming
- Real-time audio
Locking the connection profile to its current BSSID makes NetworkManager skip background scanning entirely — the periodic stalls disappear. The trade-off: while locked, your machine will not roam to another access point. Unlock when you move around; lock when you sit down to stream.
Install
omarchy plugin add https://github.com/GeertJohan/omarchy-lock-wifi-ap.git --enable
By default the widget lands in the bar's center section. To place it next to the indicators cluster (night light, do-not-disturb, …):
omarchy bar move geertjohan.lock-wifi-ap --before omarchy.indicators
Use
The widget behaves like the built-in indicators:
| State | Appearance |
|---|---|
| Unlocked | Hidden — hover the bar's center section to reveal it dimmed |
| Locked | Wi-Fi-with-lock icon, always visible |
| Applying | Wi-Fi-refresh icon, slowly pulsing — clicks are ignored until done |
Clicking toggles the lock. Toggling briefly reconnects Wi-Fi (a few seconds), because the change only takes effect on reassociation — so flip it between sessions, not mid-stream. The lock is stored in the NetworkManager connection profile and survives reboots; there is no need to toggle it again until you want to roam.
If the locked access point ever becomes unavailable mid-toggle, the helper reverts the profile and reconnects rather than leaving you offline.
CLI
The bundled helper can also be used directly:
./omarchy-network-lock-ap # show current + locked BSSID
./omarchy-network-lock-ap lock # pin to the current AP and reconnect
./omarchy-network-lock-ap unlock # release the pin and reconnect
Symlink it into your PATH if you want it as a command:
ln -s ~/.config/omarchy/plugins/geertjohan.lock-wifi-ap/omarchy-network-lock-ap ~/.local/bin/
Remove
Unlock first if you are locked — the pin lives in the NetworkManager profile, not in the plugin, so removing the plugin alone would leave it in force:
./omarchy-network-lock-ap unlock
omarchy plugin remove geertjohan.lock-wifi-ap
If you created the PATH symlink, remove it too:
rm ~/.local/bin/omarchy-network-lock-ap
(Should you ever need to clear a leftover pin without the helper:
nmcli connection modify <connection-name> 802-11-wireless.bssid "",
then nmcli connection up <connection-name>.)
Requirements
- Omarchy (the plugin targets the Omarchy shell's bar plugin API)
- NetworkManager with wpa_supplicant (the Omarchy default)