New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 797332 link

Starred by 6 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

AppIndicator Support is Lacking in GNOME

Reported by kylecorr...@gmail.com, Dec 22 2017

Issue description

Chrome Version (from the about:version page): 63.0.3239.108
Is this the most recent version: Yes
OS + version: Pop!_OS 17.10 (GNOME 3.26.2)
CPU architecture (32-bit / 64-bit): 64-bit
Window manager: GNOME 3.26.2
URLs (if relevant):
Behavior in Linux Firefox: N/A
Behavior in Windows Chrome (if you have access to it): N/A

What steps will reproduce the problem?
(1) Install Ubuntu AppIndicators extension to see AppIndicator status icons
(2) Use an application which has system status tray icons (e.g. Hangouts)

What is the expected result?
Status icon should show up along with other AppIndicator status icons.

What happens instead?
Status icons do not show up. 

Please provide any additional information below. Attach a screenshot
and backtrace if possible.

This is due to GNOME being labelled false in this case, but GNOME should be true: https://cs.chromium.org/chromium/src/chrome/browser/ui/libgtkui/app_indicator_icon.cc?l=85 

Issue discussed here: https://github.com/pop-os/pop/issues/84 and a workaround was needed for Electron here: https://github.com/electron/electron/pull/10355 and https://github.com/electron/electron/pull/11504


For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.


 
Labels: Needs-Triage-M63
Cc: krajshree@chromium.org
Components: Platform>Extensions
Labels: Triaged-ET Needs-Feedback
kylecorry31@ - Thanks for filing the issue...!!

Could you please provide a sample extension file to test the issue from TE-end as searching for Ubuntu AppIndicators extension in chrome web store resulted into "Duckie TV- browser action mode" which doesn't seem to have status icon.

If possible please provide a screencast/screenshot for better understanding of the issue.This will help using triaging the issue further.

Thanks...!!
Hello,

Most of the affected applications I have seen have come from electron based applications, which rely on chromium's APIs to display status icons (as seen in my original issue post). An example of one of the affected ones would be skypeforlinux or discord. These may not be the best to test on because of the workarounds that Electron has done to change the desktop environment of several GNOME desktops to disguise them as Unity. 

