AppIndicator Support is Lacking in GNOME
Reported by
kylecorr...@gmail.com,
Dec 22 2017
|
|||||||||||
Issue descriptionChrome 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.
,
Dec 29 2017
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...!!
,
Dec 29 2017
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!
,
Dec 29 2017
(Also, note you must ensure chromium is fully exited - including status icons - for the indicators to be switched to AppIndicators from legacy)
,
Dec 29 2017
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
,
Jan 2 2018
timbrown ptal
,
Feb 9 2018
,
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.
,
Feb 20 2018
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.
,
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
,
Feb 23 2018
Barring any unforeseen problems, this will go out in M66.
,
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
,
Feb 27 2018
Reopening due to rollback.
,
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
,
Mar 1 2018
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...!!
,
Mar 1 2018
@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.
,
Jun 29 2018
,
Nov 23
*** UI Mass Triage*** Seems like WIP and bug is valid, hence tagging with appropriate label. |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by krajshree@chromium.org
, Dec 26 2017