Make System Tray icon a little bit more informative

I have a request for a future improvement with low priority. I just want to put it up here for future reference.

Background:
I am using Duplicati in the default mode, with System Tray icon and no remote server instance. In this mode, I have three methods to start a backup job: via web gui, via scheduler, or via command line, which I don’t use (almost) at all, because I appreciate the information provided by the web gui.

Problem:
If I want to make sure that my web browser’s user profile included in the backup set always gets backed up in a 100% consistent state, I have to close the browser, let it write all of its memory content to the disk, and then wait for a scheduled backup job to swoop up the files.

Current solution:
I have scheduled the backup of my home directory to run in the early hours, so that when I open my laptop in the morning, this backup immediately kicks off. I then have to wait for the backup to finish before I can open the browser or any other application that may modify the files in the backup set. For convenience, I have scheduled also the other backup jobs to run in morning one after each other.
So my morning routine is to first open the laptop, then have my breakfast, and only after that check that the backups have finished before I start launching any applications.

Remaining problem:
While the scheduled backup jobs are running, the System Tray icon only shows that a job is running, and the icon’s appearance only changes when all jobs have finished.

Proposal:
I really would like to have a little bit more information about the jobs without having to open my web browser. More specifically, I wish to see the name of the backup job currently running, and its state. I don’t want to see any of the internal states, however. Instead, all I want to see is whether the current job is in “hands-off” state or in “housekeeping” state. In other words, I want to see if the job is still checking or copying my files, or whether it is past that stage and I can start opening and modifying files although the job is still performing some remaining tasks, whatever they are.

I can imagine that even a simple addition to the behaviors of the System Tray icon may invite more requests, but please understand that I am not asking you to restore the convoluted mini-GUI that Duplicati1 provides via its System Tray icon. I believe that the minimal addition I am proposing is not too much to ask, as it serves a rather basic need.

Are you using snapshots with duplicati? If so you don’t have to wait for the backup to finish. Once the snap is taken you can start working on your files again without it affecting the current backup.

And if you are using snapshots you don’t even have to close your files at the start of the backup (although doing so may help the files be in an application consistent state vs crash consistent state).

Edit to add - that being said I really do like your suggestion about the tray icon showing more information. Maybe it should show the same text that appears in the progress bar of the web UI?

Net standard migration #3124 comment about “huge task” just migrating the current makes me wonder…

But I’m also wondering if that will stick because I see some news that Microsoft is adding WinForms now.

.NET Core 3 and Support for Windows Desktop Applications

While there are all kinds of workarounds for now (and to be honest there’s a huge backlog of work in line), possibly an easy one (if you’re not willing to run as a Service or as your own account as an Administrator) might be to use some browser you don’t use enough to backup, to instead watch backups you care about.

and there you have it, without waiting for Tray Icon changes, and even if that browser gets no other usage.

There might also be some complex things you could do with scripting options or reporting options, maybe with third party software building on them. For example dupReport could push a notification using apprise, however I’m not sure how much effort you want to put into making a way to review the state of the backup.

I am looking into this because I figured it would be simple to adjust the TrayIcon tooltip (at least on Windows) to show the same text as the WebUI status bar.

But this is looking more complicated than I expected. It appears the WebUI status text is generated client-side by javascript in the browser. Not sure if the text is accessible in the C# portion of the code. I could be wrong. Will keep looking…

Tooltip is exactly what I had in mind, I just didn’t want to suggest any particular detail to you.

As I said, this is a low priority request.

I have recently changed to a new laptop. On the old one, I didn’t have enough space for snapshots, so I could not use them. I’ll have think it over now with the new laptop. Thanks for reminding.

Snapshots help you to backup files that are opened for writing. But snapshots do not guarantee the 100% consistency I mentioned. For that, you have to let the program write on disk all information it holds.

No, just the information I mentioned: job name and state, expressed as one of the two relevant states I described. Nothing more.

Yes, that’s exactly what I stated… crash-conssitent vs application-consistent.

I still would absolutely use snapshots with Duplicati. Better to get crash-consistent than have the file get skipped entirely. Also, these snapshots do not require much space. Only enough space to hold the data churn while the snapshot exists.

Your request should be covered by it displaying the same info as the WebUI status bar, and will also satisfy people that would want more detail.

My intention was not to invite complexity. The more you add the more you are asked for, and soon you are again tied to the complexity of the old System Tray icon. Besides, even now I wish I could check a box to stop the filenames showing. Seeing the filenames flick around is a mere distraction to me. I would be happy with a plain progress bar in the web GUI.

So if you want to provide a progress bar, go ahead, as long as you divide that bar to these two stages I described. The two stages together the job name is the crucial thing.

I wasn’t talking about the job-specific status bar with the filenames as they are backed up, but the overall WebUI status bar at the top - the one that shows the job name and state.

Your request of translating all job phases and states into just two categories is actually a more complex than just displaying the information verbatim, where you mentally map the states between “hands-off” and “housekeeping”. I’d also argue that it would be of interest to fewer people … perhaps only you!

What are the internal states, and what is so difficult about dividing them into those two?

There are probably 15 phases I can think of off the top of my head (and I’m not super familiar with the inner workings of Duplicati).

It’s not like they could not be mapped to the 2 you are interested in, it’s more that it makes the request so esoteric. I get it that it’s what you want, but more people would likely want to see phases verbatim.

I said:

You said:

Do you mean that there is no point trying to suggest ideas for later development at all? That we all should just back up any ideas we have and come back with them later? How much later?

Not at all, especially the way you phrased that.

Suggestions welcome, and Features category is the forum spot to record them and to see which ones get high interest, discussion, or work by development volunteers (the more volunteers, the more work). Issues is the queue for those who suggest on GitHub (probably worse for wider discussions), with 235 out of 829 open issues labelled enhancement. The challenge is that non-enhancement issues are also needing work.

So suggest away, but time-to-completion may vary hugely, because it depends on who decides to do work.

EDIT:

To get less development-centric, volunteers in all areas are what make Duplicati possible, so support, test, debug, documentation, and other types of volunteers are also welcomed and valuable for project progress. Ultimately, though, features seem to need to attract developers. There’s not been much central planning…