Xfce Forum

Sub domains
 

You are not logged in.

#1 2020-03-16 05:54:46

SwampRabbit
Member
Registered: 2016-07-14
Posts: 7

systray (Notification Area) symbolic icons do not adapt to themes

I have been trying to get a few applications to work properly on either Debian Buster or Bullseye with the Xfce desktop and at first I thought it was something the application developers were doing, but now I am not sure if it is an Xfce issue or a combination of issues.

It seems the symbolic icons that are used by systray (Notification Area) do not adapt to gtk dark themes on Xfce panel on Debian Buster or Bullseye.

I have been told that the symbolic icons should change when the panel changes, rather than the old way of needing different icons for light/dark themes.  The icons look fine and are placed in /usr/share/icons/hicolor/symbolic/apps/

During my testing I've done fresh installs of:
   - Mint 19.3 Xfce > adapts as expected, but uses xfce4-xapp-status-plugin OOTB
   - Mint 19.3 Xfce > removed xfce4-xapp-status-plugin, rebooted and adapts as expected using systray (Notification Area)
   - Debian Bullseye - Xfce panel > does not adapt to gtk themes using systray (Notification Area)
   - Debian Bullseye - Mate panel > adapts as expected using systray (Notification Area)
   - MX-19.1 Xfce panel > does not adapt to gtk themes using systray (Notification Area)
   - MX-19.1 Mate panel > adapts as expected using systray (Notification Area)

I see Linux Mint has a custom version of libappindicator on GitHub, could this why Mint Xfce is the only one that the systray (Notification Area) symbolic icon adapts properly?

What would be any general or specific build time and or runtime dependencies needed for applications that use symbolic icons in the xfce-panel systray?

This doesn't help me understand why Debian Bullseye and MX-19.1 with mate works but not with Xfce though. So there is something specific with Mint or possibly Ubuntu derivatives that makes it work. I am going to test with Xubuntu next.

I have cross posted this in some GitHub issues and working with a developer of a few packages to try and find out what could be the problem as well.

This was a fairly recent similar post here https://forum.xfce.org/viewtopic.php?id=13744

Thank you in advance

Offline

#2 2020-03-16 10:38:36

ToZ
Moderator
From: Canada
Registered: 2011-06-02
Posts: 6,381

Re: systray (Notification Area) symbolic icons do not adapt to themes

A few comments:

  1. You should keep track of the version of xfce4-panel for each test in the event that you locate a bug. For example:
    - Mint 19.3 - 4.14.1
    - MX 19.1    - 4.14.1
    - debian bullseye - 14.4.3
    .

  2. You mention xfce4-xapp-status-plugin as one example that doesn't work. That seems to be Mint specific and I can't easily find/install to test. What other applications are having this issue?
    .

  3. Have you tried using the xfce4-statusnotifier-plugin instead? It is intended to work with libappindicator applets.
    .

  4. Which GTK (appearance) and icon themes are you using? You might try some different ones to see if there is any difference. They both can have an effect on the icon being used.

Offline

#3 2020-03-16 14:06:17

SwampRabbit
Member
Registered: 2016-07-14
Posts: 7

Re: systray (Notification Area) symbolic icons do not adapt to themes

@ToZ thank you for your assistance, I can try answer your reply, but won't be able to fully investigate until later this afternoon.

ToZ wrote:

A few comments:
You should keep track of the version of xfce4-panel for each test in the event that you locate a bug. For example:
- Mint 19.3 - 4.14.1
- MX 19.1    - 4.14.1
- debian bullseye - 14.4.3

I can do that, the version and minor version may or may not be part of the problem since it only works with the one with Mint.  But Mint's version may be patched (see below)

ToZ wrote:

You mention xfce4-xapp-status-plugin as one example that doesn't work. That seems to be Mint specific and I can't easily find/install to test. What other applications are having this issue?
.

