.dotfiles/waybar/config.template

212 lines
8.1 KiB
Plaintext

// 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": "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", "sway/window"],
"modules-center": [],
//"modules-right": ["sway/mode", "custom/weather", "network", "network#wireguard", "backlight", "cpu", "memory", "custom/disk", "temperature", "custom/battery", "pulseaudio","tray", "custom/wallpaper", "custom/todo", "custom/osk", "custom/pkg", "custom/bar", "custom/gammastep", "idle_inhibitor", "custom/sleep_modes", "custom/clock", "custom/power"],
"modules-right": ["sway/mode", "custom/weather", "backlight", "cpu", "memory", "custom/disk", "temperature", "custom/battery", "pulseaudio", "network#wireguard", "tray", "custom/wallpaper", "custom/todo", "custom/osk", "custom/pkg", "custom/bar", "custom/gammastep", "idle_inhibitor", "custom/sleep_modes", "custom/clock", "custom/power"],
// Modules configuration
"sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
"format": "{icon}",
"numeric-first": true,
"format-icons": {
"0": "0 \uf073", // HUD
"1": "1 \uf27a", // Chat
"2": "2 \uf0e0", // Mail
"3": "3 \uf268", // Secondary Browser
"4": "4 \uf126", // Git
"5": "5 \uf095", // TBD
"6": "6 \uf120", // Terminals
"7": "7 \uf269", // Browser
"8": "8 \uf121", // IDE
"9": "9 \uf144", // Music
"C0": "C0",
"C1": "C1",
"C2": "C2",
"C3": "C3",
"C4": "C4",
"C5": "C5",
"C6": "C6",
"C7": "C7",
"C8": "C8",
"C9": "C9",
//"default": "",
//"urgent": "!",
//"focused": "",
"grave": ""
}
},
//"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,
"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/rofi/rofi-wifi-menu.sh"
},
"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": " {usage}%",
"tooltip": true,
"on-click": "${HOME}/scripts/waybar/waybar-cpu.sh"
},
"memory": {
"format": " {}%",
"on-click": "${HOME}/scripts/waybar/waybar-mem.sh"
},
"custom/disk": {
"format": "\uf0a0 {}",
"exec": "df / | tail -n 1 | awk {'print $5'}",
"on-click": "${HOME}/scripts/waybar/waybar-disk.sh"
},
"temperature": {
"critical-threshold": 80,
"format": "{temperatureC}°C"
},
"backlight": {
"device": "acpi_video1",
"format": "{icon} {percent}%",
"format-icons": [ "" ],
"on-click": "notify-send $(brightnessctl info)",
"on-scroll-up": "${HOME}/scripts/waybar/waybar-backlight.sh up",
"on-scroll-down": "${HOME}/scripts/waybar/waybar-backlight.sh down"
},
//"backlight": {
//"device": "acpi_video1",
//"format": "{icon} {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/waybar/waybar-battery.sh bar",
"interval": 10,
"on-click": "${HOME}/scripts/waybar/waybar-battery.sh notify"
},
"pulseaudio": {
"scroll-step": 1,
"format": "{icon} {volume}%",
"format-bluetooth": "{icon}{volume}%",
"format-muted": "",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-scroll-up": "${HOME}/scripts/waybar/waybar-volume.sh up",
"on-scroll-down": "${HOME}/scripts/waybar/waybar-volume.sh down",
"on-click": "${HOME}/scripts/waybar/waybar-volume.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 '☑\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/.local/state/onscreen-keyboard ]; then CLASS='activated'; else CLASS=''; fi; echo '⌨\nToggle onscreen keyboard\n'$CLASS",
},
"custom/pkg": {
"interval": 60,
"tooltip-format": "<span font='Anonymous Pro 12'><big>{:%d %B}</big>\n<tt><small>{calendar}</small></tt></span>",
"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} > ${HOME}/.local/state/idle_inhibitor"
},
"custom/sleep_modes": {
"interval": 1,
"return-type": "json",
"exec": "${HOME}/scripts/waybar/waybar-idle.sh bar",
"on-click": "${HOME}/scripts/waybar/waybar-idle.sh rotate"
},
"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 wofi; else ${HOME}/scripts/sway/power-menu.sh; fi"
},
}]