From dda6743a586a5d0467a755909393d3a6b5135c00 Mon Sep 17 00:00:00 2001 From: Jean-Marie Mineau Date: Tue, 8 Feb 2022 19:03:23 +0100 Subject: [PATCH] use a systemd timer for pending update --- .config/i3/bar.sh | 29 --------------------- .config/i3/config | 2 +- .config/i3status/config | 6 +++++ .config/systemd/user/pending-update.service | 5 ++++ .config/systemd/user/pending-update.timer | 9 +++++++ 5 files changed, 21 insertions(+), 30 deletions(-) delete mode 100755 .config/i3/bar.sh create mode 100644 .config/systemd/user/pending-update.service create mode 100644 .config/systemd/user/pending-update.timer diff --git a/.config/i3/bar.sh b/.config/i3/bar.sh deleted file mode 100755 index 75ff82f..0000000 --- a/.config/i3/bar.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -/usr/local/bin/i3status | while : -do - read line - if echo "${line}" | grep -Pq '^\{"version":\d\}$' ; then - echo $line - elif echo "${line}" | grep -Pq '^\[$' ; then - echo $line - else - echo -n "[" - line=`echo "${line}" | sed 's/^,\{0,1\}\[//' | sed 's/\]$//'` - NB_UPDATES=`/sbin/checkupdates | /sbin/wc -l` - NB_UPDATES_COLOR="#40AA40" - if [ $NB_UPDATES -ge 25 ] ; then - NB_UPDATES_COLOR="#FF0000" - elif [ $NB_UPDATES -ge 10 ] ; then - NB_UPDATES_COLOR="#FF8C00" - fi - echo -n "{" - echo -n "\"name\":\"updates\"," - echo -n "\"full_text\":\"pending updates: ${NB_UPDATES} \"," - echo -n "\"color\":\"${NB_UPDATES_COLOR}\"," - echo -n "\"markup\":\"pango\"" - echo -n "}," - echo "$line]" || exit 1 - echo -n "," - fi -done diff --git a/.config/i3/config b/.config/i3/config index 86616e3..9a0f11c 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -203,7 +203,7 @@ bindsym $mod+r mode "resize" # finds out, if available) bar { tray_output primary - status_command "sh ~/.config/i3/bar.sh" + status_command "/usr/local/bin/i3status" position top separator_symbol " | " colors { diff --git a/.config/i3status/config b/.config/i3status/config index 374411c..91803a7 100755 --- a/.config/i3status/config +++ b/.config/i3status/config @@ -14,6 +14,7 @@ general { markup = "pango" } +order += "read_file PENDING_UPDATE" order += "ipv6" order += "wireless _first_" order += "ethernet _first_" @@ -73,3 +74,8 @@ cpu_usage { degraded_threshold = 50 format_above_degraded_threshold = "CPU > %usage" } + +read_file PENDING_UPDATE { + format = "pending updates: %content" + path = "/run/user/1000/pending-updates" +} diff --git a/.config/systemd/user/pending-update.service b/.config/systemd/user/pending-update.service new file mode 100644 index 0000000..fa0ba8b --- /dev/null +++ b/.config/systemd/user/pending-update.service @@ -0,0 +1,5 @@ +[Unit] +Description=Write the number of pending updates in /run/user/%U/pending-updates + +[Service] +ExecStart=/bin/sh -c 'checkupdates | wc -l > /run/user/%U/pending-updates' diff --git a/.config/systemd/user/pending-update.timer b/.config/systemd/user/pending-update.timer new file mode 100644 index 0000000..9271fee --- /dev/null +++ b/.config/systemd/user/pending-update.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Write the number of pending updates in /run/user/%U/pending-updates every 10min + +[Timer] +OnBootSec=1s +OnUnitActiveSec=10min + +[Install] +WantedBy=default.target