// =============================================================================
//
// Waybar configuration
//
// Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
//
// This configuration is based on: https://github.com/robertjk/dotfiles/
//
// =============================================================================
[
{
// -------------------------------------------------------------------------
// Global configuration
// -------------------------------------------------------------------------
"layer": "top",
"position": "top",
// If height property would be not present, it'd be calculated dynamically
"height": 30,
"modules-left": [
"sway/workspaces",
"sway/mode"
],
"modules-center": [
"custom/current-task",
"clock#date",
"clock#time",
"custom/notification"
],
"modules-right": [
"network",
"pulseaudio",
"backlight",
"disk",
"memory",
"cpu",
"temperature",
"custom/keyboard-layout",
"battery",
"tray",
"idle_inhibitor",
"custom/power-menu"
],
// -------------------------------------------------------------------------
// Modules
// -------------------------------------------------------------------------
"battery": {
"interval": 10,
"states": {
"warning": 30,
"critical": 15
},
// Connected to AC
"format": " {icon} {capacity}%", // Icon: bolt
// Not connected to AC
"format-discharging": "{icon} {capacity}%",
"format-icons": [
"", // Icon: battery-full
"", // Icon: battery-three-quarters
"", // Icon: battery-half
"", // Icon: battery-quarter
"" // Icon: battery-empty
],
"tooltip": true
},
"clock#time": {
"interval": 1,
"format": "{:%H:%M}",
"tooltip": true
},
"clock#date": {
"interval": 10,
"format": " {:%e %b %Y}", // Icon: calendar-alt
"tooltip-format": "{:%e %B %Y}",
"on-click": "gnome-calendar"
},
"cpu": {
"interval": 5,
"format": " {usage}% ({load})", // Icon: microchip
"states": {
"warning": 70,
"critical": 90
}
},
"custom/keyboard-layout": {
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
// Interval set only as a fallback, as the value is updated by signal
"interval": 30,
"format": " {}", // Icon: keyboard
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
"signal": 1, // SIGHUP
"tooltip": false
},
"disk": {
"interval": 30,
"format": " {percentage_used}%"
},
"memory": {
"interval": 5,
"format": " {}%", // Icon: memory
"states": {
"warning": 70,
"critical": 90
}
},
"network": {
"interval": 5,
"format-wifi": " {essid} ({signalStrength}%)", // Icon: wifi
"format-ethernet": " Connected", // Icon: ethernet
"format-disconnected": "⚠ Disconnected",
"tooltip-format": "{ifname}: {ipaddr}"
},
"sway/mode": {
"format": "{}", // Icon: expand-arrows-alt
"tooltip": false
},
"sway/workspaces": {
"all-outputs": false,
"disable-scroll": true,
"persistent-workspaces": {
"": []
},
"format": "{icon}{name}",
"format-icons": {
"urgent": "",
"focused": "",
"default": ""
}
},
"backlight": {
"device": "amdgpu_bl0",
"format": "{icon} {percent}%",
"format-icons": [
"",
""
],
"on-scroll-up": "brightnessctl set +1%",
"on-scroll-down": "brightnessctl set 1%-"
},
"pulseaudio": {
//"scroll-step": 1,
"format": "{icon} {volume}%",
"format-bluetooth": "{icon} {volume}%",
"format-muted": "",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": [
"",
""
]
},
"on-click": "pavucontrol"
},
"temperature": {
"critical-threshold": 80,
"interval": 5,
"format": "{icon} {temperatureC}°C",
"format-icons": [
"", // Icon: temperature-empty
"", // Icon: temperature-quarter
"", // Icon: temperature-half
"", // Icon: temperature-three-quarters
"" // Icon: temperature-full
],
"tooltip": true
},
"tray": {
"icon-size": 16,
"spacing": 5
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"custom/power-menu": {
"tooltip": false,
"format": "",
"on-click": "wlogout"
},
"custom/notification": {
"tooltip": false,
"format": "{icon}",
"format-icons": {
"notification": "",
"none": "",
"dnd-notification": "",
"dnd-none": ""
},
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"on-click": "swaync-client -t -sw",
"on-click-right": "swaync-client -d -sw",
"escape": true
},
"custom/current-task": {
"interval": 10,
"exec": "source ~/.profile && exec t waybar",
"on-click": "source ~/.profile && exec t toggle",
"exec-on-event": true,
"return-type": "json"
}
}
]