Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tray icon regression in 0.15.x #6767

Closed
akontsevich opened this issue May 18, 2018 · 32 comments
Closed

Tray icon regression in 0.15.x #6767

akontsevich opened this issue May 18, 2018 · 32 comments
Labels
A-Electron P2 S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect

Comments

@akontsevich
Copy link

Tray icon regression in 0.15.x with latest Electron: electron/electron#13000

@uhoreg
Copy link
Member

uhoreg commented May 19, 2018

Possibly related to the presence/absence of various libappindicator libraries, as per discussion in #3133

@akontsevich
Copy link
Author

@uhoreg no, libappindicator1 libraries installed. 0.14.2 works fine without it.

@akontsevich
Copy link
Author

@uhoreg no, libappindicator1 libraries installed. 0.14.2 works fine without it, with libappindicator1 installed icon converted to purple square in 0.14.2 too.

@uhoreg
Copy link
Member

uhoreg commented May 20, 2018

Yup, that was basically what t3chguy's comment was about. With libappindicator1 installed (and no libappindicator-gtk3?), the icon is just a square. With the dummy libappindicator1 that t3chguy created, it should be a proper icon. So this isn't a regression, it's the same issue as before.

@akontsevich
Copy link
Author

akontsevich commented May 20, 2018

I have no libappindicator-gtk3. What is dummy libappindicator1?

We have libappindicator3-1 in suse which is Application indicators library - GTK 3. So I think it is installed. As I said it works fine for 0.14.2 and square for 0.15.x.

@ArchangeGabriel
Copy link

@akontsevich What kind of DE do you use? Can you remove libappindicator from your system?

@akontsevich
Copy link
Author

@ArchangeGabriel, KDE. Can't remove as many applications depends on it. NetworkManager-applet, pasystray, MATE, etc.

@ArchangeGabriel
Copy link

OK, it’s a known bug on KDE, I’m surprised you did not had it before. Why do you have pasystray, MATE and NetworkManager-applet if you are under KDE? And btw those should not depend on libappindicator, which is only really needed for unity…

@akontsevich
Copy link
Author

they not depend on libappindicator1 - it is removed, they depend on libappindicator3-1 which is GTK3 version.

@ArchangeGabriel
Copy link

Yes, I’m talking about libappindicator3, the “1“ version just does not exist in my mind.

@lampholder lampholder added T-Defect A-Electron P2 S-Minor Impairs non-critical functionality or suitable workarounds exist labels May 30, 2018
@dos1
Copy link

dos1 commented Aug 13, 2018

It's actually Chromium that's breaking the icon, not libappindicator (although only the code that used libappindicator had this bug). I've submited a patchset that fixes this issue: https://chromium-review.googlesource.com/c/chromium/src/+/1173235

@akontsevich
Copy link
Author

Possibly related to the presence/absence of various libappindicator libraries, as per discussion in #3133

Yes, so problem is in libappindicator3 (in openSUSE, libappindicator-gtk3 in other distributions). Removing it causes icon to render properly and correct react on left mouse clicks. Works fine with libappindicator1 or without it. So it is a libappindicator3 bug/regression, you may close this issue. Icon is a little bit pixelated like mentioned here: #3133 (comment) - still some area to fix, but looks and works normal for now.

@dos1
Copy link

dos1 commented Sep 25, 2018

@akontsevich: It's not a libappindicator bug - it's a bug in Chromium's codepath that uses libappindicator. If you don't have libappindicator installed, it uses GTK+ codepath, which doesn't have this bug.

Also, GTK+ codepath is deprecated and is likely to be removed, as Chromium wants to make libappindicator3 a hard dependency.

That said, my patch to Chromium got in, and I believe Chromium 70 should have this bug fixed. Not sure when it will land in Electron.

@akontsevich
Copy link
Author

akontsevich commented Sep 25, 2018

@dos1 Whatever more fixes is fine, works good for me for now.

However libappindicator3 has another one bug: electron/electron#13087 - whether Your patch fixes it as well? Think - no.

@dos1
Copy link

dos1 commented Sep 25, 2018

As I said, Chromium team wants to remove GTK+ codepath and depend strictly on libappindicator in the future. The GTK+ StatusIcon is already deprecated by GTK+ itself.

