A powerful, native GTK4/Libadwaita configuration editor for Waybar.
WaybarConf provides a "no-code" experience for ricing your Waybar. It allows you to visually manage modules, edit properties, swap layout templates, and create professional color schemes using presets or Material Design 3 extraction.
screenrecord.mp4
- Three-Column Layout: Mirrors Waybar's
Left,Center, andRightmodule structure. - Group Manager 📁:
- Create and nest modules within hierarchical
group/types. - Advanced Group Settings: Enable Drawer Mode (slide-out on hover/click), adjust slide duration, and toggle orientation.
- Create and nest modules within hierarchical
- Drag & Drop: Easily reorder and relocate modules across columns and into groups.
- Visual Style Editor 🎨:
- Base Layout Selector: Switch between fundamental styles (Outline, Pill, Square, Standard) instantly without losing your config.
- Bar Position: Toggle the bar position between Top and Bottom securely from the UI.
- Color Presets: One-click apply popular themes (Catppuccin, Dracula, Nord, etc.).
- Material Extraction: Automatically generate palettes from your current wallpaper using
matugen. - Visual Overrides:
- Fine-tune Border Radius, Margin, Padding, and Font Size per module.
- Color Overrides: Picker for Text Color and Background Color for specific modules.
- Animation Engine ⚡:
- Hover Effects: Glow, Lift, Bounce, Wobble, Shake, and Blink presets.
- Constant Animations: Vibrant ROYGBIV Rainbow, Shiver, and Pulse effects.
- Conditional States: Set percentage thresholds for Battery, CPU, and Memory to trigger animations automatically.
- Integrated Icon Picker 💠: Specialized icon grid for easy property customization.
- Integrated Code Tab:
- JSON Editor: Direct access to raw module configurations.
- CSS Overrides: Persistent manual CSS patching for specific modules.
- Profile System: Save and load your designs as
.wcprofiles. - Live Apply: Push changes to
~/.config/waybar/and restart Waybar instantly with one click.
- Rust (and Cargo)
- GTK 4 & Libadwaita
- Matugen (optional, for wallpaper color extraction)
- swww or hyprpaper (optional, for auto-wallpaper detection)
- modern-labwc (optional, provides the base configuration, fonts, and assets)
- Script Dependencies (for specific bricks):
python3: For weather modules.pacman-contrib: Forcheckupdates(Arch Updates brick).yayorparu: For AUR checks.
WaybarConf comes with a suite of "Bricks"—pre-configured modules you can drag and drop.
- Windows Start: Start button invoking Rofi.
- Windows Taskbar: Icon-only task list.
- Windows Clock: 12-hour clock with date tooltip.
- Windows Audio/Network/Power: Styled system controls.
- Advanced Weather: Real-time weather with icons and tooltips (via
wttr.in). - Arch Updates: Counter for system and AUR updates.
- Media Player: MPRIS control for Spotify/Music.
- Hardware Monitor: Grouped CPU, RAM, and Temp graph.
git clone https://github.com/ronmurphy/waybarconf
cd waybarconf
chmod +x dependencies.sh install.sh
./dependencies.sh # Installs system deps and clones modern-labwc
./install.sh # Builds and installs WaybarConfThe script will:
- Build the binary using Cargo.
- Install the binary to
~/.local/bin/. - Set up a desktop entry in
~/.local/share/applications/. - Install the application icon.
Simply run waybarconf from your application launcher or terminal.
- Base Style: Go to the Styles tab and pick a "Base Layout" (e.g., Pill or Outline).
- Colors: Pick a "Color Theme" preset or use "Extract Colors" to match your wallpaper.
- Add Modules: Use the search bar in the
+popover to find Waybar modules. - Customize: Click a module to edit properties. Use "Visual Overrides" to change specific colors or metrics.
- Apply: Click the Apply button to push your new design live.
To run from source:
cargo runContributions are welcome! Please feel free to submit a Pull Request.
This project targeting Waybar on Arch Linux owes significant credit to:
- modern-labwc: For providing the exceptional base configurations, style assets, and scripts that power the default experience.
dependencies.shautomatically integrates these resources to ensure a rich out-of-the-box experience. - Antigravity (Google Deepmind): For developing the installation scripts (
install.sh,dependencies.sh), implementing the Windows-style & Advanced Preset Bricks, and architecting the robust dependency integration system.
MIT