Sorry for the confusion, I stated the xfce4-xapp-status-plugin works out of the box to display the symbolic icons (sorry if I wasn't clear), xfce4-xapp-status-plugin may be essentially the same thing or similar to xfce4-statusnotifier-plugin.

But the applications' symbolic icons that are not being displayed properly are Linux Mint Warp and GreenWithEnvy (gwe).  Both are being packaged by me for the MX Linux repositories, both have two different developers.  For testing purposes Warp is quick and easy to build locally, although it need the latest Debian, Ubuntu, or Linux Mint.

ToZ wrote:

Have you tried using the xfce4-statusnotifier-plugin instead? It is intended to work with libappindicator applets.
.

I just added xfce4-statusnotifier-plugin to a panel now and it automatically found Blueman Applet and clipit.  xfce4-statusnotifier-plugin seems to use the themes symbolic icons.  I attempted to launch one of the applications (Warp) that isn't working with systray and it popped into systray and not the xfce4-statusnotifier-plugin.  Not sure how to get it to use one or the other at this point yet.  But this may be the solution to the problem.

ToZ wrote:

Which GTK (appearance) and icon themes are you using? You might try some different ones to see if there is any difference. They both can have an effect on the icon being used.

I initially used the defaults in all of the distros.  I did attempt to change them randomly.  I don't know if it is a legacy gtk2 or newer gtk3 theme/icon issue.  I think that is why you asked.


This is the response I got to opening this issue on the Warp GitHub:
https://github.com/linuxmint/warp/issues/10

The custom libappindicator library only allows programs that were written to use libappindicator (vs GtkStatusIcon) to display in the XApp status applet - Warp does not do this, it uses XAppStatusIcon natively.

In Mint 19.3 XFCE we've patched xfce4-panel to work with symbolic icons. I think the upstream version does not currently (I believe we've submitted a patch to them, but I'm not entirely certain).

Mate I believe has had symbolic support for a while, which probably explains why it works.

This and your response leads me to believe that xfce4-statusnotifier-plugin should probably start replacing systray (Notification Area) in the panel.  xfce4-statusnotifier-plugin should handle legacy applications that are designed for systray?

Offline

#4 2020-03-16 14:17:01

ToZ
Moderator
From: Canada
Registered: 2011-06-02
Posts: 6,381

Re: systray (Notification Area) symbolic icons do not adapt to themes

SwampRabbit wrote:

xfce4-statusnotifier-plugin should handle legacy applications that are designed for systray?

The status notifier plugin supports only application indicators (libapplicator). If the app supports it, it should show up in there.

Offline

#5 2020-03-16 14:30:24

SwampRabbit
Member
Registered: 2016-07-14
Posts: 7

Re: systray (Notification Area) symbolic icons do not adapt to themes

ToZ wrote:

The status notifier plugin supports only application indicators (libapplicator). If the app supports it, it should show up in there.

Thank you ToZ, I'll dig into it a bit more after work.

I do appreciate the help, my main goal is to have these applications and any I package in the future to just work OOTB.
Just trying to determine if needing multiple panel plugins is needed at this time.

Offline

#6 2020-03-17 01:10:29

SwampRabbit
Member
Registered: 2016-07-14
Posts: 7

Re: systray (Notification Area) symbolic icons do not adapt to themes

It looks like I need to track down this patch that Linux Mint has for the xfce-panel, I would assume some distros have it included by now.

Below is the response by the Mint team.

This has nothing to do with libappindicator - warp doesn't use it.

The reason they are recommending that you use the other plugin is probably because when it's an appindicator 'icon' - the icon is rendered by the panel/plugin, not the application that the icon is for. So as a result, it's much easier for them to render symbolic icons.

GtkStatusIcon programs are rendering their icon to the xserver, which tells the panel plugin/applet about it, and the applet is simply rendering or re-rendering an existing icon that it really has no control over.

We made XAppStatusIcons (which warp uses) so that the panel/plugin renders the icon (just like libappindicator). We patch appindicator on Mint distros so that those programs that are using it (and not XAppStatusIcon or GtkStatusIcon) to provide a tray icon, will render in an XApp applet instead (such as xfce4-xapp-status-plugin)

Symbolics aren't working in vanilla XFCE4 because I don't think their systray plugin supports it.

    Mint 19.3 Xfce > adapts as expected, but uses xfce4-xapp-status-plugin OOTB our plugin is designed to work here
    Mint 19.3 Xfce > removed xfce4-xapp-status-plugin, rebooted and adapts as expected using systray (Notification Area) we've patched xfce4-panel so the stock system tray supports symbolics
    Debian Bullseye - Xfce panel > does not adapt to gtk themes using systray (Notification Area) vanilla xfce4 does not support symbolics in their system tray
    Debian Bullseye - Mate panel > adapts as expected using systray (Notification Area) mate supports symbolics
    MX-19.1 Xfce panel > does not adapt to gtk themes using systray (Notification Area) **this is an older version of xfce, this wasn't patched to support symbolics
    MX-19.1 Mate panel > adapts as expected using systray (Notification Area) mate supports this

Adding the applet they recommended won't fix the issue with warp or any other program that doesn't specifically use libappindicator for their status icons

Lastly, the old-style systemtray icons (GtkStatusIcon) are deprecated by gtk and more or less unmaintained (this is what deprecated means to them) - this is part of why things such as libappindicator and our xapps have sprouted up. And it's probably why xfce isn't in a hurry to fix things for it (I'm not criticizing at all, it's not an invalid reason). We do what we do as far as patching, etc.. because we're looking at our distro as a whole, and we want things to work and look good, and the alternative is to attempt to explain to our users (with vastly different levels of experience) why this or that is broken - we don't do this for everything, but in certain situations where there's low risk or a simple fix we'll consider it.

Yes this is confusing, it's not you smile

As for having some sort of detection, the reason we supplied XApp applets for mate and xfce4 is so that wouldn't be necessary - you run that applet on your panel, xapp icons render correctly, along with (only in mint) libappindicator programs.

The reason they're not available in older xfce versions (<4.14) is that this is the release that they switched from gtk2 to gtk3, and re-did their plugin interface, so we didn't make a plugin for the older versions.

I assume the bold part is where I will start investigating and also look to see what (patch) makes the Mint xfce-panel work as expected.

Offline

Board footer

Powered by FluxBB