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