Files
.dotfiles/waybar/config.jsonc

180 lines
4.7 KiB
JSON

[
{
"layer": "top",
"position": "top",
"height": 30,
"spacing": 1,
"margin": 0,
"modules-left": [
"sway/workspaces",
"sway/mode"
],
"modules-center": [
"custom/ssh",
"custom/notification",
"systemd-failed-units"
],
"modules-right": [
"mpris",
"custom/vpn",
"cpu",
"memory",
"battery",
"wireplumber",
"custom/mic",
"backlight",
"sway/language",
"bluetooth",
"network",
"clock"
],
"sway/workspaces": {
"disable-scroll": true,
"format": "{name}"
},
"sway/mode": {
"format": "{}"
},
"sway/language": {
"format": "{short}",
"on-click": "swaymsg input type:keyboard xkb_switch_layout next",
"on-click-right": "~/.config/eww/scripts/popup.sh keyboard-popup"
},
"custom/ssh": {
"format": "{}",
"return-type": "json",
"interval": 15,
"exec": "~/.config/waybar/scripts/ssh-session.sh",
"on-click": "~/.config/waybar/scripts/ssh-session.sh disconnect"
},
"custom/notification": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/notification-status.sh",
"on-click": "sleep 0.1 && swaync-client -t -sw",
"on-click-right": "sleep 0.1 && swaync-client -d -sw",
"escape": true
},
"systemd-failed-units": {
"hide-on-ok": true,
"format": "!{nr_failed}",
"format-ok": "",
"system": true,
"user": true,
"on-click": "ghostty -e sh -c 'systemctl --failed; systemctl --user --failed; read'"
},
// right: media
"mpris": {
"format": "{artist} - {title}",
"format-paused": "{artist} - {title} [paused]",
"format-stopped": "",
"max-length": 35,
"tooltip-format": "{player}: {artist} - {title} ({album})",
"on-click": "playerctl play-pause",
"on-click-right": "~/.config/eww/scripts/popup.sh media-popup",
"on-scroll-up": "playerctl next",
"on-scroll-down": "playerctl previous"
},
// right: connectivity
"network": {
"interval": 5,
"format-ethernet": "󰈀 {ipaddr}",
"format-wifi": "󰖩 {ipaddr}",
"format-linked": "󰈀 (no ip)",
"format-disconnected": "󰖪",
"tooltip-format": "{ifname} {ipaddr}/{cidr}\n{gwaddr}\n{bandwidthUpBits}up {bandwidthDownBits}down",
"on-click-right": "~/.config/eww/scripts/popup.sh network-popup"
},
"bluetooth": {
"format": "󰂯",
"format-connected": "󰂯 {num_connections}",
"format-connected-battery": "󰂯 {num_connections}",
"tooltip-format-connected": "{device_enumerate}",
"on-click-right": "~/.config/eww/scripts/popup.sh bluetooth-popup"
},
"custom/vpn": {
"format": "{}",
"return-type": "json",
"interval": 10,
"exec": "~/.config/waybar/scripts/vpn-status.sh",
"on-click-right": "~/.config/eww/scripts/popup.sh vpn-popup"
},
"cpu": {
"format": "󰻠 {usage}%",
"tooltip": false,
"on-click-right": "~/.config/eww/scripts/popup.sh system-popup"
},
"memory": {
"interval": 10,
"format": "󰍛 {percentage}%",
"tooltip-format": "total: {total:0.2f}GiB\nused: {used:0.2f}GiB\navailable: {avail:0.2f}GiB\nswap: {swapUsed:0.2f}/{swapTotal:0.2f}GiB",
"on-click-right": "~/.config/eww/scripts/popup.sh system-popup"
},
// right: battery
"battery": {
"states": {
"warning": 30,
"critical": 15
},
"format": "󰁹 {capacity}%",
"format-charging": "󰂄 {capacity}%",
"format-plugged": "󰚥 {capacity}%",
"format-full": "󰁹 full",
"format-alt": "{time}",
"tooltip-format": "{timeTo}\n{power}W",
"on-click": "p=$(powerprofilesctl get); case $p in power-saver) n=balanced;; balanced) n=performance;; *) n=power-saver;; esac; powerprofilesctl set $n",
"on-click-right": "~/.config/eww/scripts/popup.sh battery-popup"
},
// right: audio
"wireplumber": {
"format": "󰕾 {volume}%",
"format-muted": "󰖁 muted",
"on-click": "pamixer -t",
"on-click-right": "~/.config/eww/scripts/popup.sh volume-popup",
"on-scroll-up": "pamixer -i 5",
"on-scroll-down": "pamixer -d 5",
"tooltip-format": "{node_name}: {volume}%"
},
"custom/mic": {
"format": "{}",
"return-type": "json",
"interval": 2,
"exec": "~/.config/waybar/scripts/mic-status.sh",
"on-click": "pamixer --default-source -t",
"on-click-right": "~/.config/eww/scripts/popup.sh volume-popup",
"on-scroll-up": "pamixer --default-source -i 5",
"on-scroll-down": "pamixer --default-source -d 5"
},
"backlight": {
"format": "󰃟 {percent}%",
"tooltip": false,
"on-click-right": "~/.config/eww/scripts/popup.sh volume-popup"
},
// right: clock
"clock": {
"interval": 1,
"format": "{:%d/%m %H:%M:%S}",
"tooltip-format": "<big><tt>{calendar}</tt></big>"
}
}
]