Files
dotfiles/hyprland/.config/waybar/config
T
2026-06-14 23:51:23 -05:00

194 lines
4.6 KiB
Plaintext

[{
"id": "top",
"name": "top",
"layer": "top",
"height": 40,
"margin-top": 16,
"margin-left": 16,
"margin-right": 16,
"modules-left": ["hyprland/workspaces", "hyprland/window", "hyprland/submap", "sway/mode"],
"modules-right": ["tray"],
"hyprland/workspaces": {
"all-outputs": false,
"disable-scroll": true,
"show-special": true,
"special-visible-only": false,
"format": "{icon}",
"format-icons": {
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"10": "10",
"11": "11",
"mail": "",
"comms": "",
"media": "",
"secrets": "S",
"scratch": "N",
"empty": "",
"default": ""
},
"persistent-workspaces": {
"eDP-1": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ],
"DP-1": [ 1, 2, 3, 4, 5, 6, 7 ],
"DP-2": [ 8, 9, 10, 11 ]
}
},
"hyprland/window": {
"separate-outputs": true,
"format": "{}"
},
"hyprland/submap": {
"on-click": "hyprctl dispatch submap reset"
},
"tray": {
"icon-size": 16,
"spacing": 10
}
},
{
"id": "bottom",
"name": "bottom",
"layer": "top",
"position": "bottom",
"height": 40,
"margin-bottom": 16,
"margin-left": 16,
"margin-right": 16,
"modules-left": ["gamemode", "battery", "temperature", "cpu", "memory", "network", "custom/codex-primary", "custom/codex-secondary"],
"modules-center": [],
"modules-right": ["mpris", "pulseaudio", "custom/output-device", "backlight", "idle_inhibitor", "clock"],
"clock": {
"format": "{:%a %b %d %I:%M %p}",
"tooltip": false
},
"network": {
"interval": 5,
"format": " {bandwidthUpBytes}  {bandwidthDownBytes}",
"format-disconnected": ""
},
"battery": {
"states": {
"good": 100,
"warning": 30,
"critical": 15
},
"interval": 3,
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": "{icon} {capacity}%",
"format-icons": ["", "", "", "", ""]
},
"backlight": {
"format": " {percent}%"
},
"idle_inhibitor": {
"format": ""
},
"gamemode": {
"format": "{glyph}",
"glyph": "",
"use-icon": false,
"icon-spacing": 0,
"icon-size": 0
},
"pulseaudio": {
"scroll-step": 5,
"format": "{icon} {volume}%",
"format-muted": "{icon}",
"format-icons": {
"default": ["", "", ""]
},
"scroll-step": 1,
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
},
"cpu": {
"interval": 3,
"format": " {usage}%",
"states": {
"critical": 90,
"warning": 80,
"regular": 50
}
},
"memory": {
"interval": 5,
"format": " {percentage}% <span font-size=\"7pt\">{swapPercentage}%</span>",
"states": {
"critical": 90,
"warning": 80,
"regular": 50
}
},
"temperature": {
"format": " {temperatureC}°",
"critical-threshold": 80
},
"mpris": {
"interval": 1,
"artist-len": 30,
"album-len": 30,
"title-len": 40,
"format": "{player_icon} - {dynamic}",
"ignored-players": [
"firefox"
],
"player-icons": {
"default": "♫"
},
"status-icons": {
"playing": "⏵",
"paused": "⏸",
"stopped": "⏹"
}
},
"custom/flatpak": {
"interval": 180,
"tooltip-format": "{} pending Flatpak updates available",
"format": " {}",
"exec": "flatpak remote-ls --updates --app | wc -l",
"exec-if": "test $(flatpak remote-ls --updates --app | wc -l) -gt 0"
},
"custom/codex-primary": {
"interval": 15,
"return-type": "json",
"exec": "$HOME/.config/waybar/scripts/openai-rate.py --window primary",
"exec-if": "test -r ~/.codex/auth.json",
"format": "5h {}"
},
"custom/codex-secondary": {
"interval": 15,
"return-type": "json",
"exec": "$HOME/.config/waybar/scripts/openai-rate.py --window secondary",
"exec-if": "test -r ~/.codex/auth.json",
"format": "W {}"
},
"custom/backup": {
"interval": 60,
"format": "",
"tooltip-format": "The last backup job failed -- investigate backup.service for more details",
"exec": "systemctl is-failed backup.service"
},
"custom/rpm-ostree-staged": {
"interval": 60,
"format": "",
"tooltip-format": "An rpm-ostree deployment is pending and will be applied upon the next reboot",
"exec": "rpm-ostree status --json | jq -e '.deployments[0].staged'"
},
"custom/output-device": {
"interval": 60,
"format": "{}",
"tooltip-format": "Click to switch between output devices",
"exec-on-event": true,
"exec": "$HOME/.config/waybar/scripts/output-devices.py --iconify",
"on-click": "$HOME/.config/waybar/scripts/output-devices.py --next --iconify",
"on-click-right": "$HOME/.config/waybar/scripts/output-devices.py --previous --iconify"
}
}]