diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index 31912c7..a4bb199 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -18,20 +18,18 @@ ], "modules-right": [ "mpd", - "custom/separator", - "custom/pipewire_buffer_size", - "custom/separator", + "custom/separator", + "custom/pipewire-buffer", + "custom/separator", "pulseaudio", - "custom/separator", + "custom/separator", "sway/language", - "custom/separator", + "custom/separator", "memory", - "custom/separator", + "custom/separator", "cpu", - "custom/separator", - "network", - "custom/separator", - "custom/power" + "custom/separator", + "network" ], "custom/separator": { "format": "|", @@ -73,8 +71,7 @@ "format-alt": "{:%Y-%m-%d}" }, "cpu": { - "format": "CPU {usage}%", - "tooltip": false + "format": "CPU {usage}%" }, "memory": { "format": "MEM {}%" @@ -132,28 +129,22 @@ "format-muted": " {format_source}", "on-click": "pavucontrol" }, - "custom/media": { - "format": "{icon} {text}", - "return-type": "json", - "max-length": 40, - "format-icons": { - "spotify": "", - "default": "🎜" - }, - "escape": true, - "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder - // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name - }, - "custom/power": { - "format": "⏻ ", + "custom/pipewire-buffer": { + "format": "BUF {}", "tooltip": false, - "menu": "on-click", - "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder + "on-click": "$HOME/.config/waybar/pipewire_buffer_size.sh", + "menu-file": "$HOME/.config/waybar/pipewire_buffer_menu.xml", "menu-actions": { - "shutdown": "shutdown", - "reboot": "reboot", - "suspend": "systemctl suspend", - "hibernate": "systemctl hibernate" - } + "buffer_64": "$HOME/.config/waybar/set_pipewire_buffer.sh 64", + "buffer_128": "$HOME/.config/waybar/set_pipewire_buffer.sh 128", + "buffer_256": "$HOME/.config/waybar/set_pipewire_buffer.sh 256", + "buffer_512": "$HOME/.config/waybar/set_pipewire_buffer.sh 512", + "buffer_1024": "$HOME/.config/waybar/set_pipewire_buffer.sh 1024", + "buffer_2048": "$HOME/.config/waybar/set_pipewire_buffer.sh 2048", + "buffer_4096": "$HOME/.config/waybar/set_pipewire_buffer.sh 4096", + "buffer_8192": "$HOME/.config/waybar/set_pipewire_buffer.sh 8192" + }, + "exec": "$HOME/.config/waybar/get_pipewire_buffer.sh", + "interval": 10 } } diff --git a/.config/waybar/get_pipewire_buffer.sh b/.config/waybar/get_pipewire_buffer.sh new file mode 100755 index 0000000..d694bd5 --- /dev/null +++ b/.config/waybar/get_pipewire_buffer.sh @@ -0,0 +1,2 @@ +#!/bin/bash +pw-metadata -n settings 0 clock.force-quantum | grep -oP "value:'\K[0-9]+" diff --git a/.config/waybar/pipewire_buffer_menu.xml b/.config/waybar/pipewire_buffer_menu.xml new file mode 100644 index 0000000..aa2a42c --- /dev/null +++ b/.config/waybar/pipewire_buffer_menu.xml @@ -0,0 +1,28 @@ + + + + + + Suspend + + + + + Hibernate + + + + + Shutdown + + + + + + + + Reboot + + + + diff --git a/.config/waybar/pipewire_buffer_size.sh b/.config/waybar/pipewire_buffer_size.sh index 8a30368..61f9101 100755 --- a/.config/waybar/pipewire_buffer_size.sh +++ b/.config/waybar/pipewire_buffer_size.sh @@ -2,17 +2,11 @@ BUFFER_SIZES=("64" "128" "256" "512" "1024" "2048" "4096" "8192") -current_buffer_size=$(pw-metadata -n settings 0 clock.force-quantum | grep -oP "value:'\K[0-9]+") +new_buffer_size=$(echo "${BUFFER_SIZES[@]}" | tr ' ' '\n' | wofi --show dmenu) -if [[ $1 == "click" ]]; then - new_buffer_size=$(echo "${BUFFER_SIZES[@]}" | tr ' ' '\n' | wofi --show dmenu) - - if [[ -n $new_buffer_size ]]; then - pw-metadata -n settings 0 clock.force-quantum "$new_buffer_size" - current_buffer_size=$new_buffer_size - fi - - exit 0 +if [[ -n $new_buffer_size ]]; then + pw-metadata -n settings 0 clock.force-quantum "$new_buffer_size" + current_buffer_size=$new_buffer_size fi -echo "$current_buffer_size" +exit 0 diff --git a/.config/waybar/set_pipewire_buffer.sh b/.config/waybar/set_pipewire_buffer.sh new file mode 100755 index 0000000..8f835ed --- /dev/null +++ b/.config/waybar/set_pipewire_buffer.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +BUFFER_SIZE=$1 +pw-metadata -n settings 0 clock.force-quantum $BUFFER_SIZE diff --git a/.config/waybar/style.css b/.config/waybar/style.css index 75a1e1e..bb142c8 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -1,6 +1,39 @@ -/* @import url("~/.cache/wal/colors.css"); */ +@import url("../../.cache/wal/colors-waybar.css"); * { - font-family: "mononoki"; - font-size: 16; + font-family: "mononoki"; + font-size: 16; +} + +#waybar { + background-color: @background; + color: @foreground; +} + +#mpd { + color: @color1; +} + +#custom-pipewire-buffer { + color: @color2; +} + +#pulseaudio { + color: @color3; +} + +#language { + color: @color4; +} + +#memory { + color: @color5; +} + +#cpu { + color: @color6; +} + +#network { + color: @color1; }