-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Modules fail to render in array (multi-bar) config on v0.15.0 with Hyprland #4954
Description
Description
When using the array config format to define separate bars per monitor, most modules fail to render on all bars. The GTK widget tree shows all modules are correctly loaded, and no errors appear in debug logs, but the modules are visually invisible on screen. Only a few items (omarchy icon, workspaces, clock) are partially visible.
The same modules work perfectly with a single-object config (no "output" field).
Environment
- Waybar version: v0.15.0
- Compositor: Hyprland
- OS: Arch Linux (Omarchy)
- Monitors:
HDMI-A-1: Samsung Odyssey G40B, 1920x1080@240Hz (landscape)DP-1: HDY 27B1800, 1920x1080@180Hz (portrait, transform: 3)
Steps to Reproduce
- Use two monitors with Hyprland
- Change waybar config from single-object format to array format with
"output"per bar:
Working config (single object, shows on all monitors identically):
Broken config (array format, modules fail to render):
[
{
"output": "HDMI-A-1",
"modules-left": ["custom/omarchy", "hyprland/workspaces"],
"modules-center": ["clock", "custom/update"],
"modules-right": ["bluetooth", "network", "pulseaudio", "cpu", "battery"],
// ... full module definitions ...
},
{
"output": "DP-1",
"modules-left": ["custom/omarchy", "hyprland/workspaces"],
"modules-center": ["clock", "custom/update"],
"modules-right": [],
// ... module definitions for used modules ...
}
]- Restart waybar
- Observe that most modules on the HDMI-A-1 bar are invisible despite being present in the widget tree
Expected Behavior
All modules defined in modules-right for the HDMI-A-1 bar should render visually, exactly as they do with the single-object config.
Actual Behavior
Only ~2 icons are visible on the right side of the HDMI-A-1 bar. The rest of the modules exist in the GTK widget tree (confirmed via waybar -l debug) but are not rendered on screen.
Debug Log
Running waybar -l debug shows both bars are configured correctly with no errors:
[info] Bar configured (width: 1080, height: 26) for output: DP-1
[info] Bar configured (width: 1920, height: 26) for output: HDMI-A-1
The GTK widget tree for HDMI-A-1 shows all modules present:
window#waybar.background.top..mode-default.HDMI-A-1:dir(ltr)
box.horizontal.modules-right:dir(ltr)
widget: box#tray-expander.horizontal
widget: label#bluetooth.module
widget: label#network.module
widget: label#pulseaudio.module
widget: label#cpu.module
widget: label#battery.module
No rendering errors in log. All module scripts exit with code 0 or 1 (expected).
Additional Notes
- Also tested without the
batterymodule (since this is a desktop with no battery and the log shows[warning] No batteries.) — same result. - The CSS uses standard module selectors (
#cpu,#bluetooth, etc.) with no bar-specific selectors that could conflict with the array format's additional CSS classes. - Reverting to the single-object config immediately restores all modules.
- Possibly related to Waybar 0.15.0 renders invisible on Hyprland (layer exists but nothing visible) #4864 (invisible bar rendering in v0.15.0).
{ "modules-left": ["custom/omarchy", "hyprland/workspaces"], "modules-center": ["clock", "custom/update"], "modules-right": ["bluetooth", "network", "pulseaudio", "cpu", "battery"], // ... module definitions ... }