2025-02-19 00:21:09 +01:00
|
|
|
|
// =============================================================================
|
|
|
|
|
|
//
|
|
|
|
|
|
// Waybar configuration
|
|
|
|
|
|
//
|
|
|
|
|
|
// Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
|
|
|
|
|
|
//
|
|
|
|
|
|
// =============================================================================
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
// -------------------------------------------------------------------------
|
|
|
|
|
|
// Global configuration
|
|
|
|
|
|
// -------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
"layer": "top",
|
|
|
|
|
|
|
|
|
|
|
|
// If height property would be not present, it'd be calculated dynamically
|
|
|
|
|
|
"height": 30,
|
|
|
|
|
|
"position": "bottom",
|
|
|
|
|
|
|
2025-08-11 19:23:46 +02:00
|
|
|
|
"modules-left": ["custom/menu", "sway/workspaces", "custom/scratchpad", "custom/watson" ],
|
2025-02-19 00:21:09 +01:00
|
|
|
|
"modules-center": [
|
|
|
|
|
|
"custom/wf-recorder",
|
|
|
|
|
|
"sway/mode",
|
2025-08-11 19:23:46 +02:00
|
|
|
|
// "sway/window",
|
|
|
|
|
|
"custom/uair"
|
2025-02-19 00:21:09 +01:00
|
|
|
|
],
|
|
|
|
|
|
"modules-right": [
|
|
|
|
|
|
// informational
|
2025-08-11 19:23:46 +02:00
|
|
|
|
"custom/weather",
|
2025-02-19 00:21:09 +01:00
|
|
|
|
"sway/language",
|
|
|
|
|
|
"custom/github",
|
|
|
|
|
|
"custom/clipboard",
|
2025-02-20 10:42:28 +01:00
|
|
|
|
"custom/zeit",
|
2025-02-19 00:21:09 +01:00
|
|
|
|
// "cpu",
|
|
|
|
|
|
// "temperature",
|
|
|
|
|
|
"battery",
|
|
|
|
|
|
|
|
|
|
|
|
// connecting
|
|
|
|
|
|
"network",
|
|
|
|
|
|
"bluetooth",
|
|
|
|
|
|
"custom/valent",
|
|
|
|
|
|
|
|
|
|
|
|
// media
|
|
|
|
|
|
"custom/playerctl",
|
|
|
|
|
|
"custom/idle_inhibitor",
|
|
|
|
|
|
"custom/dnd",
|
|
|
|
|
|
"pulseaudio",
|
2025-08-11 19:23:46 +02:00
|
|
|
|
// "backlight",
|
2025-02-19 00:21:09 +01:00
|
|
|
|
|
|
|
|
|
|
// system
|
2025-08-11 19:23:46 +02:00
|
|
|
|
"custom/adaptive-light",
|
2025-02-20 10:42:28 +01:00
|
|
|
|
// "custom/sunset",
|
2025-02-19 00:21:09 +01:00
|
|
|
|
"custom/pacman",
|
|
|
|
|
|
|
|
|
|
|
|
"tray",
|
|
|
|
|
|
"clock"
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
|
|
// -------------------------------------------------------------------------
|
|
|
|
|
|
// Modules
|
|
|
|
|
|
// -------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
"battery": {
|
|
|
|
|
|
"interval": 30,
|
|
|
|
|
|
"states": {
|
|
|
|
|
|
"warning": 30,
|
|
|
|
|
|
"critical": 15
|
|
|
|
|
|
},
|
|
|
|
|
|
"format-charging": " {capacity}%",
|
|
|
|
|
|
"format": "{icon} {capacity}%",
|
|
|
|
|
|
"format-icons": ["", "", "", "", "", "", "", "", "", ""],
|
|
|
|
|
|
"tooltip": true
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"clock": {
|
|
|
|
|
|
"interval": 60,
|
|
|
|
|
|
"format": "{:%e %b %Y %H:%M}",
|
|
|
|
|
|
"tooltip": true,
|
|
|
|
|
|
"tooltip-format": "<big>{:%B %Y}</big>\n<tt>{calendar}</tt>",
|
|
|
|
|
|
"on-click": "swaymsg exec \\$calendar"
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"cpu": {
|
|
|
|
|
|
"interval": 10,
|
|
|
|
|
|
"format": "",
|
|
|
|
|
|
"states": {
|
|
|
|
|
|
"warning": 70,
|
|
|
|
|
|
"critical": 90
|
|
|
|
|
|
},
|
|
|
|
|
|
"on-click": "swaymsg exec \\$task_manager",
|
|
|
|
|
|
"tooltip": true
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"memory": {
|
|
|
|
|
|
"interval": 10,
|
|
|
|
|
|
"format": "",
|
|
|
|
|
|
"states": {
|
|
|
|
|
|
"warning": 70,
|
|
|
|
|
|
"critical": 90
|
|
|
|
|
|
},
|
|
|
|
|
|
"on-click": "swaymsg exec \\$task_manager",
|
|
|
|
|
|
"tooltip": true
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"network": {
|
|
|
|
|
|
"interval": 5,
|
|
|
|
|
|
"format-wifi": "{icon}",
|
|
|
|
|
|
"format-ethernet": "",
|
|
|
|
|
|
"format-disconnected": "",
|
|
|
|
|
|
"format-disabled": "",
|
|
|
|
|
|
"format-icons": [
|
|
|
|
|
|
"",
|
|
|
|
|
|
"",
|
|
|
|
|
|
"",
|
|
|
|
|
|
"",
|
|
|
|
|
|
""
|
|
|
|
|
|
],
|
|
|
|
|
|
"tooltip-format": "{icon} {ifname}: {ipaddr}",
|
|
|
|
|
|
"tooltip-format-ethernet": "{icon} {ifname}: {ipaddr}",
|
|
|
|
|
|
"tooltip-format-wifi": "{icon} {ifname} ({essid}): {ipaddr}",
|
|
|
|
|
|
"tooltip-format-disconnected": "{icon} disconnected",
|
|
|
|
|
|
"tooltip-format-disabled": "{icon} disabled",
|
|
|
|
|
|
"on-click": "swaymsg exec \\$once \\$term_float nmtui connect"
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"sway/mode": {
|
|
|
|
|
|
"format": "<span style=\"italic\">{}</span>",
|
|
|
|
|
|
"tooltip": false
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"backlight": {
|
|
|
|
|
|
"format": "{icon} {percent}%",
|
|
|
|
|
|
"format-icons": ["", "", ""],
|
|
|
|
|
|
"on-scroll-up": "swaymsg exec \\$brightness_up",
|
|
|
|
|
|
"on-scroll-down": "swaymsg exec \\$brightness_down"
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"pulseaudio": {
|
|
|
|
|
|
"scroll-step": 5,
|
|
|
|
|
|
"format": "{icon} {volume}%{format_source}",
|
|
|
|
|
|
"format-muted": " {format_source}",
|
|
|
|
|
|
"format-source": "",
|
|
|
|
|
|
"format-source-muted": " ",
|
|
|
|
|
|
"format-icons": {
|
|
|
|
|
|
"headphone": "",
|
|
|
|
|
|
"headset": "",
|
|
|
|
|
|
"default": ["", "", ""]
|
|
|
|
|
|
},
|
|
|
|
|
|
"tooltip-format": "{icon} {volume}% {format_source}",
|
|
|
|
|
|
"on-click": "swaymsg exec \\$pulseaudio",
|
|
|
|
|
|
"on-click-middle": "swaymsg exec \\$volume_mute",
|
|
|
|
|
|
"on-scroll-up": "swaymsg exec \\$volume_up",
|
|
|
|
|
|
"on-scroll-down": "swaymsg exec \\$volume_down"
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"temperature": {
|
|
|
|
|
|
"critical-threshold": 90,
|
|
|
|
|
|
"interval": 5,
|
|
|
|
|
|
"format": "{icon}",
|
|
|
|
|
|
"tooltip-format": "{temperatureC}°C",
|
|
|
|
|
|
"format-icons": ["", "", ""],
|
|
|
|
|
|
"tooltip": true,
|
|
|
|
|
|
"on-click": "swaymsg exec \"\\$once \\$term_float watch sensors\""
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"tray": {
|
|
|
|
|
|
"icon-size": 21,
|
|
|
|
|
|
"spacing": 5
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/pacman": {
|
|
|
|
|
|
"format": " {}",
|
|
|
|
|
|
"interval": 3600,
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"exec-if": "/usr/share/sway/scripts/checkupdates.sh check",
|
|
|
|
|
|
"exec": "/usr/share/sway/scripts/checkupdates.sh status",
|
|
|
|
|
|
"on-click": "/usr/share/sway/scripts/checkupdates.sh check && swaymsg exec \\$update_manager",
|
|
|
|
|
|
"on-click-middle": "waybar-signal pacman",
|
|
|
|
|
|
"signal": 14
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/menu": {
|
|
|
|
|
|
"format": "",
|
|
|
|
|
|
"on-click": "swaymsg exec \\$menu",
|
|
|
|
|
|
"tooltip": false
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"bluetooth": {
|
|
|
|
|
|
"format": "",
|
|
|
|
|
|
"format-disabled": "",
|
|
|
|
|
|
"on-click": "swaymsg exec \\$bluetooth",
|
|
|
|
|
|
"on-click-right": "rfkill toggle bluetooth",
|
|
|
|
|
|
"tooltip-format": "{}"
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"sway/language": {
|
|
|
|
|
|
"format": " {}",
|
|
|
|
|
|
"min-length": 5,
|
|
|
|
|
|
"tooltip": false,
|
|
|
|
|
|
"on-click": "swaymsg input type:keyboard xkb_switch_layout next"
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/scratchpad": {
|
|
|
|
|
|
"interval": "once",
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"format": "{icon}",
|
|
|
|
|
|
"format-icons": {
|
|
|
|
|
|
"one": "",
|
|
|
|
|
|
"many": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"exec": "/bin/sh /usr/share/sway/scripts/scratchpad.sh",
|
|
|
|
|
|
"on-click": "swaymsg 'scratchpad show'",
|
|
|
|
|
|
"signal": 7
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/sunset": {
|
|
|
|
|
|
"interval": "once",
|
|
|
|
|
|
"tooltip": true,
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"format": "{icon}",
|
|
|
|
|
|
"format-icons": {
|
|
|
|
|
|
"on": "",
|
|
|
|
|
|
"off": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"exec": "fallback_latitude=50.1 fallback_longitude=8.7 latitude= longitude= /usr/share/sway/scripts/sunset.sh",
|
|
|
|
|
|
"on-click": "/usr/share/sway/scripts/sunset.sh toggle",
|
|
|
|
|
|
"exec-if": "/usr/share/sway/scripts/sunset.sh check",
|
|
|
|
|
|
"signal": 6
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/wf-recorder": {
|
|
|
|
|
|
"interval": "once",
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"format": "{}",
|
|
|
|
|
|
"exec": "echo '{\"class\": \"recording\",\"text\":\"\",\"tooltip\":\"press $mod+Esc to stop recording\"}'",
|
|
|
|
|
|
"exec-if": "pgrep wf-recorder",
|
|
|
|
|
|
"on-click": "waybar-signal recorder",
|
|
|
|
|
|
"signal": 8
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/github": {
|
|
|
|
|
|
"interval": 300,
|
|
|
|
|
|
"tooltip": false,
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"format": " {}",
|
|
|
|
|
|
"exec": "gh api '/notifications' -q '{ text: length }' | cat -",
|
|
|
|
|
|
"exec-if": "[ -x \"$(command -v gh)\" ] && gh auth status 2>&1 | grep -q -m 1 'Logged in' && test $(gh api '/notifications' -q 'length') -ne 0",
|
|
|
|
|
|
"on-click": "test $(gh api '/notifications' -q 'length') -ne 0 && xdg-open https://github.com/notifications && sleep 30 && waybar-signal github",
|
|
|
|
|
|
"signal": 4
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/playerctl": {
|
|
|
|
|
|
"interval": "once",
|
|
|
|
|
|
"tooltip": true,
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"format": "{icon}",
|
|
|
|
|
|
"format-icons": {
|
|
|
|
|
|
"Playing": "",
|
|
|
|
|
|
"Paused": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"exec": "playerctl metadata --format '{\"alt\": \"{{status}}\", \"tooltip\": \"{{playerName}}: {{markup_escape(title)}} - {{markup_escape(artist)}}\" }'",
|
|
|
|
|
|
"on-click": "playerctl play-pause",
|
|
|
|
|
|
"on-click-right": "playerctl next",
|
|
|
|
|
|
"on-scroll-up": "playerctl position 10+",
|
|
|
|
|
|
"on-scroll-down": "playerctl position 10-",
|
|
|
|
|
|
"signal": 5
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/clipboard": {
|
|
|
|
|
|
"format": "",
|
|
|
|
|
|
"interval": "once",
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"on-click": "swaymsg -q exec '$clipboard'; waybar-signal clipboard",
|
|
|
|
|
|
"on-click-right": "swaymsg -q exec '$clipboard-del'; waybar-signal clipboard",
|
|
|
|
|
|
"on-click-middle": "rm -f ~/.cache/cliphist/db; waybar-signal clipboard",
|
|
|
|
|
|
"exec": "printf '{\"tooltip\":\"%s\"}' $(cliphist list | wc -l)' item(s) in the clipboard\r(Mid click to clear)'",
|
|
|
|
|
|
"exec-if": "[ -x \"$(command -v cliphist)\" ] && [ $(cliphist list | wc -l) -gt 0 ]",
|
|
|
|
|
|
"signal": 9
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/weather": {
|
|
|
|
|
|
"format": "{}",
|
|
|
|
|
|
"tooltip": true,
|
|
|
|
|
|
"interval": 3600,
|
|
|
|
|
|
// accepts -c/--city <city> -t/--temperature <C/F> -d/--distance <km/miles>
|
|
|
|
|
|
"exec": "/usr/share/sway/scripts/weather.py",
|
|
|
|
|
|
"return-type": "json",
|
2025-08-11 19:23:46 +02:00
|
|
|
|
// "on-click": "xdg-open \"https://wttr.in/$(curl -s https://manjaro-sway.download/geoip | jq -r '.city')\"",
|
|
|
|
|
|
"on-click": "xdg-open \"https://wttr.in/Chateldon",
|
2025-02-19 00:21:09 +01:00
|
|
|
|
"on-click-right": "waybar-signal weather",
|
|
|
|
|
|
"signal": 16
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/zeit": {
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"interval": "once",
|
|
|
|
|
|
"format": "{icon}",
|
|
|
|
|
|
"format-icons": {
|
|
|
|
|
|
"tracking": "",
|
|
|
|
|
|
"stopped": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"exec": "/usr/share/sway/scripts/zeit.sh status",
|
|
|
|
|
|
"on-click": "/usr/share/sway/scripts/zeit.sh click; waybar-signal zeit",
|
|
|
|
|
|
"exec-if": "[ -x \"$(command -v zeit)\" ]",
|
|
|
|
|
|
"signal": 10
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/dnd": {
|
|
|
|
|
|
"interval": "once",
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"format": "{}{icon}",
|
|
|
|
|
|
"format-icons": {
|
|
|
|
|
|
"default": "",
|
|
|
|
|
|
"dnd": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"on-click": "/usr/share/sway/scripts/dnd.sh toggle; waybar-signal dnd",
|
|
|
|
|
|
"on-click-right": "/usr/share/sway/scripts/dnd.sh restore",
|
|
|
|
|
|
"exec": "/usr/share/sway/scripts/dnd.sh status",
|
|
|
|
|
|
"signal": 11
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/adaptive-light": {
|
|
|
|
|
|
"interval": "once",
|
|
|
|
|
|
"tooltip": true,
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"format": "{icon}",
|
|
|
|
|
|
"format-icons": {
|
|
|
|
|
|
"on": "",
|
|
|
|
|
|
"off": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"exec": "/usr/share/sway/scripts/wluma.sh",
|
|
|
|
|
|
"on-click": "/usr/share/sway/scripts/wluma.sh toggle",
|
|
|
|
|
|
"exec-if": "/usr/share/sway/scripts/wluma.sh check",
|
|
|
|
|
|
"signal": 12
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/valent": {
|
|
|
|
|
|
"format": "{icon}",
|
|
|
|
|
|
"tooltip": true,
|
|
|
|
|
|
"interval": 60,
|
|
|
|
|
|
"exec": "/usr/share/sway/scripts/valent.py",
|
|
|
|
|
|
"exec-if": "[ -x \"$(command -v valent)\" ]",
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"format-icons": {
|
|
|
|
|
|
"no-devices": "",
|
|
|
|
|
|
"dangerously-empty": "",
|
|
|
|
|
|
"no-signal": "",
|
|
|
|
|
|
"connected": "",
|
|
|
|
|
|
"disconnected": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"on-click": "valent",
|
|
|
|
|
|
"on-click-middle": "waybar-signal valent",
|
|
|
|
|
|
"signal": 13
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/idle_inhibitor": {
|
|
|
|
|
|
"interval": 60,
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"format": "{icon}",
|
|
|
|
|
|
"format-icons": {
|
|
|
|
|
|
"on": "",
|
|
|
|
|
|
"off": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"exec": "inhibit-idle",
|
|
|
|
|
|
"on-click": "inhibit-idle off; inhibit-idle interactive",
|
|
|
|
|
|
"on-click-middle": "inhibit-idle off",
|
|
|
|
|
|
"signal": 15
|
2025-08-11 19:23:46 +02:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/uair": {
|
|
|
|
|
|
// "format": "{icon} {percentage}",
|
|
|
|
|
|
"format": "{icon} {text}",
|
|
|
|
|
|
"format-icons": [
|
|
|
|
|
|
"○○○○○○○○○●",
|
|
|
|
|
|
"○○○○○○○○●●",
|
|
|
|
|
|
"○○○○○○○●●●",
|
|
|
|
|
|
"○○○○○○●●●●",
|
|
|
|
|
|
"○○○○○●●●●●",
|
|
|
|
|
|
"○○○○●●●●●●",
|
|
|
|
|
|
"○○○●●●●●●●",
|
|
|
|
|
|
"○○●●●●●●●●",
|
|
|
|
|
|
"○●●●●●●●●●",
|
|
|
|
|
|
"●●●●●●●●●●"
|
|
|
|
|
|
],
|
|
|
|
|
|
"tooltip": false,
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"interval": 5,
|
|
|
|
|
|
"on-click": "uairctl toggle",
|
|
|
|
|
|
"on-click-middle": "uairctl prev",
|
|
|
|
|
|
"on-click-right": "uairctl next",
|
|
|
|
|
|
"exec-if": "pidof uair",
|
|
|
|
|
|
"exec": "uairctl fetch '{\"text\":\"{name}\",\"class\":\"{state}\",\"percentage\":{percent}}'"
|
|
|
|
|
|
// "exec": "uairctl fetch '{\"text\":\"{name} {time} {percent}%\",\"name\":\"{name}\",\"class\":\"{state}\",\"percentage\":{percent}}'"
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
"custom/watson": {
|
|
|
|
|
|
"format": "<span weight=\"ultrabold\">{text}</span>",
|
|
|
|
|
|
"return-type": "json",
|
|
|
|
|
|
"interval": 10,
|
|
|
|
|
|
"exec": "/home/krichtof/src/watson/waybar-watson.py"
|
|
|
|
|
|
|
2025-02-19 00:21:09 +01:00
|
|
|
|
}
|
|
|
|
|
|
}
|