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

Add official support for system tray on Linux #5377

Closed
1 task done
fabiscafe opened this issue Jul 1, 2021 · 21 comments
Closed
1 task done

Add official support for system tray on Linux #5377

fabiscafe opened this issue Jul 1, 2021 · 21 comments

Comments

@fabiscafe
Copy link


Bug Description

(some WM and) GNOME officially does not support a system tray. While I think the setting in general is a good thing would you mind to follow our discussion and rename it to "stay in background" and "launch in background", otherwise it's very confusing for people who expect an icon but don't see an icon.

See this: #4827 (comment)

Steps to Reproduce

  1. Startup a desktop or WM without tray support
  2. Start Signal
  3. See and enable the options

Actual Result:

You're confused by the false description

Expected Result:

The description should reflect the action

Screenshots

2021-07-01 19-37-45

Platform Info

Signal Version: v5.8.0-beta.1

Operating System: Archlinux with GNOME

@scottnonnenberg-signal scottnonnenberg-signal changed the title v5.8.0-beta.1 Tray Support on Linux GNOME Better support for lack of system tray Linux GNOME Jul 1, 2021
@EvanHahn-Signal
Copy link
Contributor

You're using Arch Linux, and we don't maintain that package. Could you ask your package maintainer to add a dependency on libappindicator1? According to Electron's documentation, libappindicator1 is required in some situations on Linux.

@fabiscafe
Copy link
Author

Appindicator support was also dropped. GNOME does not support anything in the direction of "an icon to show in the background running applications"

Please see:

  1. https://wiki.gnome.org/Initiatives/StatusIconMigration/Guidelines
  2. https://wiki.gnome.org/Initiatives/StatusIconMigration/FAQ
  3. https://blogs.gnome.org/aday/2017/08/31/status-icons-and-gnome/
  4. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1014

@maymage
Copy link

maymage commented Jul 4, 2021

@EvanHahn-Signal
The issue is the same on GNOME under Debian/Ubuntu.

@fabiscafe
Copy link
Author

@maymage Ubuntu does ship a customized GNOME that brings an extension for appindicator support. So Ubuntu does support it.
Since this however is a distro level solution, Please let's stay away from a distro-level discussion, but only go for "what upstream desktops/wm officially support". Otherwise we will end up in a "install this and that extension"- kind of talk without touching the problem itself.

@maymage
Copy link

maymage commented Jul 4, 2021

Sorry, I just wanted to point out, that in my installations of ubuntu and debian - both with vanialla gnome desktop - there is no system tray.
Hence this issue is also valid for ubuntu and debian, which signal supports and not limited to unsupported distributions such as Arch,
as @EvanHahn-Signal suggested.

@fabiscafe
Copy link
Author

with vanialla gnome desktop

In that case it's true of course. 👍

@EvanHahn-Signal
Copy link
Contributor

I think there are three possible solutions here:

  1. Hide the user setting when we detect that the system tray is not supported
  2. Somehow figure out how to make the system tray work in more situations
  3. Show the setting with a warning that says something like "this may not work on Linux"

Given how weird some Linux WMs can be, I'm thinking we should do the first option...what do people think?

@hiqua
Copy link
Contributor

hiqua commented Jul 6, 2021

I think you should do 3., but with the message "this may not work on your WM" or something like that. From the app you already know you're running on Linux.

Honestly I think doing nothing is also adequate. Users will encounter the same issues with many other apps, and it's covered by the GNOME FAQ: https://wiki.gnome.org/Initiatives/StatusIconMigration/FAQ

Some workarounds are listed (installing some extension, as mentioned previously).

@fabiscafe
Copy link
Author

Hide the user setting when we detect that the system tray is not supported

The user might still want to have it running in the background. This would create a bigger problem then it is.

Somehow figure out how to make the system tray work in more situations

The only possibility is to enforce the usage of a shell extension on the user. That extension might however not work on the version the user runs or some other.

Show the setting with a warning that says something like "this may not work on Linux"

That would be an option. One I'm no fan of.

What about the solution of the old implementation, just use "run in background" instead of "tray"? As far as I can tell there is no option that is only reachable via tray icon. Notification clicks will raise the app window as well as the click on the app-launcher. The only part that doesn't fit is the string of text.

@maymage
Copy link

maymage commented Jul 10, 2021

I second the comment of @fabiscafe

The functionality of Signal running in the background or not is independent of any systray integration.

Signal should be fully functional without a systray, but may of course integrate with it, if present.

@Victor239
Copy link

I use KDE with libappindicator but I can see the benefits with GNOME's approach to deprecating tray icons as my own system tray is already cluttered.

Like the two most recent posters have mentioned, simply change the text when it's detected that system tray isn't supported:

  • "Minimize to start tray" becomes "Minimize to background"
  • "Start minimized to tray" becomes "Start in background"

@soloturn
Copy link

i second the comment of @fabiscafe .

@EvanHahn-Signal EvanHahn-Signal changed the title Better support for lack of system tray Linux GNOME Add official support for system tray on Linux Sep 3, 2021
@EvanHahn-Signal
Copy link
Contributor

I've renamed this issue to match its new intent: adding official support for the system tray on Linux. Currently, the system tray is supported on Linux but only on Signal Desktop's beta. It may be unreliable there, but once we can make it reliable for our officially-supported distributions, we'll enable it for all users.

@fabiscafe
Copy link
Author

@EvanHahn-Signal This is not what this issue is about. I made it for this one reason to have better support for how GNOME does it. Is you have no intention to work on this please close it as wontfix.

It's tbh very frustrating to be here as it feels like there is an easy path to go on but for some reason you keep avoiding it.

@savegame
Copy link

savegame commented Sep 7, 2021

KDE no ability to minimize signal to tray

@cachandlerdev
Copy link

I've renamed this issue to match its new intent: adding official support for the system tray on Linux. Currently, the system tray is supported on Linux but only on Signal Desktop's beta. It may be unreliable there, but once we can make it reliable for our officially-supported distributions, we'll enable it for all users.

@EvanHahn-Signal Is support for this feature still planned? Almost a year later, there does not appear to be a setting that will allow the app to minimize to the tray without manually re-adding --use-tray-icon to the Signal.desktop file every time the app updates.

@sudoCss
Copy link

sudoCss commented Jul 28, 2023

any updates on this please?!

@cachandlerdev
Copy link

One temporary workaround if you use the flatpak version is to set an environment variable in Flatseal to enable the tray icon. That way you won't have to manually reset it each time the app updates. I mentioned that solution here: flathub/org.signal.Signal#116 (comment)

I also hope official support is added at some point though.

@sudoCss
Copy link

sudoCss commented Jul 28, 2023

Thank you for your help

if you use the flatpak version

Unfortunately I'm using the official Archlinux build from the Arch core repos, it's a little bit frustrating to add --use-tray-icon to the signal-desktop.desktop file after every update; forget to do it and you may spend a whole day thinking there are no notifications just to realize the next day that you have already missed some really urgent stuff like I did...

I also hope official support is added at some point though.

Hope so too.

@marekrost
Copy link

it's a little bit frustrating to add --use-tray-icon to the signal-desktop.desktop file after every update;

You know that it is possible to override anything in /usr/share/applications? On per-user basis. Simply copy the file into your ~/.local/share/applications/ folder, don't touch file name and only change the contents.

That's how it's supposed to work. And it does in KDE 5 (Plasma).

@sudoCss
Copy link

sudoCss commented Sep 1, 2023

I didn't actually know that, thanks very much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests