GNOME extension that provides indication that updates are available
Important
What I am providing in this repo is a sample implementation of some ideas.
You should not think of this repo as code that you can clone and use as is. Your requirements are going to be different than mine. Be prepared to heavily modify or even rewrite what is here.
The files herein are simply a sample implementation of the ideas presented below.
Some indication of when various updates need our attention would be useful. And not just for OS updates, but various maintenance activities whether related to the local system or not.
If a command line can be crafted to provide an indication of when an update is available, that should be all that is needed - right?
Yes it is.
Have a favorite web service you monitor? curl it!
Tracking a channel on YouTube? If you can write a script to recognize new videos - do it!
Have some custom systemd units for maintenance? Just add an echo of well-defined JSON to a file at a location YOU choose.
That should be all you need to define a monitoring rule that will cause an indicator to show when there is something that needs your attention.
See upd-indicator@for-many for details.
It is written in Python and uses Gio.Settings to retrieve the extensions prefs.
See upd_monitor for details.
And, after install, it is scheduled with systemd.
GNOME extensions are written with GJS - where GJS ironically stands for JavaScript for GNOME.
Also see docs/ for details.
- 2025-05-29 I have just created this repo and put up a call to action at Bluefin - flexible update indicator project.
- 2025-05-30 Got a rough draft of the status bar UI completed and captured a demo amimated gif. See above.
- 2025-06-05 The summary display is working; although notification is possible it is not clear how to do that. It is disabled for now.
- 2025-06-06 Added devcontainer definition - cannot perform
pnpm run nestedin the devcontainer - run it on the host instead ! - 2025-06-07 Added pollingRuleAdapter, CompositeRuleAdapter class and demos - completed phase 1 ! Started phase 2 design
- 2025-06-12 Added upd_indicator Python program to monitor CLI commands and place json files in
monitor-location; revisedupd-indicatorextension to poll that dir forjsonfiles. See #22 - 2025-06-13 Renamed upd_indicator to upd_monitor; added reference systemd units to orchestrate its invocation
- 2025-06-15 Enhanced local install feature; added settings import from
settings.jsonfile; change settings schema to store path to the installedrules.json - 2025-06-21 Added exec verb to upd_monitor to allow executing a rule
- 2025-06-22 Added phase 2 demo - phase 2 is complete; upd-indicator is now in maintenance mode
| Link | Description |
|---|---|
| Early demo during phase 1 with dummy data | |
| shows rule definitions, the steps I take to resolve each item and shows each dropping off the list as they are updated | |
| shows the current state of upd-indicator as of phase 2 completion and shows rule detection / resolution | |
rules.json |
example rule.json file |
settings.json |
example settings.json file |
upd-indicator-monitor.service |
sample upd-indicator-monitor.service systemd unit |
upd-indicator-monitor.timer |
sample upd-indicator-monitor.timer systemd unit |
etc/scripts/ |
this is where scripts (associated with your rules) are placed so they get installed |