projecthamster / hamster-shell-extension

Shell extension for hamster
http://projecthamster.org
GNU General Public License v3.0
214 stars 91 forks source link

Gracefully handle hamster restarts for development #358

Closed matthijskooijman closed 1 year ago

matthijskooijman commented 1 year ago

This changes the code to more gracefully handle a hamster restart. Previously it would try to disable itself and then run into an error. Now it hides the panel item and shows it again when hamster is started again. The implementation is not perfect (see commit message for some rough edges), but that's ok since users normally have no need (or even a good way) to restart the hamster services, so this change mostly serves to make development easier.

In addition, I've preceded this change with two more commits that improve error handling for dbus calls. This was prompted because one of the rough edges is that you can now technically end up in a situation where the extension is shown and usable, but the windows service is not running, so clicking e.g. "Show Overview" will not work. That will now show an error to the user, which should make this an acceptable corner case. However, showing error messages when a dbus call fails seems an improvement in general too (for example, this now also shows an error for the case in #334 - though the python backtrace is so long the actual error message is cropped, at least it shows something at least - and the log shows the full error).

matthijskooijman commented 1 year ago

I've force-pushed an update that resolves the remaining comments (one more string is now translatable, replaced "fact" with "activity").