aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-30 19:56:47 +0200
committerDanilo M. <danix@danix.xyz>2026-09-30 19:56:47 +0200
commite55896ce41d6165105671da5b6f33813106ef1b8 (patch)
tree082c5a7dffda63bbe740363fb35ca6dd1927b5ab /README.md
parent9f6414838d4fabc174bb193f34225de8d9fc8079 (diff)
downloadconky-theme-udt-e55896ce41d6165105671da5b6f33813106ef1b8.tar.gz
conky-theme-udt-e55896ce41d6165105671da5b6f33813106ef1b8.zip
feat: add an updates card showing nvtable's package table
Moves the nvchecker/nvtable table the login shell printed onto the dashboard, as a wide card at the bottom centre. bin/updates-sample.sh caches `nvtable -C -E` every ten minutes and starts nvchecker, fully detached, at most every 30 minutes. The widget parses the cache and colours it in the board's language: installed behind upstream is critical, a shipped .info behind is a warning, with nvtable's status dots per row and a legend on the bottom line. The mouse wheel scrolls rows that do not fit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
-rw-r--r--README.md23
1 files changed, 21 insertions, 2 deletions
diff --git a/README.md b/README.md
index a78371e..59e5797 100644
--- a/README.md
+++ b/README.md
@@ -63,7 +63,7 @@ in the source, so no real location appears in committed files.
## System widgets
-Six cards cover the machine itself:
+Seven cards cover the machine itself:
- **System**: CPU load as a per-core equaliser, the CPU and motherboard model
as two rows under the header, RAM used/total, and every temperature (CPU
@@ -78,12 +78,14 @@ Six cards cover the machine itself:
lines on one chart. See below.
- **Slackware**: distribution version, package count, kernel, install age, and
time since the last `slackpkg` ChangeLog update. See below.
+- **Updates**: nvtable's table of tracked packages behind upstream, scrolled
+ with the mouse wheel. See below.
The disks and cache cards read a cache file that a sampler writes; they never
call `du` or `statfs` themselves. `statfs` on an unreachable NFS path blocks,
and the disks sampler exists so that a dead server costs a stale cache rather
than a frozen draw. Sampling is scheduled by conky itself: `conky.text` carries
-six `${execi}` entries, even though that block renders nothing under Cairo.
+an `${execi}` per sampler, even though that block renders nothing under Cairo.
${execi 900 ~/.config/conky/bin/weather-fetch.sh}
${execi 60 ~/.config/conky/bin/disks-sample.sh}
@@ -92,6 +94,7 @@ six `${execi}` entries, even though that block renders nothing under Cairo.
${execi 900 ~/.config/conky/bin/slackware-sample.sh}
${execi 300 ~/.config/conky/bin/calendar-sample.sh}
${execi 1800 ~/.config/conky/bin/immich-fetch.sh}
+ ${execi 600 ~/.config/conky/bin/updates-sample.sh}
The disks sampler runs once a minute; the cache, Slackware and public-IP
samplers run every 15, 15 and 30 minutes respectively, because `du -sh
@@ -110,6 +113,7 @@ To run a sampler by hand:
./bin/pubip-sample.sh; echo "exit: $?"
./bin/slackware-sample.sh; echo "exit: $?"
./bin/calendar-sample.sh; echo "exit: $?"
+ ./bin/updates-sample.sh; echo "exit: $?"
All print nothing and exit 0 on success, and all write a temp file and rename
it over the target, so the widget never reads a half-written file.
@@ -216,6 +220,21 @@ The key sits in a plain file, like the weather key, because the fetch runs
unattended from conky: reading it from a GPG-backed store would raise a
pinentry whenever the agent's cache has expired.
+### Updates
+
+nvtable's table of tracked packages that need action: where each is
+installed, the version its SlackBuild ships and, when that is not it, the
+upstream release. The big value is how many installed packages are behind
+upstream. Installed versions read red when behind and green when caught up,
+a shipped `.info` behind upstream reads as a warning. Rows that do not fit
+scroll with the mouse wheel, with a thin scrollbar at the right edge.
+
+`bin/updates-sample.sh` runs every ten minutes and caches `nvtable -C -E`
+in `~/.cache/udt/updates.txt`. It also starts `nvchecker` in the background
+at most every 30 minutes, detached so conky never waits on the network; its
+results show up on the next sample. `nvtable` is looked up in `~/bin` too,
+since conky launched by the compositor lacks the login shell's `PATH`.
+
### Host bindings
These hwmon bindings, and the ceilings beside them, are specific to this machine