dotfiles/waybar/.config/waybar/config-hyprland
2025-12-28 19:44:16 +01:00

195 lines
4.8 KiB
Text

// =============================================================================
//
// Waybar configuration
//
// Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
//
// =============================================================================
{
// -------------------------------------------------------------------------
// Global configuration
// -------------------------------------------------------------------------
"layer": "bottom",
"position": "bottom",
// If height property would be not present, it'd be calculated dynamically
"height": 30,
"modules-left": [
"hyprland/workspaces",
"sway/mode"
],
"modules-center": [
"sway/window"
],
"modules-right": [
"custom/vpn",
"memory",
"cpu",
"custom/gpu",
"temperature",
"clock#date",
"clock#time",
"tray"
],
// -------------------------------------------------------------------------
// Modules
// -------------------------------------------------------------------------
"clock#time": {
"interval": 1,
"format": "{:%H:%M:%S}",
"tooltip": false
},
"clock#date": {
"interval": 10,
"format": " {:%e %b %Y}", // Icon: calendar-alt
"tooltip-format": "{:%e %B %Y}"
},
"cpu": {
"interval": 5,
"format": " {usage}% ({load})", // Icon: microchip
"states": {
"warning": 70,
"critical": 90
}
},
"custom/keyboard-layout": {
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
// Interval set only as a fallback, as the value is updated by signal
"interval": 30,
"format": " {}", // Icon: keyboard
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
"signal": 1, // SIGHUP
"tooltip": false
},
"memory": {
"interval": 5,
"format": " {}%", // Icon: memory
"states": {
"warning": 70,
"critical": 90
}
},
"network": {
"interface": "tun0",
"interval": 5,
"format": "🔒 VPN up",
"format-disconnected": "🔓 VPN down",
"tooltip-format": "{ifname} {ipaddr}"
},
// "network": {
// "interval": 5,
// "format-wifi": " {essid} ({signalStrength}%)", // Icon: wifi
// "format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
// "format-disconnected": "⚠ Disconnected",
// "tooltip-format": "{ifname}: {ipaddr}"
// },
"sway/mode": {
"format": "<span style=\"italic\"> {}</span>", // Icon: expand-arrows-alt
"tooltip": false
},
"sway/window": {
"format": "{}",
"max-length": 120
},
"sway/workspaces": {
"persistent_workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": [],
"6": [],
"7": [],
"8": [],
"9": [],
"10": []
},
"disable-scroll": true,
"all-outputs": false,
// "format": "({name}){icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "1": "",
// "2": "",
// "3": "",
// "4": "🪲 Debug",
// "5": "📁 Files",
// "6": "🎧 Music",
// "7": "⏵ Video",
// "8": "🗨 IRC",
// "9": "Steam",
// "10":"Scratch",
// },
},
"pulseaudio": {
//"scroll-step": 1,
"format": "{icon} {volume}%",
"format-bluetooth": "{icon} {volume}%",
"format-muted": "",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol"
},
"temperature": {
"critical-threshold": 80,
"interval": 5,
"format": "{icon} {temperatureC}°C",
"format-icons": [
"", // Icon: temperature-empty
"", // Icon: temperature-quarter
"", // Icon: temperature-half
"", // Icon: temperature-three-quarters
"" // Icon: temperature-full
],
"tooltip": true
},
"tray": {
"icon-size": 21,
"spacing": 10
},
"custom/vpn": {
"exec": "~/.config/waybar/scripts/vpn-status.sh",
"interval": 5,
"return-type": "text",
"tooltip": false
},
"custom/gpu": {
"exec": "~/.config/waybar/scripts/gpu-temp.sh",
"interval": 10,
"return-type": "json",
"tooltip": false
}
}