diff --git a/.config/ansible/roles/arch/packages/tasks/modules/base.yml b/.config/ansible/roles/arch/packages/tasks/modules/base.yml
index 87f9a4af..c22322ca 100644
--- a/.config/ansible/roles/arch/packages/tasks/modules/base.yml
+++ b/.config/ansible/roles/arch/packages/tasks/modules/base.yml
@@ -28,6 +28,7 @@
- hypridle
- wev
- swaync
+ - waybar
- wl-clipboard
- xdg-desktop-portal-hyprland
- kitty
@@ -119,7 +120,6 @@
- floorp-bin
# WM
- - waybar-cava
- wleave-git
- swayosd-git
- swww
diff --git a/.config/pacman/arch-packages.txt b/.config/pacman/arch-packages.txt
index 876591ee..50fbe3f0 100644
--- a/.config/pacman/arch-packages.txt
+++ b/.config/pacman/arch-packages.txt
@@ -191,6 +191,7 @@ vivid 0.9.0-1
vkd3d 1.11-1
vulkan-radeon 1:24.0.7-3
w3m 0.5.3.git20230713_1-1
+waybar 0.10.3-1
wev 1.0.0-13
wget 1.24.5-2
which 2.21-6
diff --git a/.config/pacman/aur-packages.txt b/.config/pacman/aur-packages.txt
index 75af860c..4e18c4d4 100644
--- a/.config/pacman/aur-packages.txt
+++ b/.config/pacman/aur-packages.txt
@@ -61,7 +61,6 @@ vesktop-bin 1.5.2-2
vkbasalt 0.3.2.10-1
vscodium-bin 1.89.1.24130-1
vscodium-bin-marketplace 1.76.0-1
-waybar-cava 0.10.3-1
wl-clip-persist-git 0.4.0.r0.g5b1ba6f-1
wleave-git 0.3.0.r1.ga3d2fbb-1
xdg-ninja 0.2.0.2-1
diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc
index ad6d6cc8..50be0375 100644
--- a/.config/waybar/config.jsonc
+++ b/.config/waybar/config.jsonc
@@ -1,5 +1,6 @@
[
{
+ "include": "~/.config/waybar/modules/top-bar.jsonc",
"height": 50,
"layer": "top",
"output": "DP-1",
@@ -14,7 +15,7 @@
"modules-left": [
"custom/arch",
"hyprland/workspaces",
- "cava",
+ "custom/cava",
"custom/wf-recorder",
],
"modules-center": ["custom/music"],
@@ -26,185 +27,9 @@
"pulseaudio",
"custom/notifications",
],
- "custom/wf-recorder": {
- "format": "{}",
- "interval": "once",
- "exec": "echo ''",
- "tooltip": "false",
- "exec-if": "pgrep 'wf-recorder'",
- "on-click": "exec $HOME/.config/hypr/scripts/rofi/recording",
- "signal": 8,
- },
- "custom/updates": {
- "format": "{} {icon}",
- "return-type": "json",
- "format-icons": {
- "has-updates": "",
- "updated": "",
- },
- "exec-if": "which waybar-module-pacman-updates",
- "exec": "waybar-module-pacman-updates",
- "on-click": "pypr toggle topgrade-system",
- "on-click-right": "pypr toggle topgrade-all",
- },
- "custom/arch": {
- "format": " ",
- "tooltip": false,
- "on-click": "sleep 0.1 && rofi -show drun",
- "on-click-right": "wleave",
- },
- "custom/weather": {
- "exec": "wttrbar --location Alicante",
- "restart-interval": 300,
- "tooltip": true,
- "format": "{}°",
- "return-type": "json",
- "on-click": "kitty --hold --class center-float wttr Alicante",
- "on-click-right": "kitty --hold --class center-float wttr -v2 Alicante",
- "on-click-middle": "xdg-open https://wttr.in/alicante",
- },
- "custom/notifications": {
- "tooltip": false,
- "format": "{} {icon}",
- "format-icons": {
- "notification": "",
- "none": "",
- "dnd-notification": "",
- "dnd-none": "",
- "inhibited-notification": "",
- "inhibited-none": "",
- "dnd-inhibited-notification": "",
- "dnd-inhibited-none": "",
- },
- "return-type": "json",
- "exec-if": "which swaync-client",
- "exec": "swaync-client -swb",
- "on-click": "sleep 0.1 && swaync-client -t -sw",
- "on-click-right": "swaync-client -d -sw",
- "escape": true,
- },
- "hyprland/workspaces": {
- "disable-scroll": true,
- "all-outputs": false,
- "enable-bar-scroll": true,
- "format": "{icon}",
- "format-icons": {
- "1": "",
- "2": "",
- "3": "",
- "4": "",
- "5": "🎜",
- "6": "",
- "7": "",
- "8": "",
- "9": "",
- },
- "on-scroll-up": "hyprctl dispatch workspace r-1",
- "on-scroll-down": "hyprctl dispatch workspace r+1",
- "on-click": "activate",
- "sort-by-number": true,
- },
- "hyprland/language": {
- "format": "{}",
- "format-en": " US",
- "format-es": " ES",
- "on-click": "hyprctl switchxkblayout evision-usb-device next",
- },
- "clock": {
- "tooltip-format": "{calendar}",
- "calendar": {
- "mode": "month",
- "mode-mon-col": 3,
- "weeks-pos": "right",
- "on-scroll": 1,
- "on-click-right": "mode",
- "format": {
- "months": "{}",
- "days": "{}",
- "weeks": "W{}",
- "weekdays": "{}",
- "today": "{}",
- },
- },
- "interval": 1,
- "format": "{:%H:%M:%OS} ",
- "format-alt": "{:%A, %B %d, %Y} ",
- "actions": {
- "on-click-right": "mode",
- "on-click-forward": "tz_up",
- "on-click-backward": "tz_down",
- "on-scroll-up": "shift_up",
- "on-scroll-down": "shift_down",
- },
- "on-click-middle": "thunderbird -calendar && hyprctl dispatch workspace 23",
- },
- "pulseaudio": {
- "format": "{icon} {volume}% {format_source}",
- "format-bluetooth": "{icon} {volume}% {format_source}",
- "format-bluetooth-muted": " {volume}% {format_source}",
- "format-muted": " {format_source}",
- "format-source": " ",
- "format-source-muted": " ",
- "format-icons": {
- "headphone": " ",
- "hands-free": " ",
- "headset": " ",
- "phone": " ",
- "portable": " ",
- "car": " ",
- "default": [" ", " ", " "],
- },
- "tooltip-format": "{desc}, {volume}%",
- "on-click": "swayosd-client --output-volume mute-toggle",
- "on-click-right": "swayosd-client --input-volume mute-toggle",
- "on-click-middle": "pypr toggle volume",
- "on-scroll-up": "swayosd-client --output-volume +1",
- "on-scroll-down": "swayosd-client --output-volume -1",
- },
- "cava": {
- "autosens": 1,
- "bar_delimiter": 0,
- "bars": 18,
- "format-icons": [
- "▁",
- "▂",
- "▃",
- "▄",
- "▅",
- "▆",
- "▇",
- "█",
- ],
- "framerate": 75,
- "higher_cutoff_freq": 10000,
- "input_delay": 5,
- "lower_cutoff_freq": 50,
- "method": "pipewire",
- "monstercat": false,
- "reverse": false,
- "source": "auto",
- "stereo": true,
- "waves": false,
- "on-click": "pypr toggle cava",
- "on-click-right": "qpwgraph",
- "on-click-middle": "easyeffects",
- },
- "custom/music": {
- "format": "{icon} {}",
- "return-type": "json",
- "max-length": 100,
- "format-icons": {
- "spotify": " ",
- "default": " ",
- },
- "escape": true,
- "exec": "$HOME/.config/waybar/scripts/mediaplayer.py 2> /dev/null",
- "on-click": "playerctl --player=spotify play-pause",
- "on-scroll-up": "playerctl --player=spotify next",
- "on-scroll-down": "playerctl --player=spotify previous",
- },
},
{
+ "include": "~/.config/waybar/modules/bottom-bar.jsonc",
"height": 50,
"position": "bottom",
"layer": "top",
@@ -226,105 +51,9 @@
"temperature#gpu",
"custom/notifications",
],
- "hyprland/window": {
- "format": "{}",
- "max-length": 80,
- "rewrite": {
- "(.*) — LibreWolf": " $1",
- "(.*) - Discord": " $1",
- "(.*) - fish": "> [$1]",
- },
- "separate-outputs": false,
- },
- "custom/arch": {
- "format": " ",
- "tooltip": false,
- "on-click": "sleep 0.1 && rofi -show drun",
- "on-click-right": "wleave",
- },
- "custom/notifications": {
- "tooltip": false,
- "format": "{} {icon}",
- "format-icons": {
- "notification": "",
- "none": "",
- "dnd-notification": "",
- "dnd-none": "",
- "inhibited-notification": "",
- "inhibited-none": "",
- "dnd-inhibited-notification": "",
- "dnd-inhibited-none": "",
- },
- "return-type": "json",
- "exec-if": "which swaync-client",
- "exec": "swaync-client -swb",
- "on-click": "sleep 0.1 && swaync-client -t -sw",
- "on-click-right": "swaync-client -d -sw",
- "escape": true,
- },
- "hyprland/workspaces": {
- "disable-scroll": true,
- "active-only": false,
- "all-outputs": false,
- "enable-bar-scroll": true,
- "format": "{icon}",
- "format-icons": {
- "10": "",
- "11": "",
- "12": "",
- "13": "",
- "14": "🎜",
- "15": "",
- "16": "",
- "17": "",
- "18": "",
- },
- "on-scroll-up": "hyprctl dispatch workspace r-1",
- "on-scroll-down": "hyprctl dispatch workspace r+1",
- "on-click": "activate",
- "sort-by-number": true,
- },
- "cpu": {
- "on-click": "kitty --class center-float-large btop",
- "format": "CPU: {usage}%",
- "tooltip": false,
- "interval": 2,
- },
- "custom/gpu-usage": {
- "exec": "cat /sys/class/hwmon/hwmon1/device/gpu_busy_percent",
- "on-click": "kitty --class center-float-large nvtop",
- "format": "GPU: {}%",
- "return-type": "",
- "interval": 2,
- },
- "memory": {
- "format": "{}% ",
- "on-click": "kitty --class center-float-large btop",
- "tooltip": true,
- "interval": 2,
- },
- "temperature#cpu": {
- "critical-threshold": 90,
- "on-click": "kitty --class center-float-large btop",
- "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
- "format-critical": "{icon} {temperatureC}°C",
- "format": "{icon} {temperatureC}°C",
- "format-icons": ["", "", ""],
- "tooltip": true,
- "interval": 2,
- },
- "temperature#gpu": {
- "critical-threshold": 80,
- "on-click": "kitty --class center-float-large nvtop",
- "hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input",
- "format-critical": "{icon} {temperatureC}°C",
- "format": "{icon} {temperatureC}°C",
- "format-icons": ["", "", ""],
- "tooltip": true,
- "interval": 2,
- },
},
{
+ "include": "~/.config/waybar/modules/top-bar-2.jsonc",
"height": 50,
"layer": "top",
"output": "HDMI-A-1",
@@ -339,81 +68,5 @@
"modules-left": ["custom/arch", "hyprland/workspaces"],
"modules-center": ["clock#cl2"],
"modules-right": ["tray", "custom/notifications"],
- "custom/arch": {
- "format": " ",
- "tooltip": false,
- "on-click": "sleep 0.1 && rofi -show drun",
- "on-click-right": "wleave",
- },
- "custom/notifications": {
- "tooltip": false,
- "format": "{} {icon}",
- "format-icons": {
- "notification": "",
- "none": "",
- "dnd-notification": "",
- "dnd-none": "",
- "inhibited-notification": "",
- "inhibited-none": "",
- "dnd-inhibited-notification": "",
- "dnd-inhibited-none": "",
- },
- "return-type": "json",
- "exec-if": "which swaync-client",
- "exec": "swaync-client -swb",
- "on-click": "sleep 0.1 && swaync-client -t -sw",
- "on-click-right": "swaync-client -d -sw",
- "escape": true,
- },
- "hyprland/workspaces": {
- "disable-scroll": true,
- "all-outputs": false,
- "enable-bar-scroll": true,
- "format": "{icon}",
- "format-icons": {
- "19": "",
- "20": "",
- "21": "✉",
- "22": "🖵",
- "23": "",
- "24": "",
- "25": "",
- "26": "",
- "27": "",
- },
- "on-scroll-up": "hyprctl dispatch workspace r-1",
- "on-scroll-down": "hyprctl dispatch workspace r+1",
- "on-click": "activate",
- "sort-by-number": true,
- },
- "tray": {
- "spacing": 10,
- },
- "clock#cl2": {
- "tooltip-format": "{calendar}",
- "calendar": {
- "mode": "year",
- "mode-mon-col": 3,
- "weeks-pos": "right",
- "on-scroll": 1,
- "on-click-right": "mode",
- "format": {
- "months": "{}",
- "days": "{}",
- "weeks": "W{}",
- "weekdays": "{}",
- "today": "{}",
- },
- },
- "format": "{:%H:%M - %A, %B %d, %Y }",
- "actions": {
- "on-click-right": "mode",
- "on-click-forward": "tz_up",
- "on-click-backward": "tz_down",
- "on-scroll-up": "shift_up",
- "on-scroll-down": "shift_down",
- },
- "on-click-middle": "thunderbird -calendar && hyprctl dispatch workspace 23",
- },
},
]
diff --git a/.config/waybar/modules/bottom-bar.jsonc b/.config/waybar/modules/bottom-bar.jsonc
new file mode 100644
index 00000000..7680a7bc
--- /dev/null
+++ b/.config/waybar/modules/bottom-bar.jsonc
@@ -0,0 +1,99 @@
+{
+ "hyprland/window": {
+ "format": "{}",
+ "max-length": 80,
+ "rewrite": {
+ "(.*) — LibreWolf": " $1",
+ "(.*) - Discord": " $1",
+ "(.*) - fish": "> [$1]",
+ },
+ "separate-outputs": false,
+ },
+ "custom/arch": {
+ "format": " ",
+ "tooltip": false,
+ "on-click": "sleep 0.1 && rofi -show drun",
+ "on-click-right": "wleave",
+ },
+ "custom/notifications": {
+ "tooltip": false,
+ "format": "{} {icon}",
+ "format-icons": {
+ "notification": "",
+ "none": "",
+ "dnd-notification": "",
+ "dnd-none": "",
+ "inhibited-notification": "",
+ "inhibited-none": "",
+ "dnd-inhibited-notification": "",
+ "dnd-inhibited-none": "",
+ },
+ "return-type": "json",
+ "exec-if": "which swaync-client",
+ "exec": "swaync-client -swb",
+ "on-click": "sleep 0.1 && swaync-client -t -sw",
+ "on-click-right": "swaync-client -d -sw",
+ "escape": true,
+ },
+ "hyprland/workspaces": {
+ "disable-scroll": true,
+ "active-only": false,
+ "all-outputs": false,
+ "enable-bar-scroll": true,
+ "format": "{icon}",
+ "format-icons": {
+ "10": "",
+ "11": "",
+ "12": "",
+ "13": "",
+ "14": "🎜",
+ "15": "",
+ "16": "",
+ "17": "",
+ "18": "",
+ },
+ "on-scroll-up": "hyprctl dispatch workspace r-1",
+ "on-scroll-down": "hyprctl dispatch workspace r+1",
+ "on-click": "activate",
+ "sort-by-number": true,
+ },
+ "cpu": {
+ "on-click": "kitty --class center-float-large btop",
+ "format": "CPU: {usage}%",
+ "tooltip": false,
+ "interval": 2,
+ },
+ "custom/gpu-usage": {
+ "exec": "cat /sys/class/hwmon/hwmon1/device/gpu_busy_percent",
+ "on-click": "kitty --class center-float-large nvtop",
+ "format": "GPU: {}%",
+ "return-type": "",
+ "interval": 2,
+ },
+ "memory": {
+ "format": "{}% ",
+ "on-click": "kitty --class center-float-large btop",
+ "tooltip": true,
+ "interval": 2,
+ },
+ "temperature#cpu": {
+ "critical-threshold": 90,
+ "on-click": "kitty --class center-float-large btop",
+ "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
+ "format-critical": "{icon} {temperatureC}°C",
+ "format": "{icon} {temperatureC}°C",
+ "format-icons": ["", "", ""],
+ "tooltip": true,
+ "interval": 2,
+ },
+ "temperature#gpu": {
+ "critical-threshold": 80,
+ "on-click": "kitty --class center-float-large nvtop",
+ "hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input",
+ "format-critical": "{icon} {temperatureC}°C",
+ "format": "{icon} {temperatureC}°C",
+ "format-icons": ["", "", ""],
+ "tooltip": true,
+ "interval": 2,
+ },
+}
diff --git a/.config/waybar/modules/top-bar-2.jsonc b/.config/waybar/modules/top-bar-2.jsonc
new file mode 100644
index 00000000..69c9be66
--- /dev/null
+++ b/.config/waybar/modules/top-bar-2.jsonc
@@ -0,0 +1,78 @@
+{
+ "custom/arch": {
+ "format": " ",
+ "tooltip": false,
+ "on-click": "sleep 0.1 && rofi -show drun",
+ "on-click-right": "wleave",
+ },
+ "custom/notifications": {
+ "tooltip": false,
+ "format": "{} {icon}",
+ "format-icons": {
+ "notification": "",
+ "none": "",
+ "dnd-notification": "",
+ "dnd-none": "",
+ "inhibited-notification": "",
+ "inhibited-none": "",
+ "dnd-inhibited-notification": "",
+ "dnd-inhibited-none": "",
+ },
+ "return-type": "json",
+ "exec-if": "which swaync-client",
+ "exec": "swaync-client -swb",
+ "on-click": "sleep 0.1 && swaync-client -t -sw",
+ "on-click-right": "swaync-client -d -sw",
+ "escape": true,
+ },
+ "hyprland/workspaces": {
+ "disable-scroll": true,
+ "all-outputs": false,
+ "enable-bar-scroll": true,
+ "format": "{icon}",
+ "format-icons": {
+ "19": "",
+ "20": "",
+ "21": "✉",
+ "22": "🖵",
+ "23": "",
+ "24": "",
+ "25": "",
+ "26": "",
+ "27": "",
+ },
+ "on-scroll-up": "hyprctl dispatch workspace r-1",
+ "on-scroll-down": "hyprctl dispatch workspace r+1",
+ "on-click": "activate",
+ "sort-by-number": true,
+ },
+ "tray": {
+ "spacing": 10,
+ },
+ "clock#cl2": {
+ "tooltip-format": "{calendar}",
+ "calendar": {
+ "mode": "year",
+ "mode-mon-col": 3,
+ "weeks-pos": "right",
+ "on-scroll": 1,
+ "on-click-right": "mode",
+ "format": {
+ "months": "{}",
+ "days": "{}",
+ "weeks": "W{}",
+ "weekdays": "{}",
+ "today": "{}",
+ },
+ },
+ "format": "{:%H:%M - %A, %B %d, %Y }",
+ "actions": {
+ "on-click-right": "mode",
+ "on-click-forward": "tz_up",
+ "on-click-backward": "tz_down",
+ "on-scroll-up": "shift_up",
+ "on-scroll-down": "shift_down",
+ },
+ "on-click-middle": "thunderbird -calendar && hyprctl dispatch workspace 23",
+ },
+}
diff --git a/.config/waybar/modules/top-bar.jsonc b/.config/waybar/modules/top-bar.jsonc
new file mode 100644
index 00000000..1a895319
--- /dev/null
+++ b/.config/waybar/modules/top-bar.jsonc
@@ -0,0 +1,183 @@
+{
+ "custom/cava": {
+ "exec": "~/.config/waybar/scripts/cava.sh",
+ "format": "{}",
+ "on-click": "pypr toggle cava",
+ "on-click-right": "qpwgraph",
+ "on-click-middle": "easyeffects",
+ },
+ "custom/wf-recorder": {
+ "format": "{}",
+ "interval": "once",
+ "exec": "echo ''",
+ "tooltip": "false",
+ "exec-if": "pgrep 'wf-recorder'",
+ "on-click": "exec $HOME/.config/hypr/scripts/rofi/recording",
+ "signal": 8,
+ },
+ "custom/updates": {
+ "format": "{} {icon}",
+ "return-type": "json",
+ "format-icons": {
+ "has-updates": "",
+ "updated": "",
+ },
+ "exec-if": "which waybar-module-pacman-updates",
+ "exec": "waybar-module-pacman-updates",
+ "on-click": "pypr toggle topgrade-system",
+ "on-click-right": "pypr toggle topgrade-all",
+ },
+ "custom/arch": {
+ "format": " ",
+ "tooltip": false,
+ "on-click": "sleep 0.1 && rofi -show drun",
+ "on-click-right": "wleave",
+ },
+ "custom/weather": {
+ "exec": "wttrbar --location Alicante",
+ "restart-interval": 300,
+ "tooltip": true,
+ "format": "{}°",
+ "return-type": "json",
+ "on-click": "kitty --hold --class center-float wttr Alicante",
+ "on-click-right": "kitty --hold --class center-float wttr -v2 Alicante",
+ "on-click-middle": "xdg-open https://wttr.in/alicante",
+ },
+ "custom/notifications": {
+ "tooltip": false,
+ "format": "{} {icon}",
+ "format-icons": {
+ "notification": "",
+ "none": "",
+ "dnd-notification": "",
+ "dnd-none": "",
+ "inhibited-notification": "",
+ "inhibited-none": "",
+ "dnd-inhibited-notification": "",
+ "dnd-inhibited-none": "",
+ },
+ "return-type": "json",
+ "exec-if": "which swaync-client",
+ "exec": "swaync-client -swb",
+ "on-click": "sleep 0.1 && swaync-client -t -sw",
+ "on-click-right": "swaync-client -d -sw",
+ "escape": true,
+ },
+ "hyprland/workspaces": {
+ "disable-scroll": true,
+ "all-outputs": false,
+ "enable-bar-scroll": true,
+ "format": "{icon}",
+ "format-icons": {
+ "1": "",
+ "2": "",
+ "3": "",
+ "4": "",
+ "5": "🎜",
+ "6": "",
+ "7": "",
+ "8": "",
+ "9": "",
+ },
+ "on-scroll-up": "hyprctl dispatch workspace r-1",
+ "on-scroll-down": "hyprctl dispatch workspace r+1",
+ "on-click": "activate",
+ "sort-by-number": true,
+ },
+ "hyprland/language": {
+ "format": "{}",
+ "format-en": " US",
+ "format-es": " ES",
+ "on-click": "hyprctl switchxkblayout evision-usb-device next",
+ },
+ "clock": {
+ "tooltip-format": "{calendar}",
+ "calendar": {
+ "mode": "month",
+ "mode-mon-col": 3,
+ "weeks-pos": "right",
+ "on-scroll": 1,
+ "on-click-right": "mode",
+ "format": {
+ "months": "{}",
+ "days": "{}",
+ "weeks": "W{}",
+ "weekdays": "{}",
+ "today": "{}",
+ },
+ },
+ "interval": 1,
+ "format": "{:%H:%M:%OS} ",
+ "format-alt": "{:%A, %B %d, %Y} ",
+ "actions": {
+ "on-click-right": "mode",
+ "on-click-forward": "tz_up",
+ "on-click-backward": "tz_down",
+ "on-scroll-up": "shift_up",
+ "on-scroll-down": "shift_down",
+ },
+ "on-click-middle": "thunderbird -calendar && hyprctl dispatch workspace 23",
+ },
+ "pulseaudio": {
+ "format": "{icon} {volume}% {format_source}",
+ "format-bluetooth": "{icon} {volume}% {format_source}",
+ "format-bluetooth-muted": " {volume}% {format_source}",
+ "format-muted": " {format_source}",
+ "format-source": " ",
+ "format-source-muted": " ",
+ "format-icons": {
+ "headphone": " ",
+ "hands-free": " ",
+ "headset": " ",
+ "phone": " ",
+ "portable": " ",
+ "car": " ",
+ "default": [" ", " ", " "],
+ },
+ "tooltip-format": "{desc}, {volume}%",
+ "on-click": "swayosd-client --output-volume mute-toggle",
+ "on-click-right": "swayosd-client --input-volume mute-toggle",
+ "on-click-middle": "pypr toggle volume",
+ "on-scroll-up": "swayosd-client --output-volume +1",
+ "on-scroll-down": "swayosd-client --output-volume -1",
+ },
+ "cava": {
+ "autosens": 1,
+ "bar_delimiter": 0,
+ "bars": 18,
+ "format-icons": [
+ "▁",
+ "▂",
+ "▃",
+ "▄",
+ "▅",
+ "▆",
+ "▇",
+ "█",
+ ],
+ "framerate": 75,
+ "higher_cutoff_freq": 10000,
+ "input_delay": 5,
+ "lower_cutoff_freq": 50,
+ "method": "pipewire",
+ "monstercat": false,
+ "reverse": false,
+ "source": "auto",
+ "stereo": true,
+ "waves": false,
+ },
+ "custom/music": {
+ "format": "{icon} {}",
+ "return-type": "json",
+ "max-length": 100,
+ "format-icons": {
+ "spotify": " ",
+ "default": " ",
+ },
+ "escape": true,
+ "exec": "$HOME/.config/waybar/scripts/mediaplayer.py 2> /dev/null",
+ "on-click": "playerctl --player=spotify play-pause",
+ "on-scroll-up": "playerctl --player=spotify next",
+ "on-scroll-down": "playerctl --player=spotify previous",
+ },
+}
diff --git a/.config/waybar/scripts/cava.sh b/.config/waybar/scripts/cava.sh
new file mode 100755
index 00000000..ed737338
--- /dev/null
+++ b/.config/waybar/scripts/cava.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+bar="▁▂▃▄▅▆▇█"
+dict="s/;//g"
+
+bar_length=${#bar}
+
+for ((i = 0; i < bar_length; i++)); do
+ dict+=";s/$i/${bar:$i:1}/g"
+done
+
+config_file="/tmp/bar_cava_config"
+cat >"$config_file" <