diff options
Diffstat (limited to 'stow/sway/.local/bin')
-rwxr-xr-x | stow/sway/.local/bin/dnf-needs-restarting | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/stow/sway/.local/bin/dnf-needs-restarting b/stow/sway/.local/bin/dnf-needs-restarting new file mode 100755 index 0000000..7fc6542 --- /dev/null +++ b/stow/sway/.local/bin/dnf-needs-restarting @@ -0,0 +1,26 @@ +#!/bin/bash + +set -euo pipefail + +if command -v dnf > /dev/null; then + DNFCMD="dnf" +fi +if command -v jq > /dev/null; then + JQCMD="jq" +fi +if [ -z "${DNFCMD+x}" ] || [ -z "${JQCMD+x}" ]; then + echo "{\"tooltip\": \"requires 'jq' and 'dnf'\", \"text\": \"\"}" + exit 1 +fi + +set -u + +if ! output="$($DNFCMD needs-restarting -r)"; then + icon="" +else + icon="" +fi + +# this is a literal expression for `jq` +# shellcheck disable=SC2016 +$JQCMD --unbuffered -n -c '{tooltip: $ARGS.positional[0], text: $ARGS.positional[1]}' --args "$output" "$icon" |