Bug 1573771

Summary: Unclickable system tray
Product: [Fedora] Fedora Reporter: Fernando <fmuro>
Component: gnome-shell-extension-topicons-plusAssignee: Audrey Yeena Toskin <audrey>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: alciregi, audrey, rbu
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-05-12 00:15:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Screenshot looking glass none

Description Fernando 2018-05-02 08:54:30 UTC
Description of problem:

The icons are unclickable.

Version-Release number of selected component (if applicable):

21-3

How reproducible:

Always.

Steps to Reproduce:
1. Start session with some applications which autostart in system tray (owncloud client, keepassxc, telegram...)
2. Click one of the tray icons

Actual results:

Nothing happens.

Expected results:

The application opens.

Additional info:

New bug in GNOME 3.28, didn't happen in 3.26.

If you switch off and then on the extension, then it works as expected.

The same is happening with the (K)StatusNotifierItem/AppIndicator Support extension, so it may be some change in GNOME 3.28: https://github.com/ubuntu/gnome-shell-extension-appindicator/issues/127

Comment 1 Audrey Yeena Toskin 2018-05-05 18:08:28 UTC
Hmm. Did you have this issue just when you first installed the extension, or do you have to disable and reenable TopIcons Plus for every login session?

Just to make sure, in case this wasn't clear... Unlike when you install from the GNOME Software application or from the extensions website, installing a shell extension from the Fedora repositories requires restarting the shell (Alt+F2, then type "r" and hit enter) or simply logging out and logging back in. Then manually enabling the extension from GNOME Tweaks or gnome-shell-extension-prefs, unless you've restored a backup of the relevant GNOME Shell configuration files.

I've just done a clean installation of Fedora 28 Workstation, and when reinstalling TopIcons Plus this way, clicking a legacy tray icon worked as expected on the first try for me, at least when testing with Telegram.

Comment 2 Fernando 2018-05-07 08:38:33 UTC
Thanks for looking at this. Topicons Plus was also installed here from F27, I upgraded, from the repos. I don't remember if it was in previous Fedora versions. I've removed it and cleaned its gsettings, then reinstalled but I reproduce the bug even when Telegram is the only application in the systray. That happens on each new session, not just on each new install. Since you have a clean F28, may it be something which should have been changed/cleaned on update?

Comment 3 Audrey Yeena Toskin 2018-05-07 20:44:17 UTC
> may it be something which should have been changed/cleaned on update?

Hmm, I can't think of anything. Fedora 27 and 28 had the same build, and since Shell extensions are written in JavaScript, there's no compiling code against other libraries, and both distro versions should have identical versions of the extension.

Could you check for errors in Looking Glass? This is GNOME Shell's interactive console. Hit Alt-F2, type "lg", and hit Enter. This will launch the console as a translucent dialog that slides down from the top of the screen. In the top-right corner of the window, click on Extensions. Scroll down until you see TopIcons Plus. At the bottom of its box, at the end of the line of text, click on Show Errors.

Unfortunately, Looking Glass doesn't seem to allow copying the text in the Extensions tab, and you can't interact with other applications while lg is active, so if you see many errors, it might be easier to take a screenshot instead.

You dismiss the lg window by hitting Escape when you're done.

When I did this after logging into a new GNOME session, I saw several instances of "TypeError: iconsContainer is null" -- because there were no icons to show in the top bar yet. When I launched Steam and Telegram, TopIcons Plus did not produce any new errors, though the old errors did not go away until I reset GNOME Shell (Alt-F2, "r", Enter). When I did that, restarted Looking Glass, and checked again, I saw no errors at all :/

Comment 4 Fernando 2018-05-07 21:29:48 UTC
No errors through the looking glass with telegram loaded on startup. Same as you. BTW, you say you restart your desktop with Alt+F2 and "r". Does it mean that you're under Xorg? I'm in the Wayland session. Maybe that makes the difference.

Comment 5 Audrey Yeena Toskin 2018-05-08 02:08:20 UTC
Oh, yes. I currently use Xorg because Wayland still doesn't work well with Nvidia drivers, but I understand that are still other issues to work out too. Last I checked, Wayland was still having issues with status icons -- I think in general, not just in GNOME. So you could try switching to an Xorg session.

Or, it's possible that some other extension is interfering. Try looking through your other extensions, especially ones which also affect the appearance or functionality of the Shell's top bar, disable those one at a time, and restart your GNOME session between each to test and see which might be causing the problem.

