{ "layer": "top", "position": "top", "exclusive": true, // keep the gap reserved "margin-top": 8, // gap from the top edge "margin-left": 10, // gap from the left edge "margin-right": 10, // gap from the right edge "margin-bottom": 0, /* order: 1-2-3 | window-title | tray + clock */ "modules-left": [ "custom/group1", "custom/group2", "custom/group3", "custom/group4","custom/group5","custom/group6","custom/group7","custom/group8","custom/group9","custom/group10"], "modules-center": [ "hyprland/window" ], "modules-right": [ "tray", "custom/separator", "network", "bluetooth", "custom/separator", "disk", "cpu", "memory", "pulseaudio", "custom/separator", "clock"], "custom/group1": { "exec": "~/.config/waybar/scripts/groups.sh 1", "return-type": "json", "interval": 1, "on-click": "~/.config/waybar/scripts/groups.sh click 1" }, "custom/group2": { "exec": "~/.config/waybar/scripts/groups.sh 2", "return-type": "json", "interval": 1, "on-click": "~/.config/waybar/scripts/groups.sh click 2" }, "custom/group3": { "exec": "~/.config/waybar/scripts/groups.sh 3", "return-type": "json", "interval": 1, "on-click": "~/.config/waybar/scripts/groups.sh click 3" }, "custom/group4": { "exec": "~/.config/waybar/scripts/groups.sh 4", "return-type": "json", "interval": 1, "on-click": "~/.config/waybar/scripts/groups.sh click 4" }, "custom/group5": { "exec": "~/.config/waybar/scripts/groups.sh 5", "return-type": "json", "interval": 1, "on-click": "~/.config/waybar/scripts/groups.sh click 5" }, "custom/group6": { "exec": "~/.config/waybar/scripts/groups.sh 6", "return-type": "json", "interval": 1, "on-click": "~/.config/waybar/scripts/groups.sh click 6" }, "custom/group7": { "exec": "~/.config/waybar/scripts/groups.sh 7", "return-type": "json", "interval": 1, "on-click": "~/.config/waybar/scripts/groups.sh click 7" }, "custom/group8": { "exec": "~/.config/waybar/scripts/groups.sh 8", "return-type": "json", "interval": 1, "on-click": "~/.config/waybar/scripts/groups.sh click 8" }, "custom/group9": { "exec": "~/.config/waybar/scripts/groups.sh 9", "return-type": "json", "interval": 1, "on-click": "~/.config/waybar/scripts/groups.sh click 9" }, "custom/group10": { "exec": "~/.config/waybar/scripts/groups.sh 10", "return-type": "json", "interval": 1, "on-click": "~/.config/waybar/scripts/groups.sh click 10" }, // "custom/page1": { // "exec": "~/.config/waybar/scripts/page.sh 1", // "exec-persistent": true, // "return-type": "json" // }, // "custom/page2": { // "exec": "~/.config/waybar/scripts/page.sh 2", // "exec-persistent": true, // "return-type": "json" // }, // "custom/page3": { // "exec": "~/.config/waybar/scripts/page.sh 3", // "exec-persistent": true, // "return-type": "json" // }, // "custom/page4": { // "exec": "~/.config/waybar/scripts/page.sh 4", // "exec-persistent": true, // "return-type": "json" // }, // "custom/page5": { // "exec": "~/.config/waybar/scripts/page.sh 5", // "exec-persistent": true, // "return-type": "json" // }, // "custom/page6": { // "exec": "~/.config/waybar/scripts/page.sh 6", // "exec-persistent": true, // "return-type": "json" // }, // "custom/page7": { // "exec": "~/.config/waybar/scripts/page.sh 7", // "exec-persistent": true, // "return-type": "json" // }, // "custom/page8": { // "exec": "~/.config/waybar/scripts/page.sh 8", // "exec-persistent": true, // "return-type": "json" // }, // "custom/page9": { // "exec": "~/.config/waybar/scripts/page.sh 9", // "exec-persistent": true, // "return-type": "json" // }, // "custom/page10": { // "exec": "~/.config/waybar/scripts/page.sh 10", // "exec-persistent": true, // "return-type": "json" // }, "hyprland/window": { "format": "{title}", "max-length": 60 }, // "tray": { "icon-size": 16, "spacing": 6 }, "tray": { "icon-size": 16, "spacing": 10 }, "pulseaudio": { // ——— behaviour ——— "scroll-step": 5, // ± 5 % per wheel-step "max-volume": 150, // allow 0 – 150 % "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle", "on-click-right": "pavucontrol", // ——— appearance ——— "markup": "pango", // enable coloured markup "format": "{icon} {volume}%", "format-muted": " muted", // choose the glyphs you like (Nerd Font / Font Awesome) "format-icons": { "default": "", // speaker "muted": "", // muted speaker "headphones": "" } }, "custom/separator": { // emit a JSON object with field "text" "exec": "echo '{\"text\":\"|\"}'", // treat stdout as JSON "return-type": "json", // wrap the text in a colored Pango span "format": "{text}", "markup": "pango", // refresh only hourly "interval": 3600 }, "cpu": { "interval": 1, // update every second "markup": "pango", "format": " {usage}%" }, "memory": { "interval": 2, // fast enough, still light "markup": "pango", "format": " {percentage}%" }, "disk": { "interval": 30, // disks change slowly "path": "/", "markup": "pango", "format": "󰋊 {percentage_used}%" }, /* ─── CLOCK (add date) ──────────────────────────────────── */ "clock": { "interval": 1, "format": "{:%Y-%m-%d %H:%M:%S}", "format-alt": "{:%Y-%m-%d %H:%M}" }, /* ─── NETWORK ─────────────────────────────────────────────── */ "network": { "interface": ["enp.*", "eth.*"], // wired NICs (regex—adjust if needed) "interval": 3, "markup": "pango", "format-ethernet": "󰈀 up", "format-wifi": " {essid}", // "format-linked": " link", "format-unknown": "󰈂 up", "format-disconnected":" down", "on-click": "nm-connection-editor" }, }