{ // ------------------------------------------------------------------------- // Global configuration // ------------------------------------------------------------------------- "layer": "top", "position": "top", "height": 55, "margin-left": 0, "margin-bottom": 0, "margin-right": 0, "spacing": 2, // Gaps between modules (px) "modules-left": [ "custom/rofi", // "hyprland/workspaces", // "custom/workspacenew", "group/workspaceactions", "hyprland/window", //"hyprland/submap", //"idle_inhibitor", //"mpd" "custom/mediaplayer" ], "modules-center": [ "clock#date" //"custom/gammastep" ], "modules-right": [ // "network#speed", // "memory", // "cpu", // "battery", // //"pulseaudio", // "backlight", // "wireplumber", "group/monitors", // "bluetooth", // "network", "tray", "custom/caffeine", "custom/power" ], // ------------------------------------------------------------------------- // Modules // ------------------------------------------------------------------------- // Separators "custom/sp1": { "format": " | ", "tooltip": false }, "custom/sp2": { "format": " |", "tooltip": false }, // Buttons "custom/power": { "format": "󰐥", "tooltip": false, "on-click": "wlogout", "on-click-right": "hyprctl dispatch killactive", "min-length": 2, "max-length": 2 }, "custom/rofi": { "format": "", "tooltip": false, // "on-click-right": "fuzzel -l 0 -p '>> ' | xargs -r sh -c", // "on-click": "fuzzel", // "on-click-middle": "pkill -9 fuzzel", "on-click": "eww open main --toggle", "on-click-right": "pkill fuzzel || fuzzel", "min-length": 2, "max-length": 2 }, "custom/caffeine": { "format": "{icon}", "return-type": "json", "interval": "once", "exec": "$HOME/.config/waybar/modules/caffeine.sh", "on-click": "$HOME/.config/waybar/modules/caffeine.sh toggle && sleep 1", "exec-on-event": true, "min-length": 2, "max-length": 2, "tooltip": false, "format-icons": { "active": "", "inactive": "" } }, // Time and Date "clock": { "format": " {:%H:%M  %e %b}", "tooltip-format": "{:%Y %B}\n{calendar}", "today-format": "{}" }, "clock#date": { "format": "󰥔 {:%H:%M |  %e %b}", "tooltip-format": "{:%Y %B}\n{calendar}", "today-format": "{}" }, "clock#1": { "format": " {:%a}", "tooltip": false, "on-click": "gsimplecal" }, "clock#2": { "format": " {:%d-%h-%Y}", "tooltip": false, "on-click": "gsimplecal" }, "clock#3": { "format": " {:%H:%M:%S %p}", "tooltip": false, "on-click": "gsimplecal" }, "custom/screenshot_t": { "format": " ", "on-click": "~/.config/hypr/scripts/screenshot_full", "on-click-right": "~/.config/hypr/scripts/screenshot_area" }, // System monitors "group/monitors": { "modules": ["network#speed", "temperature", "memory", "cpu", "battery", "backlight", "wireplumber"], "orientation": "inherit" }, "network#speed": { "interval": 1, "format": "{ifname}", "format-wifi": " {bandwidthDownBytes}  {bandwidthUpBytes} ", "format-ethernet": " {bandwidthDownBytes}  {bandwidthUpBytes} ", "format-disconnected": "󰌙", "tooltip-format": "{ipaddr}", "format-linked": "󰈁 {ifname} (No IP)", "tooltip-format-wifi": "{essid} {signalStrength}%", "tooltip-format-ethernet": "{ifname} 󰌘", "tooltip-format-disconnected": "󰌙 Disconnected", "max-length": 24, "min-length": 20 }, "temperature": { // "thermal-zone": 1, "interval": 4, "hwmon-path": "/sys/class/hwmon/hwmon6/temp1_input", "critical-threshold": 80, // "format-critical": " {temperatureC}°C", "format-critical": " {temperatureC}°C", "format": "{icon} {temperatureC}°C", "format-icons": ["", "", ""], "max-length": 7, "min-length": 7 }, "memory": { "interval": 30, // "format": " {used:0.2f} / {total:0.0f} GB", "format": "󰍛 {percentage}%", "on-click": "killall btop || ghostty -e btop", "min-length": 7, "max-length": 7 }, "cpu": { "interval": 1, //"format": " {}%", // Icon: microchip "format": "󰘚 {usage}%", "max-length": 7, "min-length": 7, "on-click": "killall btop || ghostty -e btop" }, "battery": { "interval": 2, "states": { "good": 95, "warning": 30, "critical": 15 }, "format": "{icon} {capacity}%", "format-charging": " {capacity}%", "format-plugged": " {capacity}%", "format-icons": ["", "", "", "", ""], "max-length": 7, "min-length": 7 }, "backlight": { "device": "intel_backlight", "format": "{icon} {percent}%", "format-alt": "{percent}% {icon}", "format-alt-click": "click-right", //"format-icons": ["", ""], "format-icons": [""], "on-scroll-down": "brightnessctl -d intel_backlight set 5%-", "on-scroll-up": "brightnessctl -d intel_backlight set +5%", "max-length": 7, "min-length": 7 }, "wireplumber": { "on-click": "pavucontrol", //on-click: "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle"; "on-scroll-down": "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04-", "on-scroll-up": "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04+", "format": "{icon} {volume}%", "format-muted": "", "format-source": "", "format-source-muted": "", //"format-muted": "", //"format-icons": [ "" ] "format-icons": { "headphone": "", "phone": "", "portable": "", "car": "", "default": ["", "", "", "", "", ""] }, "max-length": 7, "min-length": 7 }, // Hyprland "group/workspaceactions": { "modules": ["hyprland/workspaces#special", "hyprland/workspaces", "custom/workspacenew"], "orientation": "inherit" }, "hyprland/workspaces": { "all-outputs": true, "format": "{name}", "on-scroll-up": "hyprctl dispatch workspace e+1 1>/dev/null", "on-scroll-down": "hyprctl dispatch workspace e-1 1>/dev/null", "sort-by-number": true, "active-only": false }, "hyprland/workspaces#special": { "active-only": false, // waiting for a smarter way in coming versions "ignore-workspaces": [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20" ], "show-special": true, "special-visible-only": false, "format": "{icon}", "format-icons": { "special": "S", "default": "C" } }, "custom/workspacenew": { "format": "+", "tooltip": false, "on-click": "~/.scripts/workspace-new.sh" }, "hyprland/window": { "max-length": 100, "separate-outputs": true, "hide-empty-text": true }, "custom/mediaplayer": { "format": "{text}", "return-type": "json", "max-length": 100, "format-icons": { "spotify": "", "default": "" }, "escape": true, "exec": "$HOME/.config/waybar/modules/mediaplayer.py 2> /dev/null", "on-click": "playerctl play-pause", "on-scroll-up": "playerctl next", "on-scroll-down": "playerctl previous" }, "tray": { "icon-size": 15, "spacing": 5 }, // Not used "network": { "format-wifi": " {essid} ({signalStrength}%)", "format-ethernet": "{ifname}: {ipaddr}/{cidr} ", "format-linked": "{ifname} (No IP)", "format": "", "format-disconnected": "󰌙", "format-alt": "{ifname}: {ipaddr}/{cidr}", "on-click": "wl-copy $(ip address show up scope global | grep inet | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c5-)", "on-click-right": "wl-copy $(ip address show up scope global | grep inet6 | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c6-)", "tooltip-format": " {bandwidthUpBits}  {bandwidthDownBits}\n{ifname}\n{ipaddr}/{cidr}\n", "tooltip-format-wifi": " {essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\nIP: {ipaddr}/{cidr}\n {bandwidthUpBits}  {bandwidthDownBits}", "interval": 10, "max-length": 12 }, "custom/storage": { "format": " {}", "format-alt": "{percentage}% ", "format-alt-click": "click-right", "return-type": "json", "interval": 60, "exec": "~/.config/waybar/modules/storage.sh" }, "idle_inhibitor": { "format": "{icon}", "format-icons": { "activated": "", "deactivated": "" }, "tooltip": "true" }, "custom/weather": { "format": "{}", "format-alt": "{alt}: {}", "format-alt-click": "click-right", "interval": 3600, "exec": "curl -s 'https://wttr.in/?format=1'", //"return-type": "json", //"exec": "~/.config/waybar/modules/weather.sh", "exec-if": "ping wttr.in -c1" }, "custom/pacman": { "format": "􏆲 {}", "interval": 3600, // every hour "exec": "checkupdates | wc -l", // # of updates "exec-if": "exit 0", // always run; consider advanced run conditions "on-click": "ghostty -e 'paru'; pkill -SIGRTMIN+8 waybar", // update system "signal": 8, "max-length": 7, "min-length": 3 }, "custom/spotify": { "exec": "~/.config/waybar/mediaplayer.py --player spotify", "format": "{} ", "return-type": "json", "on-click": "playerctl play-pause", "on-scroll-up": "playerctl next", "on-scroll-down": "playerctl previous" }, "custom/media": { "format": "{0} {1}", "return-type": "json", "max-length": 40, "format-icons": { "spotify": "", "default": "🎜" }, "escape": true //"exec": "~/.config/waybar/mediaplayer.py" // Script in resources folder // "exec": "~/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name }, "custom/gammastep": { "interval": 5, "return-type": "json", "exec": { "pre": "if unit_status=\"$(systemctl --user is-active gammastep)\"; then\nstatus=\"$unit_status ($(journalctl --user -u gammastep.service -g 'Period: ' | tail -1 | cut -d ':' -f6 | xargs))\"\nelse\nstatus=\"$unit_status\"\nfi", "alt": "${status:-inactive}", "tooltip": "Gammastep is $status" }, "format": "{icon}", "format-icons": { "activating": "󰁪 ", "deactivating": "󰁪 ", "inactive": "? ", "active (Night)": " ", "active (Nighttime)": " ", "active (Transition (Night)": " ", "active (Transition (Nighttime)": " ", "active (Day)": " ", "active (Daytime)": " ", "active (Transition (Day)": " ", "active (Transition (Daytime)": " " }, "on-click": "systemctl --user is-active gammastep && systemctl --user stop gammastep || systemctl --user start gammastep" }, "mpd": { "max-length": 25, "format": " {title}", "format-paused": " {title}", "format-stopped": "", "format-disconnected": "", "on-click": "mpc --quiet toggle", "on-click-right": "mpc update; mpc ls | mpc add", "on-click-middle": "ghostty -e ncmpcpp", "on-scroll-up": "mpc --quiet prev", "on-scroll-down": "mpc --quiet next", "smooth-scrolling-threshold": 5, "tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})" }, "custom/title": { "format": "{}", "interval": 0, "return-type": "json", //"max-length": 35, "tooltip": false }, "custom/title#name": { "format": "{}", "interval": 0, "return-type": "json", "max-length": 35, "exec": "$HOME/.scripts/title" }, /*"custom/keyboard": { "format": " {}", "interval": 1, "exec": "$HOME/.config/waybar/get_kbdlayout.sh" },*/ "pulseaudio": { "scroll-step": 3, // %, can be a float "format": "{icon} {volume}% {format_source}", "format-bluetooth": "{volume}% {icon} {format_source}", "format-bluetooth-muted": " {icon} {format_source}", "format-muted": " {format_source}", //"format-source": "{volume}% ", //"format-source-muted": "", "format-source": "", "format-source-muted": "", "format-icons": { "headphone": "", "phone": "", "portable": "", "car": "", "default": ["", "", ""] }, "on-click": "pavucontrol", "on-click-right": "amixer sset Master toggle" }, "bluetooth": { "format-on": "󰂯", "format-off": "󰂲", "format-disabled": "", // an empty format will hide the module "format-connected": "󰂱 {num_connections}", "tooltip-format-connected": "{device_enumerate}", "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", "on-click": "blueberry", "max-length": 3, "min-length": 3 } }