Also, left mouse button works fine for me using libappindicator and Plasma 5. Check whether your distribution patches libappindicator to add Activate dbus method (like this: https://aur.archlinux.org/cgit/aur.git/tree/0001-Add-support-for-Activate-method-for-improved-Plasma-.patch?h=libappindicator). If it does, convince your maintainers to drop it. (I wrote this patch long ago for old Plasma versions, but nowadays it does more harm than good).

@akontsevich
Copy link
Author

akontsevich commented Sep 25, 2018

@dos1 You said

Chromium wants to make libappindicator3 a hard dependency

So it is not clear for me whether libappindicator3 or Chromium have fixed mouse issue?!

@dos1
Copy link

dos1 commented Sep 25, 2018

Chromium had a bug: when it used libappindicator and detected KDE, icons were being cropped. This was recently fixed (https://chromium-review.googlesource.com/c/chromium/src/+/1173235), but Electron doesn't have that fix yet. It can be workaround by launching Riot with XDG_CURRENT_DESKTOP environment variable set to Unity.

libappindicator in some distributions has another issue: it doesn't play well with current Plasma versions, causing the left mouse button to not work properly. This is an issue which should be reported to your distribution, like I did here for Arch: https://bugs.archlinux.org/task/59652. It has nothing to do with Riot, Electron nor Chromium.

For optimal system tray experience, you should have a proper version of libappindicator installed, as GTK+ StatusIcon has its own set of issues that aren't likely to get ever fixed. Also, you may consider convincing your distro to ship libayatana-appindicator instead of the old unmaintained libappindicator, like Debian does (https://wiki.debian.org/Ayatana/IndicatorsTransition).

@akontsevich
Copy link
Author

@dos1 I see libayatana-appindicator exists in openSUSE and works fine for electron applications but does not work for some GTK+3 applications (gnome-pomodoro), and python2-ayatana-appindicator - does not work for python2 applications like acestreamengine, etc.

@dos1
Copy link

dos1 commented Sep 29, 2018

As noted above, this is a matter for your distro maintainers, since some apps (especially Python ones) need small patches in order to work with Ayatana indicators.

@ArchangeGabriel
Copy link

For information, the future major release of Electron (4.0) will be Chromium 69, so still a bit more to wait before having the fix.

@Pointedstick
Copy link

Is this fixed along with #7555?

@akontsevich
Copy link
Author

@Pointedstick, no! Seems will be fixed only in next Electron version with Chromium 70+.

@dos1
Copy link

dos1 commented Feb 23, 2019

I don't think so. Looking at Electron releases, the proper fix will be finally included in 5.0.0. Keep in mind that there are two separate codepaths here that may be used depending on whether libappindicator is installed or not.

@rawlife56
Copy link

@dos1 According to their release schedule, Electron 5.0 stable is set to out on April 23. Is it already fixed in Beta ?

@dos1
Copy link

dos1 commented Apr 7, 2019

Yup!

After just seven months since merging in Chromium, the fix is coming :)

@ArchangeGabriel
Copy link

Electron 5.x has been released as expected, but #9562.

@ArchangeGabriel
Copy link

I can now confirm that this is indeed fixed with Electron 5.x. Remains the left-click feature disparity between GTK+ StatusIcon and libappindicator to be solved (#3133), but I did not have time yet to try Ayatana indicators.

@rawlife56
Copy link

rawlife56 commented Apr 26, 2019

Looks like the icons are fixed. I really hoped left click would be fixed in 5.0 but I guess we'll have to wait.

@ArchangeGabriel
Copy link

ArchLinux. For the left click issue on Arch, you have to use ayatana indicators or rebuild libappindicator without the plasma patch.

@akontsevich
Copy link
Author

Think #7553 and #7624 could be closed for now: works fine if libappindicator3 (libappindicator-gtk3) not installed. Unlike #6767 and #8819 (icon look) should be reopened and fixed: stopped to work even if I run with Exec=XDG_CURRENT_DESKTOP=Unity riot %U. For now icon looks like blank black square in KDE which is weird. I think local electron version used to build riot should be manually patched like Skype done previous year, where icon looks good for now with whatever appindicator is used or not, Unity desktop set or not. Otherwise we can wait too long it will be fixed in Electron. Makes sense?

@t3chguy
Copy link
Member

t3chguy commented Jul 25, 2020

@t3chguy
Copy link
Member

t3chguy commented Oct 26, 2022

Closing in favour of #11772

@t3chguy t3chguy closed this as completed Oct 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Electron P2 S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect
Projects
None yet
Development

No branches or pull requests

9 participants