On chromium, I find that hangouts has a status icon (https://chrome.google.com/webstore/detail/google-hangouts/nckgahadagoaajjgafhacjanaoiihapd?hl=en). My first screenshot shows what the Ubuntu AppIndicators shows (seen on the right). As you can see, hangouts does not show up. I used Top Icons Plus to display legacy indicator icons (those which don't use AppIndicator support) for the second screenshot, seen in the center of the top bar. This is the fallback for icons which do not support AppIndicator, and for the most part will not be shown in distros such as Ubuntu 17.10 without an added extension. The final screenshot shows what happens if I mask my desktop environment with the following command: 

env XDG_CURRENT_DESKTOP=Unity chromium-browser

This tricks chromium to think I am running in Unity (one of the desktops that returns true in my original issue post). As you can see, it display the icon correctly using AppIndicator support. This also shows that the issue can be fixed by moving the GNOME case up to return true in the ShouldUseLibAppIndicator() function.

Thank you!
Just AppIndicators.png
76.1 KB View Download
Legacy Icons (Top Icons Plus - no longer under active development).png
77.3 KB View Download
AppIndicator Workaround.png
77.3 KB View Download
(Also, note you must ensure chromium is fully exited - including status icons - for the indicators to be switched to AppIndicators from legacy)
Project Member

Comment 5 by sheriffbot@chromium.org, Dec 29 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "krajshree@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: timbrown@chromium.org
timbrown ptal
Status: Started (was: Unconfirmed)

Comment 8 by leina...@gmail.com, Feb 18 2018

I am getting the very same issue after upgrading from Ubuntu 17.04 to 17.10.

There is also a bug report for this on launchpad, but probably is more a Chromium issue than an Ubuntu issue: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1726402

Starting Chromium/Chrome with env XDG_CURRENT_DESKTOP=Unity works also for me, but I loose the window control icons when the window is maximized.
Components: -Platform>Extensions UI
Labels: -Needs-Triage-M63
Owner: timbrown@chromium.org
Thanks for the link. That Ubuntu issue does look like this Chromium issue to me.

This is being worked on and should be fixed soon, probably in the M67 release. You can watch this bug or issue 799144 for updates.
Project Member

Comment 10 by bugdroid1@chromium.org, Feb 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/05a0b26e256a7fc45836ce69e43e439850d5dcce

commit 05a0b26e256a7fc45836ce69e43e439850d5dcce
Author: Tim Brown <timbrown@chromium.org>
Date: Fri Feb 23 00:18:13 2018

Use libappindicator to show icons in all cases

libappindicator will transparently use GtkStatusIcon if an AppIndicator
listener is not available. We will lose the left click action however,
and instead the right-click menu will be shown in all instances.

Using libappindicator in all cases not only reduces code complexity,
but also abstracts away the complexity of determining when to use
application indicators (vs legacy icons), which is a little more
complicated with newer versions of GNOME removing the legacy icon tray,
but older versions of GNOME not showing the application indicator by
default.

I also fixed an issue with detecting GNOME. The environment variable
value is often prefixed with the distro.

Bug: 799144, 797332, 419673
Change-Id: I156698f1b37ba216b4df11fa2f17dd7012c593fa
Reviewed-on: https://chromium-review.googlesource.com/911820
Reviewed-by: Elliot Glaysher <erg@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Tim Brown <timbrown@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538635}
[modify] https://crrev.com/05a0b26e256a7fc45836ce69e43e439850d5dcce/base/nix/xdg_util.cc
[modify] https://crrev.com/05a0b26e256a7fc45836ce69e43e439850d5dcce/base/nix/xdg_util_unittest.cc
[add] https://crrev.com/05a0b26e256a7fc45836ce69e43e439850d5dcce/build/config/linux/appindicator/BUILD.gn
[modify] https://crrev.com/05a0b26e256a7fc45836ce69e43e439850d5dcce/chrome/browser/ui/libgtkui/BUILD.gn
[modify] https://crrev.com/05a0b26e256a7fc45836ce69e43e439850d5dcce/chrome/browser/ui/libgtkui/app_indicator_icon.cc
[delete] https://crrev.com/6f9f9577f12a005b3eb9edb2fd2a093d6930e0bc/chrome/browser/ui/libgtkui/gtk_status_icon.cc
[delete] https://crrev.com/6f9f9577f12a005b3eb9edb2fd2a093d6930e0bc/chrome/browser/ui/libgtkui/gtk_status_icon.h
[modify] https://crrev.com/05a0b26e256a7fc45836ce69e43e439850d5dcce/chrome/browser/ui/libgtkui/gtk_ui.cc

Status: Fixed (was: Started)
Barring any unforeseen problems, this will go out in M66.
Project Member

Comment 12 by bugdroid1@chromium.org, Feb 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fda969051971b257fb637815b15f03e2353ef2e5

commit fda969051971b257fb637815b15f03e2353ef2e5
Author: Tim Brown <timbrown@chromium.org>
Date: Fri Feb 23 16:35:04 2018

Revert "Use libappindicator to show icons in all cases"

This reverts commit 05a0b26e256a7fc45836ce69e43e439850d5dcce.

Reason for revert: http://crbug.com/815046 - same swarming bots failing because they don't have libappindicator3.

Original change's description:
> Use libappindicator to show icons in all cases
>
> libappindicator will transparently use GtkStatusIcon if an AppIndicator
> listener is not available. We will lose the left click action however,
> and instead the right-click menu will be shown in all instances.
>
> Using libappindicator in all cases not only reduces code complexity,
> but also abstracts away the complexity of determining when to use
> application indicators (vs legacy icons), which is a little more
> complicated with newer versions of GNOME removing the legacy icon tray,
> but older versions of GNOME not showing the application indicator by
> default.
>
> I also fixed an issue with detecting GNOME. The environment variable
> value is often prefixed with the distro.
>
> Bug: 799144, 797332, 419673
> Change-Id: I156698f1b37ba216b4df11fa2f17dd7012c593fa
> Reviewed-on: https://chromium-review.googlesource.com/911820
> Reviewed-by: Elliot Glaysher <erg@chromium.org>
> Reviewed-by: Scott Graham <scottmg@chromium.org>
> Reviewed-by: Gabriel Charette <gab@chromium.org>
> Commit-Queue: Tim Brown <timbrown@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#538635}

