From 63dd089398fe0cd7a424760d11368df759dbae94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20La=C3=ADn?= Date: Sat, 18 May 2024 00:24:51 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor(waybar):=20use=20?= =?UTF-8?q?a=20cava=20local=20script=20instead=20of=20integrated=20module?= =?UTF-8?q?=20and=20move=20the=20configuration=20modules=20for=20each=20mo?= =?UTF-8?q?nitor=20into=20their=20own=20config=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../arch/packages/tasks/modules/base.yml | 2 +- .config/pacman/arch-packages.txt | 1 + .config/pacman/aur-packages.txt | 1 - .config/waybar/config.jsonc | 355 +----------------- .config/waybar/modules/bottom-bar.jsonc | 99 +++++ .config/waybar/modules/top-bar-2.jsonc | 78 ++++ .config/waybar/modules/top-bar.jsonc | 183 +++++++++ .config/waybar/scripts/cava.sh | 42 +++ .config/waybar/style.css | 6 + .github/README.md | 2 +- 10 files changed, 415 insertions(+), 354 deletions(-) create mode 100644 .config/waybar/modules/bottom-bar.jsonc create mode 100644 .config/waybar/modules/top-bar-2.jsonc create mode 100644 .config/waybar/modules/top-bar.jsonc create mode 100755 .config/waybar/scripts/cava.sh 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" <