Nothing X (DMS)
July 12, 2026 ยท View on GitHub
A DankMaterialShell plugin to control and monitor CMF by Nothing and Nothing audio devices directly from your desktop widget.
Features
- Battery Monitoring: View real-time battery levels for the Left Bud, Right Bud, and Charging Case.
- ANC Control: Switch between Noise Cancellation, Transparency, and Off modes.
- Equalizer Presets: Select between various EQ presets (Dirac, Pop, Rock, Electronic) or configure your own Custom EQ payload.
- Toggles: Easily toggle Spatial Audio, Low Latency (Gaming Mode), and In-Ear Detection.
- Ultra Bass: Dynamically control your Ultra Bass level.
- Find My Earbuds: Remotely play a sound on your left or right earbud to locate them.
- Dual Connection: View and manage your dual-device connectivity settings.
Note: Features supported will depend on your specific earbud model.
Supported Devices
The plugin uses the standard Nothing/CMF Bluetooth RFCOMM protocol, it currently support:
- CMF Buds Pro 2
- CMF Buds / Buds Pro
- CMF Neckband Pro
- Nothing Ear (1), Ear (2), Ear (a)
- Nothing Ear (Stick), Ear (Open)
Architecture
The plugin uses a simple two-layer architecture:
- Backend (
cmf_core): A lightweight Python daemon that communicates with the earbuds over Bluetooth RFCOMM to instantly push state changes (like ANC or battery updates) as JSON. - Frontend (
qml): A native QML interface built with Quickshell, fully styled and integrated into the Dank Material Shell ecosystem.
Installation
- Navigate to your DankMaterialShell plugins directory:
cd ~/.config/DankMaterialShell/plugins/ - Clone this repository:
git clone https://github.com/Bestello/dms-nothingx.git cmfController - Ensure you have
python3installed on your system with standard bluetooth libraries available.
Configuration
Before the widget can communicate with your earbuds, you must configure your device's MAC Address:
- Connect your earbuds to your computer via Bluetooth.
- Open the DankMaterialShell Settings.
- Navigate to the Plugins tab and select the CMF Buds Pro plugin.
- Enter the Bluetooth MAC Address of your earbuds (e.g.,
AA:BB:CC:DD:EE:FF). You can find this in your system's Bluetooth settings.
Troubleshooting
If the widget fails to connect or update settings:
- Ensure your earbuds are currently connected to your computer via Bluetooth.
- Double-check that the MAC Address in the plugin settings is exactly correct.
- Check the logs located at
/tmp/cmf_widget.logand/tmp/cmf_bash.logfor any python or bluetooth connectivity errors.
Credits
All credits goes to the creators of these repos, i just merely copy pasted them.
License
This project is open-source and free to use. Feel free to contribute or fork!