Comment 6 Fernando 2018-05-08 08:01:58 UTC
My only other extension is Gpaste. I've checked without it and still the same behavior. Xorg is not an option for me, the advanced touchpad support I have in Wayland is basic for my workflow. I', afraid I'll have to get used to not having a systray. I knew this would be happening sooner or later in GNOME ;) Thanks for helping!

Comment 7 Audrey Yeena Toskin 2018-05-08 20:59:54 UTC
Yeah, unfortunately I can't think of any other workarounds, and the upstream has ceased development on TopIcons Plus. GNOME removed the legacy tray altogether in the 3.26 release, I believe, so extensions like this went from simply moving the status icons to a more convenient location, to basically recreating the system tray, and I guess TI+ developer felt his project had become redundant. However, GNOME's aim was to *replace* the old status icons with other APIs and UI designs, some of which might work for you:

I think most music players on Linux nowadays support the MPRIS protocol which allows controlling media playback through a widget in the system notification area. Rhythmbox for example adds a box to the notification area which shows the currently playing song and where you can pause or skip to the next or previous song.

File syncing tools have started to show sync status for files and folders *in the file manager* (when you install the related plugin, such as nautilus-dropbox).

There's also another GNOME Shell extension called Do Not Disturb Button, which I've also packaged for Fedora (gnome-shell-extension-do-not-disturb-button). In my use case at least, I feel like DNDB fulfills most of the rest of my needs for knowing application status. For example, with chat applications like Telegram, I don't get a per-app unread messages count, but I do get a general unread notification count next to the system clock; you can preview the most recent few messages from each chat application; and, as the name suggests, DNDB also lets you mute all notifications, which is nice.

https://extensions.gnome.org/extension/964/do-not-disturb-button/

And lastly, for applications that you want to run in the background but don't need to look at all the time, such as Steam (so it can download game patches while you're doing something else), you could just move the window to another workspace. Steam especially, I never found the status icon's menu to be a terribly useful shortcut anyway.

Hopefully some combination of these will be good enough while applications come around to supporting other status-indicating UIs.

Comment 8 Fernando 2018-05-08 21:30:19 UTC
Thanks for all your input. Actually, my main grippe is is with the owncloud client. There's support for mounting owncloud drives in nautilus, but the experience is much worse than with the client functionality. There are also helpful overlay icons in nautilus, but the client needs to be open for sync to work. It would be great if there was a daemon, like in dropbox. People asks for it, but they haven't done it yet. It would also be great if the owncloud client could at least be started minimized (you can make some tricks on Xorg, but not on Wayland). I actually think the solution to my use case should come from the owncloud developers, let's see.

Comment 9 Audrey Yeena Toskin 2018-05-09 21:48:57 UTC
Another user, when testing a never-released update, said they could make status icons clickable by triggering the Activities overview. Which maybe still isn't ideal, but sounds much more convenient than reenabling the shell extension with every login session.

https://bodhi.fedoraproject.org/updates/FEDORA-2018-b334e48643

Comment 10 Alessio 2018-05-10 07:38:21 UTC
(In reply to Andrew Toskin from comment #9)
> Another user, when testing a never-released update, said they could make
> status icons clickable by triggering the Activities overview. Which maybe
> still isn't ideal, but sounds much more convenient than reenabling the shell
> extension with every login session.
> 
> https://bodhi.fedoraproject.org/updates/FEDORA-2018-b334e48643

Yes.
Using looking glass, as you can see in the screenshot (if I've followed the right steps) there are no errors.
In addition I must correct my statement: triggering the Activities overview doesn't solve the issue. Btw the behaviour is odd, sometimes left click of the mouse on the icon triggers the focus on the related window, sometimes not. In any case right click doesn't work.
Using Xorg instead of Wayland, it seems to work.

Comment 11 Alessio 2018-05-10 07:38:48 UTC
Created attachment 1434253 [details]
Screenshot looking glass

Comment 12 Audrey Yeena Toskin 2018-05-12 00:15:29 UTC
If it works in Xorg, then I think we've gone about as far as I can to help.

I first heard about Wayland not supporting status icons very well in the OMG Ubuntu blog, so I assume it's a fairly well known bug. However, I don't see it mentioned anywhere in the Wayland Bugzilla. You could maybe report it to them to make sure they're aware of the issue...

https://bugs.freedesktop.org/buglist.cgi?product=Wayland

Since the problem seems to be with Wayland, I'm going to close this bug report. But feel free to reopen if you need to discuss anything else.