From 29f7bf92edf6031f8d40928514b9408cd3ec610f Mon Sep 17 00:00:00 2001 From: Matt Singleton Date: Tue, 27 Sep 2022 11:49:14 -0500 Subject: waybar indicator for when a restart is needed --- bin/dnf-needs-restarting | 24 ++++++++++++++++++++++++ config/waybar/config | 14 +++++++++++--- config/waybar/style.css | 4 ++++ 3 files changed, 39 insertions(+), 3 deletions(-) create mode 100755 bin/dnf-needs-restarting diff --git a/bin/dnf-needs-restarting b/bin/dnf-needs-restarting new file mode 100755 index 0000000..53932b1 --- /dev/null +++ b/bin/dnf-needs-restarting @@ -0,0 +1,24 @@ +#!/bin/bash + +set -eo pipefail + +if command -v dnf > /dev/null; then + DNFCMD="dnf" +fi +if command -v jq > /dev/null; then + JQCMD="jq" +fi +if [ -z "$DNFCMD" ] || [ -z "$JQCMD" ]; then + echo "{\"tooltip\": \"requires 'jq' and 'dnf'\", \"text\": \"\"}" + exit 1 +fi + +set -u + +if ! output="$($DNFCMD needs-restarting -r)"; then + icon="勒" +else + icon="" +fi + +$JQCMD --unbuffered -n -c '{tooltip: $ARGS.positional[0], text: $ARGS.positional[1]}' --args "$output" "$icon" diff --git a/config/waybar/config b/config/waybar/config index 4f04b34..fc238e5 100644 --- a/config/waybar/config +++ b/config/waybar/config @@ -6,7 +6,7 @@ "height": 0, "modules-left": ["sway/workspaces", "sway/mode"], "modules-center": [], - "modules-right": ["tray", "network#wifi", "pulseaudio", "battery#bat1", "temperature", "idle_inhibitor", "clock#local"], + "modules-right": ["tray", "custom/reboot", "network#wifi", "pulseaudio", "battery#bat1", "temperature", "idle_inhibitor", "clock#local"], "sway/workspaces": { "format": "{icon}", "format-icons": { @@ -24,7 +24,8 @@ "temperature": { "critical-threshold": 80, "format": "{icon} {temperatureC}°C", - "format-icons": ["", "", "", "", ""] + "format-icons": ["", "", "", "", ""], + "tooltip": false }, "battery#bat1": { "bat": "BAT0", @@ -76,7 +77,14 @@ "format-icons": { "activated": "", "deactivated": "" - } + }, + "tooltip": false + }, + "custom/reboot": { + "format": "{}", + "exec": "~/.local/bin/dnf-needs-restarting", + "return-type": "json", + "interval": 60 } } ] diff --git a/config/waybar/style.css b/config/waybar/style.css index 6858337..ebcf4a6 100644 --- a/config/waybar/style.css +++ b/config/waybar/style.css @@ -56,3 +56,7 @@ label { background: #a32a3a; text-shadow: 1px 1px 0 #ae4e2a; } + +#custom-reboot { + color: #a32a3a; +} -- cgit v1.2.3