Skip to content

Tray icon missing/empty/not shown correctly #1306

@emtiu

Description

@emtiu

This is an attempt to combine/summarize multiple reports of the systray (notification area) icon being missing/empty/malformed, with a total of 9 users reporting as being affected, namely:

backintime versions affected

Although the code relating to the systray icon has changed significantly since 1.1.0 (see below: "Past progress bar over systray feature (1.1.0 until 1.1.24)"), there is at least one report of version 1.3.2 being affected: #1098 (comment)

Distributions affected (where known)

Graphics/Desktop Environments (where known)

user account for backintime job

Useful logs

From #1098, 2 users reporting identical messages (both for root jobs):

Jul 20 10:35:01 j python[80624]: backintime (root/1): INFO: Take a new snapshot. Profile: 1 Main profile
Jul 20 10:35:01 j python[80624]: backintime (root/1): INFO: Call rsync to take the snapshot
Jul 20 10:35:01 j python[80629]: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Jul 20 10:35:01 j python[80629]: QPainter::begin: Paint device returned engine == 0, type: 2
Jul 20 10:35:01 j python[80629]: QWidget::render: Cannot render with an inactive painter
Jul 20 10:35:01 j python[80629]: QSystemTrayIcon::setVisible: No Icon set
Jul 20 10:35:08 j python[80624]: backintime (root/1): INFO: Save config file
Jul 20 10:35:08 j python[80624]: backintime (root/1): INFO: Save permissions

Past progress bar over systray feature (1.1.0 until 1.1.24)

Version 1.1.0 introduced a progress bar displayed over the systray icon:

* add ProgressBar for rsync

… but it caused trouble, as @Germar commented: #849 (comment)

That's a problem on how I solved the progress bar in the tray icon. It will load a different icon as soon as it prints the progress bar. Should be fixed as soon as we have a proper BiT icon which will have a progress indicator by it self. I already have an idea for that...

… as well as here: #496 (comment)

I couldn't reproduce the high CPU/memory usage on Kubuntu 15.10 but the progress bar doesn't show up either. That line should render a progress bar on top of the systray icon. It's a little hack I used to show progress in systray.

In the end, it was removed in 1.2.0:

* remove progressbar on systray icon until BiT has it's own icon (https://github.com/bit-team/backintime/issues/902)

Current best guess: backintime cannot find icon from system theme to use

Backintime has no icon of its own (#215), so it uses the "save" icon (Icon=document-save in its .desktop file on Kubuntu) from any given Desktop Environment/theme as its main icon, both in menus and in the system tray. The same strategy is employed to set backintime's icon in Qt:

BIT_LOGO = QIcon.fromTheme('document-save')

It might be the case that such an icon cannot be found in certains circumstances (in order of decreasing likelihood):

Metadata

Metadata

Assignees

Labels

BugDiscussiondecision or consensus neededDistro-Specificonly for certain distributions, desktop environments or display serversHighMetaQtQt bugs, code or features

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions