Bluefin - flexible update indicator project

I am starting a project to build a flexible update indicator - more than just system updates.

There are lots of reasons why several of us believe this is needed. This is not the place to have that debate.

But please do join us over in the repo. Feel free to fork and submit suggestions.

The project home for now is at klmcwhirter/upd-indicator. I do hope to find someone more available than I to take the project over. But for now, we can get it going there.

The idea is for a custom GNOME extension that will provide the functionality.

The current plan is for 2 phases:

  • Phase 1 - monitor the output of my script looking for new commits in cpython:3.14 branch and provide a status area indicator of that fact. When the indicator is clicked some summary of the update will be displayed. This will be a proving ground for the more flexibile implementation in phase 2.

  • Phase 2 - add configuration for the icon, blinking rate and a “rule editor” so that the user can add their own rules based on what they care about.

    The rules will have at least these properties (detailed design TBD):

    • name
    • icon
    • enabled
    • command to monitor
    • expected response that means “updates available”
    • comments to display with the output (might be reminder of a command to run, docs, etc.)

    The user will have the ability to disable / enable any rule individually. And add their own rules.

    There will also be a global “Do not disturb” button to disable / re-enable monitoring.

We welcome all feedback. I know what my use cases are. But I do not necessarily know yours.

Thanks.

7 Likes

I am making some good progress. Phase 1 is getting close to completion.

And see the demo (gif) at upd-indicator.

2 Likes

I have completed phase 1.

Wow. It had been awhile since I was involved in GNOME extensions. It was GTK3 days.

Now there is GJS, Clutter and St to learn. And these are (intentionally) different from Gtk, Adwaita, etc. for apps and prefs panes.

So now I enter phase 2.

Phase 2 major themes:

  • prefs definition and editor
  • D-Bus protocol and destination path spec
  • example rules and scripts
  • Documentation !

Phase 2 Design starts - now…

And see the updated demo (gif) at upd-indicator

3 Likes

I am well on my way towards meeting the goals of phase 2:

  • prefs definition and editor
  • D-Bus protocol and destination path spec
  • :check_mark: Python program with systemd orchestration for monitoring
  • :check_mark: example rules and scripts
  • Documentation !

I am using it already to let me know when my distroboxen and devcontainers need to be re-created, when my cpython fork is out of date, etc.

More to come soon, before I move back to what I was working on before this project.

But I hope the neigh-sayers are starting to see the value.

Enjoy!

-k

2 Likes

Well, I am wrapping up the project. I am really tired of working with GJS and need to move on.

I got an About page working as a prefs page. But Gio.File does not seem to work in the prefs side of things.

But it does work from Python (go figure) so I have opted to add a feature to upd_monitor to import a settings.json file.

All that is automated when doing a pnpm run local:install.

I have shut down the discussions area. And entering maintenance mode now.

I am actively using this extension and am adding rules as I discover new requirements.

Now, back to the Django port of the tkinter screens of my budget tracking app …

Enjoy!

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.