423 lines
14 KiB
JSON
423 lines
14 KiB
JSON
{
|
|
// -------------------------------------------------------------------------
|
|
// Global configuration
|
|
// -------------------------------------------------------------------------
|
|
"layer": "top",
|
|
"position": "top",
|
|
"height": 10,
|
|
"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": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
|
"today-format": "<b>{}</b>"
|
|
},
|
|
"clock#date": {
|
|
"format": " {:%H:%M | %e %b}",
|
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt>{calendar}</tt>",
|
|
"today-format": "<b>{}</b>"
|
|
},
|
|
"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": "<span foreground='#fab387'> </span>",
|
|
//"format-icons": [ "<span foreground='#fab387'></span>" ]
|
|
"format-icons": {
|
|
"headphone": "",
|
|
"phone": "",
|
|
"portable": "",
|
|
"car": "",
|
|
"default": ["", "", "", "", "", ""]
|
|
},
|
|
"max-length": 7,
|
|
"min-length": 7
|
|
},
|
|
|
|
// Hyprland
|
|
"group/workspaceactions": {
|
|
"modules": ["hyprland/workspaces", "custom/workspacenew"],
|
|
"orientation": "inherit"
|
|
},
|
|
"hyprland/workspaces": {
|
|
"all-outputs": true,
|
|
"format": "{name}",
|
|
"show-special": true,
|
|
"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
|
|
},
|
|
"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": "<big></big> {}",
|
|
"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": "<span foreground='#bb9af7'></span> {title}",
|
|
"format-paused": " {title}",
|
|
"format-stopped": "<span foreground='#bb9af7'></span>",
|
|
"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
|
|
}
|
|
}
|