TBR=thomasanderson@chromium.org

Change-Id: I61db904019740f878c4f6d6303e600b717d7888d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 799144, 797332, 419673
Reviewed-on: https://chromium-review.googlesource.com/934701
Reviewed-by: Ian Clelland <iclelland@chromium.org>
Commit-Queue: Ian Clelland <iclelland@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538800}
[modify] https://crrev.com/fda969051971b257fb637815b15f03e2353ef2e5/base/nix/xdg_util.cc
[modify] https://crrev.com/fda969051971b257fb637815b15f03e2353ef2e5/base/nix/xdg_util_unittest.cc
[delete] https://crrev.com/8fb946b56bd14e8bf65c562addfedf7a5b18db7f/build/config/linux/appindicator/BUILD.gn
[modify] https://crrev.com/fda969051971b257fb637815b15f03e2353ef2e5/chrome/browser/ui/libgtkui/BUILD.gn
[modify] https://crrev.com/fda969051971b257fb637815b15f03e2353ef2e5/chrome/browser/ui/libgtkui/app_indicator_icon.cc
[add] https://crrev.com/fda969051971b257fb637815b15f03e2353ef2e5/chrome/browser/ui/libgtkui/gtk_status_icon.cc
[add] https://crrev.com/fda969051971b257fb637815b15f03e2353ef2e5/chrome/browser/ui/libgtkui/gtk_status_icon.h
[modify] https://crrev.com/fda969051971b257fb637815b15f03e2353ef2e5/chrome/browser/ui/libgtkui/gtk_ui.cc

Status: Started (was: Fixed)
Reopening due to rollback.
Project Member

Comment 14 by bugdroid1@chromium.org, Feb 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6e40caade1e6ae35c34127ca6b4fda7a9eaf3e38

commit 6e40caade1e6ae35c34127ca6b4fda7a9eaf3e38
Author: Tim Brown <timbrown@chromium.org>
Date: Wed Feb 28 16:46:08 2018

Always use libappindicator if available

This is in effect a temporary fix to always use libappindicator (when
available, but we have deb/rpm dependency on the lib, so it should
always be available), whilst I fix the dependency issue we have on the
build bots which would allow me to add a hard dependency and clean up
the code.

Bug: 799144, 797332 , 419673
Change-Id: Id64a452029b00ec8d86f0d35d319bebcfd8bf99e
Reviewed-on: https://chromium-review.googlesource.com/939732
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Tim Brown <timbrown@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539852}
[modify] https://crrev.com/6e40caade1e6ae35c34127ca6b4fda7a9eaf3e38/chrome/browser/ui/libgtkui/app_indicator_icon.cc

Labels: Needs-Feedback
Able to reproduce the issue on ubuntu 17.10 using chrome reported version #63.0.3239.108.
Tested the issue on Ubuntu 17.10 using chrome latest version #66.0.3358.0 as per comment #0 and #3.
Observed that status icon of hangouts showed up along with other AppIndicator status icons as expected but the icon shown was a bit enlarged.

Attached a screenshot for reference.

timbrown@ - Could you please check the attached screen shot and please confirm the fix.

Thanks...!!
797332.png
355 KB View Download
@krajshree: I believe so, but the real test is to (left) click on the icon. If it opens a menu, then the (temporary) fix is in. I'm a bit concerned by the out of proportion icon though.

Either way, there is more clean up work to be done, so I won't be closing this bug yet.
Owner: thomasanderson@chromium.org
Labels: Hotlist-DesktopUIValid Hotlist-DesktopUIChecked
*** UI Mass Triage***
Seems like WIP and bug is valid, hence tagging with appropriate label.

Sign in to add a comment