hyprland-desktop-t14s/WAYBAR.md

2.1 KiB

Waybar — Troubleshooting & Fix Log

Final Working State

  • Layer: top (level 2, above windows)
  • Position: top, margin-top: 10px
  • Width: fits exactly 1280px (screen logical width at 1.5x scale)
  • Config: ~/.config/waybar/config.jsonc
  • CSS: ~/.config/waybar/style.css

Issues Found and Fixed (2026-06-08)

1. Bar invisible — wrong layer (bottom instead of top)

Root cause: Two problems stacked:

  • "format": {} (JSON object instead of string) in custom/cava module caused config parse to silently fall back to defaults, placing bar at layer 1 (bottom).
  • "mode": "dock" overrides the "layer" setting in Waybar 0.15.0 + Hyprland 0.55.2, keeping the bar at the bottom layer regardless.

Fix:

// Wrong:
"format": {},
"mode": "dock",

// Fixed:
"format": "{}",
// mode: "dock" removed entirely

2. Bar overflowing screen width (1460px on a 1280px logical screen)

Root cause: Variable-length module content (network bandwidth string changes length) caused the GTK layout to expand the bar beyond the 1280px logical screen width. Setting "width": 1280 in Waybar config does NOT cap the width — it only sets a minimum.

Fix: Reduced CSS padding on all modules and workspace buttons to make total content fit:

Selector Old padding New padding
modules (network, memory, etc.) 0px 10px 0px 7px
workspace buttons 2px 8px 2px 5px
media group modules 0px 10px 0px 7px

Also:

  • #workspaces margin: 10px 10px10px 5px
  • #media margin: 10px 10px10px 5px
  • mpris max-length: 20 → 14
  • network min-length/max-length: 22 (to prevent bandwidth string from varying bar width)
  • cava max-length: 12

Layout

[hardware group]              [workspaces] [⏻] [workspaces]          [media group] [clock]
 ↑ up/down bw, mem, bat, cpu, temp         ↑ left workspaces (1,3,5,7)  ↑ spotify, cava, mpris, vol

Waybar Version Compatibility Note

Waybar 0.15.0 + Hyprland 0.55.2: "mode": "dock" prevents "layer": "top" from working. Do not use "mode": "dock" if you need the bar above windows.