diff options
Diffstat (limited to 'ar/.local/bin/statusbar/sb-packages')
| -rwxr-xr-x | ar/.local/bin/statusbar/sb-packages | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/ar/.local/bin/statusbar/sb-packages b/ar/.local/bin/statusbar/sb-packages new file mode 100755 index 0000000..5955c75 --- /dev/null +++ b/ar/.local/bin/statusbar/sb-packages @@ -0,0 +1,37 @@ +#!/bin/sh + +# Displays number of upgradeable packages. +# For this to work, have a `pacman -Sy` command run in the background as a +# cronjob every so often as root. This script will then read those packages. +# When clicked, it will run an upgrade via pacman. +# +# Add the following text as a file in /usr/share/libalpm/hooks/statusbar.hook: +# +# [Trigger] +# Operation = Upgrade +# Type = Package +# Target = * +# +# [Action] +# Description = Updating statusbar... +# When = PostTransaction +# Exec = /usr/bin/pkill -RTMIN+16 dwmblocks # Or i3blocks if using i3. + +case $BLOCK_BUTTON in +1) setsid -f "$TERMINAL" -e sb-popupgrade && remaps ;; +2) notify-send "$(/usr/bin/pacman -Qu)" "$(/usr/bin/yay -Qu --aur)" ;; +3) notify-send "🎁 Upgrade module" "📦: number of upgradable 'pacman' packages +🧰: number of upgradable 'yay' packages +- Left click to upgrade all packages +- Middle click to show upgradable packages" ;; +6) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;; +esac + +pacnum=$(pacman -Qu | grep -Fcv "[ignored]" | sed "s/^/📦/;s/^📦0$//g") +yaynum=$(yay -Qu --aur | grep -Fcv "[ignored]" | sed "s/^/🧰/;s/^🧰0$//g") +upgradable="" +[ -n "$pacnum" ] && upgradable="${upgradable}${pacnum} " +[ -n "$yaynum" ] && upgradable="${upgradable}${yaynum} " +upgradable=$(echo "$upgradable" | sed 's/ *$//') + +printf "%s\n" "$upgradable" |
