// This is not a valid Waybar config file. It is a template designed to work with:
// https://git.john.me.tz/jpm/scripts/src/branch/master/sway/displays.pl
// You can make changes to the bar, but leave the '__' variables intact.
// The script will build a config with these settings for each enabled display.
// The '__' variables are defined in the hash in that script file.
[{
"name": "window",
"output": __OUTPUT__,
"ipc": true,
"id": "bar-1",
"width": 1000,
"mode": "hide",
"hidden_state": "hide",
"layer": "top", // Waybar at top layer
"position": "top", // Waybar position (top|bottom|left|right)
"margin-left": 75,
"margin-right": 75,
"margin-top": 68,
"modules-left": [],
"modules-center": ["sway/mode", "sway/window"],
"modules-right": [],
"sway/mode": {
"format": "{}"
},
},
{
"name": "bar",
"output": __OUTPUT__,
"ipc": true,
"id": "bar-1",
"mode": "hide",
"hidden_state": "hide",
"layer": "top", // Waybar at top layer
"position": "top", // Waybar position (top|bottom|left|right)
"margin-left": 20,
"margin-right": 20,
"margin-top": 20,
// Choose the order of the modules
"modules-left": ["sway/workspaces"],
"modules-center": [],
"modules-right": ["custom/weather", "network", "network#wireguard", "cpu", "memory", "custom/disk", "temperature", "backlight", "custom/battery", "pulseaudio","tray", "custom/wallpaper", "custom/todo", "custom/osk", "custom/pkg", "custom/bar", "custom/gammastep", "idle_inhibitor", "custom/clock", "custom/power"],
// Modules configuration
"sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
"format": "{icon}",
"numeric-first": true,
"format-icons": {
"0": "0 \uf073",
"1": "1 \uf27a",
"2": "2 \uf0e0",
"3": "3 \uf268",
"4": "4 \uf144",
"5": "5 \uf095",
"6": "6 \uf120",
"7": "7 \uf269",
"8": "8 \uf121",
"9": "9 \uf126",
"C0": "C0",
"C1": "C1",
"C2": "C2",
"C3": "C3",
"C4": "C4",
"C5": "C5",
"C6": "C6",
"C7": "C7",
"C8": "C8",
"C9": "C9",
"grave": "",
"urgent": "!",
"focused": "",
"default": ""
}
},
//"mpd": {
//"server": "10.10.0.66",
//"port": 6600,
//"interval": 10,
//"timeout": 30,
//"unknown-tag": "⚠",
//"format": "▶️ {title}",
//"format-paused": "⏸️ {title}",
//"format-stopped": "⏹️ mpd",
//"format-disconnected": "⚠ mpd",
//"on-click": "${HOME}/scripts/waybar/waybar-mpd.sh"
//},
"custom/weather": {
"interval": 600,
"tooltip-format": "{:%d %B}\n{calendar}",
"on-click": "${HOME}/scripts/waybar/waybar-weather.pl notify",
"exec": "${HOME}/scripts/waybar/waybar-weather.pl bar"
},
"network": {
// "interface": "wlp58s0", // (Optional) To force the use of this interface
"interval": 10,
"tooltip-format": "{essid} {ipaddr}",
"format-ethernet": "",
"format-wifi": "",
"format-disconnected": "⛖",
"on-click": "${HOME}/scripts/waybar/waybar-nm.sh"
//"on-click": "if [ $(sudo pgrep -c nmtui) -gt 0 ]; then sudo pkill nmtui; else /usr/bin/xterm -e 'sudo /usr/bin/nmtui'; fi"
},
"network#wireguard": {
"interval": 10,
"interface": "wg0", // (Optional) To force the use of this interface
"tooltip-format": "{ifname} {ipaddr}",
"tooltip": "{ipaddr}",
"format": "⚿",
"format-disconnected": "⚿",
"on-click": "if [ $(sudo pgrep -xc rofi) -gt 0 ]; then pkill rofi; else ${HOME}/scripts/rofi/rofi-openvpn.sh; fi"
},
"cpu": {
"format": "\u200a{usage}%",
"tooltip": true,
"on-click": "${HOME}/scripts/waybar/waybar-cpu.sh"
},
"memory": {
"format": "\u200a{}%",
"on-click": "${HOME}/scripts/waybar/waybar-mem.sh"
},
"custom/disk": {
"format": "\uf0a0\u200a{}",
"exec": "df / | tail -n 1 | awk {'print $5'}",
"on-click": "${HOME}/scripts/waybar/waybar-disk.sh"
},
"temperature": {
"critical-threshold": 80,
"format": "\u200a{temperatureC}°C"
},
"backlight": {
// "device": "acpi_video1",
"format": "{icon}\u200a{percent}%",
"format-icons": [ "•", "☼", "o", "", ""],
"on-click": "${HOME}/scripts/thinkpad/blc.pl --notify %",
"on-scroll-up": "${HOME}/scripts/thinkpad/blc.pl --notify ++",
"on-scroll-down": "${HOME}/scripts/thinkpad/blc.pl --notify --"
},
"custom/battery": {
"format": "{}",
"return-type": "json",
"exec": "${HOME}/scripts/thinkpad/pow.pl --bar",
"interval": 5,
"on-click": "notify-send Power \"`${HOME}/scripts/thinkpad/pow.pl -p`\""
},
"pulseaudio": {
//"scroll-step": 1,
"format": "{icon}\u200a{volume}%",
"format-bluetooth": "{icon}{volume}%",
"format-muted": "",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "${HOME}/scripts/waybar/waybar-audio.sh"
},
"tray": {
"icon-size": 24,
"spacing": 0
},
"custom/wallpaper": {
"interval": 86400,
"exec": "echo '🌌\nRotate wallpaper\nactive'",
"on-click": "${HOME}/scripts/sway/rotate-wallpaper.sh"
},
"custom/todo": {
"interval": 86400,
"exec": "echo '\u200a🗈\nTo-do list\n'",
"on-click": "${HOME}/scripts/waybar/waybar-todo.sh",
},
"custom/osk": {
"interval": 1,
"on-click": "${HOME}/scripts/waybar/waybar-keyboard.sh",
"exec": "if [ -e $HOME/.spool/onscreen-keyboard ]; then CLASS='activated'; else CLASS=''; fi; echo '⌨\nToggle onscreen keyboard\n'$CLASS",
},
"custom/pkg": {
"interval": 60,
"tooltip-format": "{:%d %B}\n{calendar}",
"on-click": "${HOME}/scripts/waybar/waybar-pkg.sh upgrade",
"return-type": "json",
"exec": "${HOME}/scripts/waybar/waybar-pkg.sh bar"
},
"custom/bar": {
"interval": 86400,
"exec": "echo '\u200a\nLock bar\n'",
"on-click": "${HOME}/scripts/waybar/toggle.sh"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
},
"on-click": "echo {status} > .config/idle_inhibitor"
},
"custom/gammastep": {
"interval": 1,
"return-type": "json",
"exec": "${HOME}/scripts/waybar/waybar-gammastep.sh",
"on-click": "${HOME}/scripts/waybar/waybar-gammastep.sh toggle"
},
"custom/clock": {
"interval": 60,
"on-click": "${HOME}/.local/bin/firefox/firefox-bin https://papillon.john.me.tz/calendar.php",
"return-type": "json",
"exec": "echo '{\"class\": \"clock\", \"text\": \"'$(date '+%H:%M')'\", \"tooltip\": \"'$(date '+%A, %B %d, %Y | %Y-%m-%d')'\"}'"
},
"custom/power": {
"format": "\u23FB",
"on-click": "if [ $(sudo pgrep -xc wofi) -gt 0 ]; then pkill rofi; else ${HOME}/scripts/sway/power-menu.sh; fi"
},
}]