🌐 English | Español | 简体中文 | Français | Deutsch | Português
Mantle is a cross-platform desktop application for discovering and controlling LIFX smart lights over your local network. Built with Rust and egui, it offers real-time light management alongside unique ambient features like screen-color sync, audio-reactive lighting, saved scenes with scheduling, global keyboard shortcuts, and a system tray for quick access. Born from the ashes of lifx_control_panel.
You can download the latest release here.
Builds are available for Windows (x86_64), Linux (x86_64), and macOS (Apple Silicon / aarch64).
- Automatically discover LIFX bulbs on the local network
- Toggle power, adjust hue/saturation/brightness/kelvin with real-time sliders
- Set transition duration for smooth color changes
- Multizone support for light strips with per-zone and gradient controls
- Organize lights into groups
- Control all lights at once or filter/search by name
- Pick any color from your screen with the eyedropper tool
- Average a screen region, window, or full monitor to drive ambient lighting in real time
- Drive light colors from microphone input using FFT analysis
- Optional waveform debug window for visualizing the audio spectrum
- Save and load named scenes (color presets across multiple lights)
- Schedule scenes to activate automatically at specific times of day
- Bind global hotkeys to lighting actions for hands-free control
- Minimize to system tray
- Quick-toggle power and quit from the tray menu
- Available in 6 languages: English, Spanish, Simplified Chinese, French, German, and Portuguese (Brazil)
| Crate | Purpose |
|---|---|
| eframe / egui | GUI framework |
| lifx-core | LIFX LAN protocol |
| cpal + rustfft | Audio capture and FFT |
| xcap | Screen capture |
| rdev | Global keyboard/mouse input |
| tray-icon | System tray |
| rust-i18n | Localization |
- Rust toolchain (stable)
- The
data/folder containingproducts.json(included in the repo; embedded at compile time)
Linux only -- install the following system libraries:
sudo apt install libasound2-dev libudev-dev libxtst-dev libevdev-dev libgtk-3-dev libxdo-devcargo build --releasecargo run --releaseLogs are written to log/output.log.
puffin-- Enables the Puffin profiler for performance analysis
cargo run --release --features puffinThe repository includes a pre-commit hook that runs cargo fmt --check, cargo clippy, and cargo test. To enable it:
git config core.hooksPath .githooksJoin the Discord server here to provide feedback, report bugs, or request features.
| Language | Is Complete | Is Machine |
|---|---|---|
| English | Yes | No |
| Spanish | Yes | Yes |
| Chinese (Simplified) | Yes | Yes |
| French | Yes | Yes |
| German | Yes | Yes |
| Portuguese (Brazil) | Yes | Yes |

