yambar/examples/scripts/pacman.sh
Leonardo Gibrowski Faé 084a9021b9
fix configurations in example scripts
We forgot to update the configurations in the example scripts to the new
map syntax based on conditions. This fixes that.

Related to #201
2022-07-22 10:11:25 +02:00

79 lines
1.8 KiB
Bash
Executable file

#!/usr/bin/env bash
#
# pacman.sh - display number of packages update available
# by default check every hour
#
# USAGE: pacman.sh
#
# TAGS:
# Name Type Return
# -------------------------------------------
# {pacman} int number of pacman packages
# {aur} int number of aur packages
# {pkg} int sum of both
#
# Exemples configuration:
# - script:
# path: /absolute/path/to/pacman.sh
# args: []
# content: { string: { text: "{pacman} + {aur} = {pkg}" } }
#
# To display a message when there is no update:
# - script:
# path: /absolute/path/to/pacman.sh
# args: []
# content:
# map:
# default: { string: { text: "{pacman} + {aur} = {pkg}" } }
# conditions:
# pkg == 0: {string: {text: no updates}}
declare interval aur_helper pacman_num aur_num pkg_num
# Error message in STDERR
_err() {
printf -- '%s\n' "[$(date +'%Y-%m-%d %H:%M:%S')]: $*" >&2
}
# Display tags before yambar fetch the updates number
printf -- '%s\n' "pacman|int|0"
printf -- '%s\n' "aur|int|0"
printf -- '%s\n' "pkg|int|0"
printf -- '%s\n' ""
while true; do
# Change interval
# NUMBER[SUFFIXE]
# Possible suffix:
# "s" seconds / "m" minutes / "h" hours / "d" days
interval="1h"
# Change your aur manager
aur_helper="paru"
# Get number of packages to update
pacman_num=$(checkupdates | wc -l)
if ! hash "${aur_helper}" >/dev/null 2>&1; then
_err "aur helper not found, change it in the script"
exit 1
else
aur_num=$("${aur_helper}" -Qmu | wc -l)
fi
pkg_num=$(( pacman_num + aur_num ))
printf -- '%s\n' "pacman|int|${pacman_num}"
printf -- '%s\n' "aur|int|${aur_num}"
printf -- '%s\n' "pkg|int|${pkg_num}"
printf -- '%s\n' ""
sleep "${interval}"
done
unset -v interval aur_helper pacman_num aur_num pkg_num
unset -f _err