{
// Layer and position
"layer": "top",
"position": "top",
// Explicitly point to the CSS file
"css": "~/.config/waybar/style.css",
// Height
"height": 32,
// Modules configuration
"modules-left": ["hyprland/workspaces", "custom/switcher"],
"modules-center": ["custom/active-apps"],
"modules-right": ["network", "clock"],
// Styling
"spacing": 4,
"margin-top": 0,
"margin-bottom": 0,
"margin-left": 0,
"margin-right": 0,
"padding": 6,
// Text color only (background handled by CSS)
"color": "#ffffff",
// Workspaces module for Hyprland
"hyprland/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"format": "{icon}",
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"5": "",
"6": "",
"7": "",
"8": "",
"9": "",
"10": "",
"urgent": "",
"active": "",
"default": ""
},
"active_only": false,
"persistent_workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": [],
"6": [],
"7": [],
"8": [],
"9": [],
"10": []
}
},
// Custom switcher module (application launcher/runner)
"custom/switcher": {
"format": " ",
"tooltip": false,
"on-click": "rofi -show drun",
"on-click-right": "rofi -show run",
"on-click-middle": "rofi -show window"
},
// Active applications module (centered)
"custom/active-apps": {
"format": " {}",
"exec": "hyprctl activewindow -j | jq -r '.title' | cut -c1-60",
"exec-if": "which hyprctl",
"interval": 1,
"tooltip": true,
"tooltip-format": "Window: {}\nClass: {}",
"max-length": 70,
"on-click": "hyprctl dispatch killactive",
"on-click-right": "hyprctl dispatch fullscreen"
},
// Network module
"network": {
"format-wifi": " {essid}",
"format-ethernet": " {ifname}",
"format-disconnected": " Disconnected",
"tooltip-format": "{ifname}\nIP: {ipaddr}\nSignal: {signalStrength}%",
"interval": 5,
"on-click": "kitty -e nmtui",
"on-click-right": "nm-connection-editor"
},
// Clock (12h format with AM/PM)
"clock": {
"format": "{:%I:%M %p}",
"format-alt": "{:%A, %B %d, %Y}",
"tooltip-format": "{:%A, %B %d, %Y}\n{calendar}",
"interval": 60,
"timezone": "America/Toronto"
}
}