From b5e194aeada6628e2178f7fad2e438d112e7e5d0 Mon Sep 17 00:00:00 2001 From: Viyurz <128215328+Viyurz@users.noreply.github.com> Date: Tue, 13 Feb 2024 10:25:10 +0100 Subject: [PATCH] Waybar pkg update count module: Display updates list on tooltip. --- .config/waybar/config | 1 - .scripts/waybar-pkg-update-count.sh | 9 ++++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.config/waybar/config b/.config/waybar/config index 36220d4..b7914b5 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -40,7 +40,6 @@ "interval": "once", "on-click": "$HOME/.scripts/waybar-pkg-update-count.sh", "signal": 3, - "tooltip": false, "return-type": "json", "format": "{icon} {}", "format-icons": { diff --git a/.scripts/waybar-pkg-update-count.sh b/.scripts/waybar-pkg-update-count.sh index dbaeb9e..12509f3 100755 --- a/.scripts/waybar-pkg-update-count.sh +++ b/.scripts/waybar-pkg-update-count.sh @@ -10,12 +10,13 @@ success=0 # Retry until success or retry count reaches max_retries while [[ $retry_count -le $max_retries && $success -ne 1 ]]; do - update_list="$(checkupdates)" + cmd_res="$(checkupdates 2>&1)" case $? in # Update(s) available 0) success=1 - output=$(echo "$update_list" | wc -l) + output=$(echo "$cmd_res" | wc -l) + tooltip="$(echo "$cmd_res" | sed -z 's/\n/\\n/g' | sed 's/\\n$//')" class="update-available" ;; @@ -23,6 +24,7 @@ while [[ $retry_count -le $max_retries && $success -ne 1 ]]; do 2) success=1 output=0 + tooltip="No update available." class="no-update" ;; @@ -30,6 +32,7 @@ while [[ $retry_count -le $max_retries && $success -ne 1 ]]; do sleep $retry_delay retry_count+=1 output="" + tooltip="$(echo "$cmd_res" | sed -z 's/\n/\\n/g' | sed 's/\\n$//')" class="error" ;; esac @@ -37,5 +40,5 @@ done cat << EOF -{"text": "$output", "alt": "$class", "tooltip": "$output", "class": "$class"} +{"text": "$output", "alt": "$class", "tooltip": "$tooltip", "class": "$class"} EOF