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

Status Notifier not showing correct icons having dash in their names #260

Closed
ahsand97 opened this issue Jun 1, 2021 · 117 comments · Fixed by #261
Closed

Status Notifier not showing correct icons having dash in their names #260

ahsand97 opened this issue Jun 1, 2021 · 117 comments · Fixed by #261

Comments

@ahsand97
Copy link

ahsand97 commented Jun 1, 2021

Expected Behavior

All applications that use appindicator should display their icon correctly in the panel.

Current Behavior

Some applications don't display their appindicator icon, it just shows the generic application-x-executable icon, Remmina is one of them, if I install Remmina normally and run it, it doesn't show the appindicator icon but it does display the icon correctly with the package Remmina-appindicator which is a Remmina version compiled with its own libappindicator as far as I know.
I'm developing some apps in Python and Java with GTK3 and have tested on both languages libraries that creates appindicators and same thing happens, no icon showing just the generic application-x-executable.

Remmina package: (it shows the generic application-x-executable icon for the appindicator)
image

Remmina-appindicator package: (it shows correctly its icon for the appindicator)
image

JappIndicator library to create AppIndicators in Java: (I've tested this on XFCE and GNOME and both works perfectly)
image

SystemTray library to create AppIndicators in Java: (tested on both XFCE and GNOME too and it works)
image

The only log I see when I run lxqt-panel from console and run those apps is this (don't really know if packages are missing):

Systray started
()
Error on DBus request(org.kde.StatusNotifierItem-1207-2,/StatusNotifierItem): QDBusError(org.freedesktop.DBus.Error.UnknownProperty, Property org.kde.StatusNotifierItem.IconThemePath was not found in object /StatusNotifierItem)
Error on DBus request(org.kde.StatusNotifierItem-1208-1,/StatusNotifierItem): QDBusError(org.freedesktop.DBus.Error.UnknownProperty, Property org.kde.StatusNotifierItem.IconThemePath was not found in object /StatusNotifierItem)
Error on DBus request(:1.66,/org/ayatana/NotificationItem/example_simple_client): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No existe la propiedad «ToolTip»)
Error on DBus request(:1.66,/org/ayatana/NotificationItem/example_simple_client): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No existe la propiedad «OverlayIconName»)
Error on DBus request(:1.66,/org/ayatana/NotificationItem/example_simple_client): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No existe la propiedad «OverlayIconPixmap»)
Possible Solution
Steps to Reproduce (for bugs)
  1. Install Remmina or use this libraries for java to create appindicators (JappIndicator or SystemTray)
  2. Run Remmina or the test examples given by those libraries
  3. The apps run perfectly but their appindicator in the panel shows the generic application-x-executable and not the desire icon.
Context

This is really annoying cause I really like appindicators over systray icons and since I develop desktop software I really wanted to use appindicators on lxqt but for some reason no matter what language or library I use same thing happens, it doesn't show the chosen icon.

System Information
  • Distribution & Version: ArcoLinux B LXQT
  • Kernel: 5.10.41-1-lts
  • Qt Version: 5.15.2
  • liblxqt Version: 0.17.0-1
  • lxqt-panel Version: 0.17.1-1
@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

Not reproducible.

To check your report, I installed Remmina (the first icon from the right):

Remmina

@tsujan tsujan closed this as completed Jun 1, 2021
@ahsand97
Copy link
Author

ahsand97 commented Jun 1, 2021

I still can reproducte it , just tested with Garuda Linux LXQT .iso on a virtual machine and just installed Remmina and I still see no icon for its appindicator, same with Manjaro LXQT .iso with virtual machine:

Remmina icon the one with the exclamation symbol
image

Remmina icon the last one on the right
image

How is this not a bug or should I install another package??

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

Make sure you have all core libraries of LXQt and also optional dependencies of Arch's LXQt packages.

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

Also, libappindicator-gtk3 and libappindicator-gtk2 (which should be among optional dependencies but I'm not sure if that's the case with Arch).

@ahsand97
Copy link
Author

ahsand97 commented Jun 1, 2021

All libraries are installed including libappindicator-gtk3 and libappindicator-gtk2 and yes, indeed I've only tested with Arch based distros, but then why it works for Arch + XFCE and Arch + GNOME but nor for LXQT??? maybe there's a dependency I don't know about to make appindicators work but all core dependencies seems to be installed.

For Remmina the only way it shows its appindicator is using the package remmina-appindicator which in the description says it is compiled with appindicator (don't know what does that mean) but for other apps it only shows the application-x-executable icon, the thing is if I remove the Status Notifier Plugin and only use the obsolete SysTray the icons work, all of them, Remmina, the libraries I mentioned for Java, so I guess there's a bug in either a package or in the Status Notifier Plugin or there's something missing.

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

For Remmina the only way it shows its appindicator is using the package remmina-appindicator

I just installed remmina-1:1.4.17-1 with pacman — no need to anything else.

I guess there's a bug in either a package or in the Status Notifier Plugin or there's something missing.

If the problem was in Status Notifier, it should have been reproducible here.

In case something is missing, the packagers should be told about it once it's found.

@ahsand97
Copy link
Author

ahsand97 commented Jun 1, 2021

For Remmina the only way it shows its appindicator is using the package remmina-appindicator

I just installed remmina-1:1.4.17-1 with pacman — no need to anything else.

I guess there's a bug in either a package or in the Status Notifier Plugin or there's something missing.

If the problem was in Status Notifier, it should have been reproducible here.

In case something is missing, the packagers should be told about it once it's found.

How it works for you and not for recently downloaded distros tested on virtual machines?? that's the thing that confuses me, you say it works but then I test a virtual machine sudo pacman -S remmina and it doesn't show its appindicator icon (just a generic one), call me crazy but there's either a bug or there's a package needed to be installed not docummented .

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

How it works for you and not for recently downloaded distros tested on virtual machines?

Most probably, a package is missing from Arch's optional dependencies and, being based on Arch, those distros inherit its lack. libappindicator-gtk3 was the first thing that came to my mind but you say that you have it.

@stefonarch
Copy link
Member

stefonarch commented Jun 1, 2021

I just installed remmina on arch and see the generic executable icon too.
Both versions of libappindicator-gtk installed.
I had a similar issue with telegram some weeks ago, which I never tracked really down.
In Vbox Lubuntu with LXQt 0.16 it is ok.

$ pacman -Qi remmina
....
Depends On      : avahi  libgcrypt  libssh  vte3  libsodium  libappindicator-gtk3
Optional Deps   : freerdp: RDP plugin [installed]
                  libsecret: Secret plugin [installed]
                  libvncserver: VNC plugin
                  libxkbfile: NX plugin [installed]
                  nxproxy: NX plugin
                  spice-gtk: Spice plugin
                  telepathy-glib: Telepathy plugin
                  xorg-server-xephyr: XDMCP plugin [installed]
                  gnome-terminal: external tools

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

Very interesting!

I've never had a problem with Telegram's icon either. I use Manjaro Testing, which sometimes skips bad upgrades in Arch.

A missing package or a faulty one?

@ahsand97
Copy link
Author

ahsand97 commented Jun 1, 2021

The only log I see on the LXQT panel everytime an application "ask" to register a StatusNotifierItem (appindicator) is this:

Error on DBus request(:1.66,/org/ayatana/NotificationItem/example_simple_client): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No existe la propiedad «ToolTip»)
Error on DBus request(:1.66,/org/ayatana/NotificationItem/example_simple_client): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No existe la propiedad «OverlayIconName»)
Error on DBus request(:1.66,/org/ayatana/NotificationItem/example_simple_client): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No existe la propiedad «OverlayIconPixmap»)

There's definetely a bug, I mean....there has to be and it's not remmina cuz it works normally on other desktop environments, even with Arch based distros, and I've tested a couple of libraries to create AppIndicators yourself for different languages and all of them show correct icon in other desktop environments but the default generic one for LXQT.
I've managed to create GTKStatusIcon in LXQT perfectly and all of them work well (including Remmina icon if the SatusNotifier Plugin is not in the panel) but I really prefer AppIndicators since the other one is gonna be deprecated just like the Systray Plugin of lxqt-panel

@stefonarch
Copy link
Member

As I mentioned in Discussions, telegram's issue was both on debian and arch at one moment, and it solved by itself somehow.

@stefonarch
Copy link
Member

stefonarch commented Jun 1, 2021

Error is (translated):

Systray started
Paint error
Error on DBus request(:1.175,/org/ayatana/NotificationItem/remmina_icon): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, Property «ToolTip» inexistent)
Error on DBus request(:1.175,/org/ayatana/NotificationItem/remmina_icon): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, Proprietà «OverlayIconName» inesistente)
Error on DBus request(:1.175,/org/ayatana/NotificationItem/remmina_icon): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, Proprietà «OverlayIconPixmap» inexistent)
Error on DBus request(:1.175,/org/ayatana/NotificationItem/remmina_icon): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, Proprietà «AttentionIconPixmap» inexistent)

@ahsand97
Copy link
Author

ahsand97 commented Jun 1, 2021

Error is (translated):

Systray started
Paint error
Error on DBus request(:1.175,/org/ayatana/NotificationItem/remmina_icon): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, Property «ToolTip» inexistent)

That's exactly the same log I put on the report and what happens to me everytime an application asks to create an AppIndicator

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

That's exactly the same log

It isn't. Yours is about example_simple_client.

To make sure that no magic happened, I installed Remmina again (has uninstalled it after the first test) and its tray icon appeared correctly inside Status Notifier.

@ahsand97
Copy link
Author

ahsand97 commented Jun 1, 2021

That's exactly the same log

It isn't. Yours is about example_simple_client.

To make sure that no magic happened, I installed Remmina again (has uninstalled it after the first test) and its tray icon appeared correctly inside Status Notifier.

Both logs shows same error, and yes, it works for you not for us, you can download yourself Garuda Linux LXQT or any arch + lxqt based distro and type sudo pacman -Sy remmina and it perfectly shows (just like the pictures I put) that it only shows the generic.

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

In addition, I've always had these lines about solaar, while its tray icon has always been OK:

Error on DBus request(:1.31,/org/ayatana/NotificationItem/indicator_solaar): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No such property “ToolTip”)
Error on DBus request(:1.31,/org/ayatana/NotificationItem/indicator_solaar): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No such property “OverlayIconName”)
Error on DBus request(:1.31,/org/ayatana/NotificationItem/indicator_solaar): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No such property “OverlayIconPixmap”)
Error on DBus request(:1.31,/org/ayatana/NotificationItem/indicator_solaar): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No such property “AttentionIconPixmap”)

So, I don't think the error is pertinent to this report.

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

you can download yourself Garuda Linux LXQT or any arch + lxqt based distro and type sudo pacman -Sy remmina

No one denied your observation. It just doesn't prove that the problem you see is in Status Notifier.

@ahsand97
Copy link
Author

ahsand97 commented Jun 1, 2021

is there any way to debug lxqt-panel or the Status Notifier Plugin??? I'd really like to solve the problem.

you can download yourself Garuda Linux LXQT or any arch + lxqt based distro and type sudo pacman -Sy remmina

No one denied your observation. It just doesn't prove that the problem you see is in Status Notifier.

@ahsand97
Copy link
Author

ahsand97 commented Jun 1, 2021

In addition, I've always had these lines about solaar, while its tray icon has always been OK:

Error on DBus request(:1.31,/org/ayatana/NotificationItem/indicator_solaar): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No such property “ToolTip”)
Error on DBus request(:1.31,/org/ayatana/NotificationItem/indicator_solaar): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No such property “OverlayIconName”)
Error on DBus request(:1.31,/org/ayatana/NotificationItem/indicator_solaar): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No such property “OverlayIconPixmap”)
Error on DBus request(:1.31,/org/ayatana/NotificationItem/indicator_solaar): QDBusError(org.freedesktop.DBus.Error.InvalidArgs, No such property “AttentionIconPixmap”)

So, I don't think the error is pertinent to this report.

Just Installed solaar , generic icon

image

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

Just Installed solaar , generic icon

LOL! I use it for years.

is there any way to debug lxqt-panel or the Status Notifier Plugin?

The main job is done in https://github.com/lxqt/lxqt-panel/blob/master/plugin-statusnotifier/statusnotifierbutton.cpp.

I'd do debugging if I could reproduce the issue.

@ahsand97
Copy link
Author

ahsand97 commented Jun 1, 2021

Just Installed solaar , generic icon

LOL! I use it for years.

is there any way to debug lxqt-panel or the Status Notifier Plugin?

The main job is done in https://github.com/lxqt/lxqt-panel/blob/master/plugin-statusnotifier/statusnotifierbutton.cpp.

I'd do debugging if I could reproduce the issue.

I can reproduce it right away with any arch + lxqt distro .iso in a virtual machine

Garuda LXQT Virtual Machine, just installed solaar , generic icon:
image

@stefonarch
Copy link
Member

Just tested LXQt git on debian bullseye, remmina icon is fine.

@ahsand97
Copy link
Author

ahsand97 commented Jun 1, 2021

Just tested LXQt git on debian bullseye, remmina icon is fine.

so it is an Arch problem 😨

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

I can reproduce it right away with any arch + lxqt distro .iso in a virtual machine

@ahsand97, you don't need to repeat that. Your report is clear and everyone believes you.

@ahsand97
Copy link
Author

ahsand97 commented Jun 1, 2021

I can reproduce it right away with any arch + lxqt distro .iso in a virtual machine

@ahsand97, you don't need to repeat that. Your report is clear and everyone believes you.

Thanks, since you close the issue I felt forced to prove my point.

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

since you close the issue I felt forced to prove my point.

Oh, closing an issue never means the end of discussion — and this page shows that ;)

Unfortunately, for a reason unknown to me, this page can't be converted to a Discussion.

so it is an Arch problem

We need more info. As I mentioned above, I use Manjaro, which is Arch-based. However, I don't use Manjaro/Arch's LXQt packages.

@tsujan
Copy link
Member

tsujan commented Jun 1, 2021

Arch's (as well as Manjaro's) Qt was upgraded to 5.15.2+kde+xxx. Is it possible that recompilation was needed? My pacman log shows that I recompiled the whole LXQt a week after qt5-base-5.15.2+kde+r177-1 came here (now, it's 5.15.2+kde+r196-1).

@ahsand97
Copy link
Author

ahsand97 commented Jun 2, 2021

Just Installed solaar , generic icon

LOL! I use it for years.

is there any way to debug lxqt-panel or the Status Notifier Plugin?

The main job is done in https://github.com/lxqt/lxqt-panel/blob/master/plugin-statusnotifier/statusnotifierbutton.cpp.

I'd do debugging if I could reproduce the issue.

I downloaded the source code of lxqt-panel, ran cmake -B build -S . , then make and then make install DESTDIR=~/Downloads/lxqt-panel
I see that in the folder ~/Downloads/lxqt-panel there's a couple of folders and inside them there is a lxqt-panel binary but when I execute it says it can't find plugins.

Is there any way to develop/test the panel without replacing my default panel binaries and files??, I was looking in the code of the file you mentioned and there's a fallback function assigning the generic icon when the desired icon fails (?) so I wanna check if something's happening but don't really know how can I compile then run/debug the panel

@tsujan
Copy link
Member

tsujan commented Jul 10, 2021

Ranting isn't helping. Wait until the PRs are merged. If, after that, you see a problem, open another issue.

@stefonarch
Copy link
Member

stefonarch commented Jul 10, 2021

I downloaded the source code of both libxdg and lxqt-panel with your pull requests and after compiling them and install them

Did you switch before compiling to the branches git checkout search_hicolor_before_dashfallbacks in libqtxdg and git checkout status_notifier_icon_extension ?

@ahsand97
Copy link
Author

Ranting isn't helping. Wait until the PRs are merged. If, after that, you see a problem, open another issue.

The bug affect me every day that's why I want it to be solved at least for me cuz I know it takes long to have those changes via pacman and I work with remmina everyday.

I downloaded the source code of both libxdg and lxqt-panel with your pull requests and after compiling them and install them

Did you switch before compiling to the branches git checkout search_hicolor_before_dashfallbacks in libqtxdg and git checkout status_notifier_icon_extension ?

Yes I downloaded those branches, compiled them and installed them and the icons weren't working out of the box.

After cloning the branch status_notificer_icon_extension which has the changes made by @tsujan and adding this changes from the branch statusnotifier-xdgicon got the problem solved.

statusnotifierbutton.cpp from the status_notifier_icon_extension branch

if (QIcon::hasThemeIcon(iconName))
    nextIcon = QIcon::fromTheme(iconName);
else

replacing those lines adding the statusnotifier-xdgicon branch changes solves the issue:

nextIcon = XdgIcon::fromTheme(iconName);
if (nextIcon.isNull())

I don't know if both changes are meant to be in a future release but thanks to both of you for helping solving this annoying issue.
After compiling it having those changes I see appindicator for remmina, solaar, variety, and my own appindicator which uses a .jpg icon in a custom path for the icon:
image

tsujan added a commit that referenced this issue Jul 10, 2021
Dash fallbacks can cause all sorts of troubles. Although the inherited themes were searched *before* them, the code first ignored `hicolor` among the inherited themes and then searched it *after* dash fallbacks. That's corrected by the current patch.

Fixes #260. That report is also an example of how annoying dash fallbacks could be if they aren't used *only* as the last resort.
ahsand97 referenced this issue in lxqt/lxqt-panel Jul 11, 2021
@yan12125
Copy link
Member

I'm not sure if I follow everything here, but seems the only remaining issue is for applications that use absolute paths as icons? (ex: *.appimage). If so, please try this patch:

diff --git a/plugin-statusnotifier/statusnotifierbutton.cpp b/plugin-statusnotifier/statusnotifierbutton.cpp
index 9aff4f08..67a1c8cf 100644
--- a/plugin-statusnotifier/statusnotifierbutton.cpp
+++ b/plugin-statusnotifier/statusnotifierbutton.cpp
@@ -166,7 +166,11 @@ void StatusNotifierButton::refetchIcon(Status status, const QString& themePath)
         QIcon nextIcon;
         if (!iconName.isEmpty())
         {
-            if (QIcon::hasThemeIcon(iconName))
+            if (iconName[0] == QChar::fromLatin1('/'))
+            {
+                nextIcon.addFile(iconName);
+            }
+            else if (QIcon::hasThemeIcon(iconName))
                 nextIcon = QIcon::fromTheme(iconName);
             else
             {

@ahsand97
Copy link
Author

ahsand97 commented Jul 12, 2021

@palinek I can't reply on this and thanks for the feedback, what I was trying to point out is that QIcon::hasThemeIcon(iconName) returns false for the icon remmina-status in the tests I did on my pc and in a virtual machine, so there's no appindicator for remmina even with the latest lxqt-panel and libqtxdg and somehow XdgIcon::fromTheme(iconName) it is able to find it, that's why I asked for that pull request cuz if that line is not added then I still see no appindicator for remmina.

Now that you point out that QIcon::fromTheme(iconName) can have a valid icon even with QIcon::hasThemeIcon(iconName) returning false I did some more tests and it turned out you were right, QIcon::hasThemeIcon("remmina-status") returns false but using QIcon::fromTheme("remmina-status"); I see the icon correctly.

changing here this (returns false for remmina-status icon)

if (QIcon::hasThemeIcon(iconName))
    nextIcon = QIcon::fromTheme(iconName);

for this:

nextIcon = QIcon::fromTheme(iconName);
if (nextIcon.isNull())
{
    QDir themeDir(themePath);

results in the icon being found correctly
image

@yan12125
Copy link
Member

even if hasThemeIcon() is false, the fromTheme() can return a valid icon image.

Excellent point @palinek! Do you know when will it occur?

results in the icon being found correctly

Cool! I'm +1 for that change - get rid of hasThemeIcon() and just use fromTheme().

@palinek
Copy link
Contributor

palinek commented Jul 12, 2021

Do you know when will it occur?

If there is not the "exact match" (meaning the "dash fallback" is available only):

  /*!
      \since 4.6
  
      Returns \c true if there is an icon available for \a name in the
      current icon theme, otherwise returns \c false.
  
      \sa themeSearchPaths(), fromTheme(), setThemeName()
  */
  bool QIcon::hasThemeIcon(const QString &name)
  {
      QIcon icon = fromTheme(name);
  
      return icon.name() == name;
  }   

get rid of hasThemeIcon() and just use fromTheme().

I think that also...

@palinek
Copy link
Contributor

palinek commented Jul 12, 2021

IMO something like this should be used..

$ git diff
diff --git a/plugin-statusnotifier/statusnotifierbutton.cpp b/plugin-statusnotifier/statusnotifierbutton.cpp
index 9aff4f08e..1a5cecd6c 100644
--- a/plugin-statusnotifier/statusnotifierbutton.cpp
+++ b/plugin-statusnotifier/statusnotifierbutton.cpp
@@ -163,12 +163,10 @@ void StatusNotifierButton::refetchIcon(Status status, const QString& themePath)
     }
 
     interface->propertyGetAsync(nameProperty, [this, status, pixmapProperty, themePath] (QString iconName) {
-        QIcon nextIcon;
         if (!iconName.isEmpty())
         {
-            if (QIcon::hasThemeIcon(iconName))
-                nextIcon = QIcon::fromTheme(iconName);
-            else
+            QIcon nextIcon = QIcon::fromTheme(iconName);
+            if (nextIcon.isNull())
             {
                 QDir themeDir(themePath);
                 if (themeDir.exists())

@yan12125
Copy link
Member

IMO something like this should be used..

yeah, this is basically the same patch @ahsand97 tested above (#260 (comment))

@yan12125
Copy link
Member

As a record, that patch is merged in lxqt/lxqt-panel#1637

@yan12125
Copy link
Member

@ahsand97 I'm now considering a different fix than lxqt/lxqt-panel#1637, and I need to know the actual cause that breaks the icon of remmina on your machine. Could you paste the output of the following 3 commands?

$ pacman -Ql remmina
$ pacman -Qkk remmina
$ find /usr/share/icons /usr/share/pixmaps -name 'remmina*'

@ahsand97
Copy link
Author

ahsand97 commented Jul 14, 2021

and I need to know the actual cause that breaks the icon of remmina on your machine

It was not only on my machine but on a new virtual machine using Garuda Linux LXQT with the latest lxqt-panel and libqtxdg too, the only issue I saw is that the function QIcon::hasThemeIcon(iconName) was returning false for the icons remmina-status and solaar-init (the only one I saw was returning true was for the battery icon), in the case of solaar the icon was still showing cuz its property iconThemePath was specified then the plugin tried to find the icon on that path with the allowed extensions (.jpg, .png, .xmp) but for remmina was straight no icon.

I tried changing QIcon::hasThemeIcon(iconName) for XdgIcon::fromTheme(iconName) thanks to this and then tried it with QIcon::fromTheme(iconName) and both worked for the mentioned icons.

pacman -Ql remmina

CLICK TO EXPAND

remmina /usr/
remmina /usr/bin/
remmina /usr/bin/remmina
remmina /usr/bin/remmina-file-wrapper
remmina /usr/include/
remmina /usr/include/remmina/
remmina /usr/include/remmina/plugin.h
remmina /usr/include/remmina/remmina_trace_calls.h
remmina /usr/include/remmina/types.h
remmina /usr/lib/
remmina /usr/lib/pkgconfig/
remmina /usr/lib/pkgconfig/remmina.pc
remmina /usr/lib/remmina/
remmina /usr/lib/remmina/plugins/
remmina /usr/lib/remmina/plugins/remmina-plugin-exec.so
remmina /usr/lib/remmina/plugins/remmina-plugin-kwallet.so
remmina /usr/lib/remmina/plugins/remmina-plugin-rdp.so
remmina /usr/lib/remmina/plugins/remmina-plugin-secret.so
remmina /usr/lib/remmina/plugins/remmina-plugin-spice.so
remmina /usr/lib/remmina/plugins/remmina-plugin-vnc.so
remmina /usr/share/
remmina /usr/share/applications/
remmina /usr/share/applications/org.remmina.Remmina.desktop
remmina /usr/share/applications/remmina-file.desktop
remmina /usr/share/icons/
remmina /usr/share/icons/hicolor/
remmina /usr/share/icons/hicolor/128x128/
remmina /usr/share/icons/hicolor/128x128/apps/
remmina /usr/share/icons/hicolor/128x128/apps/org.remmina.Remmina.png
remmina /usr/share/icons/hicolor/16x16/
remmina /usr/share/icons/hicolor/16x16/apps/
remmina /usr/share/icons/hicolor/16x16/apps/org.remmina.Remmina.png
remmina /usr/share/icons/hicolor/16x16/status/
remmina /usr/share/icons/hicolor/16x16/status/remmina-status.svg
remmina /usr/share/icons/hicolor/22x22/
remmina /usr/share/icons/hicolor/22x22/apps/
remmina /usr/share/icons/hicolor/22x22/apps/org.remmina.Remmina.png
remmina /usr/share/icons/hicolor/22x22/status/
remmina /usr/share/icons/hicolor/22x22/status/remmina-status.svg
remmina /usr/share/icons/hicolor/24x24/
remmina /usr/share/icons/hicolor/24x24/apps/
remmina /usr/share/icons/hicolor/24x24/apps/org.remmina.Remmina.png
remmina /usr/share/icons/hicolor/24x24/status/
remmina /usr/share/icons/hicolor/24x24/status/remmina-status.svg
remmina /usr/share/icons/hicolor/256x256/
remmina /usr/share/icons/hicolor/256x256/apps/
remmina /usr/share/icons/hicolor/256x256/apps/org.remmina.Remmina.png
remmina /usr/share/icons/hicolor/32x32/
remmina /usr/share/icons/hicolor/32x32/apps/
remmina /usr/share/icons/hicolor/32x32/apps/org.remmina.Remmina.png
remmina /usr/share/icons/hicolor/32x32/status/
remmina /usr/share/icons/hicolor/32x32/status/remmina-status.svg
remmina /usr/share/icons/hicolor/48x48/
remmina /usr/share/icons/hicolor/48x48/apps/
remmina /usr/share/icons/hicolor/48x48/apps/org.remmina.Remmina.png
remmina /usr/share/icons/hicolor/48x48/status/
remmina /usr/share/icons/hicolor/48x48/status/remmina-status.svg
remmina /usr/share/icons/hicolor/512x512/
remmina /usr/share/icons/hicolor/512x512/apps/
remmina /usr/share/icons/hicolor/512x512/apps/org.remmina.Remmina.png
remmina /usr/share/icons/hicolor/64x64/
remmina /usr/share/icons/hicolor/64x64/apps/
remmina /usr/share/icons/hicolor/64x64/apps/org.remmina.Remmina.png
remmina /usr/share/icons/hicolor/64x64/status/
remmina /usr/share/icons/hicolor/64x64/status/remmina-status.svg
remmina /usr/share/icons/hicolor/72x72/
remmina /usr/share/icons/hicolor/72x72/apps/
remmina /usr/share/icons/hicolor/72x72/apps/org.remmina.Remmina.png
remmina /usr/share/icons/hicolor/96x96/
remmina /usr/share/icons/hicolor/96x96/apps/
remmina /usr/share/icons/hicolor/96x96/apps/org.remmina.Remmina.png
remmina /usr/share/icons/hicolor/apps/
remmina /usr/share/icons/hicolor/apps/org.remmina.Remmina-symbolic.svg
remmina /usr/share/icons/hicolor/apps/remmina-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/
remmina /usr/share/icons/hicolor/scalable/actions/
remmina /usr/share/icons/hicolor/scalable/actions/remmina-camera-photo-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-connect-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-disconnect-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-document-save-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-document-send-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-duplicate-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-dynres-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-fit-window-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-fullscreen-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-go-bottom-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-keyboard-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-multi-monitor-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-pan-down-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-pan-up-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-pin-down-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-pin-up-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-preferences-system-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-scale-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-switch-page-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/remmina-system-run-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/actions/view-list.svg
remmina /usr/share/icons/hicolor/scalable/apps/
remmina /usr/share/icons/hicolor/scalable/apps/org.remmina.Remmina-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/apps/org.remmina.Remmina.svg
remmina /usr/share/icons/hicolor/scalable/emblems/
remmina /usr/share/icons/hicolor/scalable/emblems/remmina-rdp-ssh-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/emblems/remmina-rdp-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/emblems/remmina-sftp-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/emblems/remmina-spice-ssh-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/emblems/remmina-spice-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/emblems/remmina-ssh-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/emblems/remmina-tool-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/emblems/remmina-vnc-ssh-symbolic.svg
remmina /usr/share/icons/hicolor/scalable/emblems/remmina-vnc-symbolic.svg
remmina /usr/share/locale/
remmina /usr/share/locale/ar/
remmina /usr/share/locale/ar/LC_MESSAGES/
remmina /usr/share/locale/ar/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ast/
remmina /usr/share/locale/ast/LC_MESSAGES/
remmina /usr/share/locale/ast/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ber/
remmina /usr/share/locale/ber/LC_MESSAGES/
remmina /usr/share/locale/ber/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/bg/
remmina /usr/share/locale/bg/LC_MESSAGES/
remmina /usr/share/locale/bg/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/bn/
remmina /usr/share/locale/bn/LC_MESSAGES/
remmina /usr/share/locale/bn/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/br/
remmina /usr/share/locale/br/LC_MESSAGES/
remmina /usr/share/locale/br/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/bs/
remmina /usr/share/locale/bs/LC_MESSAGES/
remmina /usr/share/locale/bs/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ca/
remmina /usr/share/locale/ca/LC_MESSAGES/
remmina /usr/share/locale/ca/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ca@valencia/
remmina /usr/share/locale/ca@valencia/LC_MESSAGES/
remmina /usr/share/locale/ca@valencia/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ckb/
remmina /usr/share/locale/ckb/LC_MESSAGES/
remmina /usr/share/locale/ckb/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/cs/
remmina /usr/share/locale/cs/LC_MESSAGES/
remmina /usr/share/locale/cs/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/da/
remmina /usr/share/locale/da/LC_MESSAGES/
remmina /usr/share/locale/da/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/de/
remmina /usr/share/locale/de/LC_MESSAGES/
remmina /usr/share/locale/de/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/el/
remmina /usr/share/locale/el/LC_MESSAGES/
remmina /usr/share/locale/el/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/en_AU/
remmina /usr/share/locale/en_AU/LC_MESSAGES/
remmina /usr/share/locale/en_AU/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/en_GB/
remmina /usr/share/locale/en_GB/LC_MESSAGES/
remmina /usr/share/locale/en_GB/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/en_US/
remmina /usr/share/locale/en_US/LC_MESSAGES/
remmina /usr/share/locale/en_US/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/eo/
remmina /usr/share/locale/eo/LC_MESSAGES/
remmina /usr/share/locale/eo/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/es/
remmina /usr/share/locale/es/LC_MESSAGES/
remmina /usr/share/locale/es/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/es_VE/
remmina /usr/share/locale/es_VE/LC_MESSAGES/
remmina /usr/share/locale/es_VE/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/et/
remmina /usr/share/locale/et/LC_MESSAGES/
remmina /usr/share/locale/et/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/eu/
remmina /usr/share/locale/eu/LC_MESSAGES/
remmina /usr/share/locale/eu/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/fa/
remmina /usr/share/locale/fa/LC_MESSAGES/
remmina /usr/share/locale/fa/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/fi/
remmina /usr/share/locale/fi/LC_MESSAGES/
remmina /usr/share/locale/fi/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/fr/
remmina /usr/share/locale/fr/LC_MESSAGES/
remmina /usr/share/locale/fr/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/gl/
remmina /usr/share/locale/gl/LC_MESSAGES/
remmina /usr/share/locale/gl/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/he/
remmina /usr/share/locale/he/LC_MESSAGES/
remmina /usr/share/locale/he/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/hi/
remmina /usr/share/locale/hi/LC_MESSAGES/
remmina /usr/share/locale/hi/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/hr/
remmina /usr/share/locale/hr/LC_MESSAGES/
remmina /usr/share/locale/hr/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/hu/
remmina /usr/share/locale/hu/LC_MESSAGES/
remmina /usr/share/locale/hu/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/id/
remmina /usr/share/locale/id/LC_MESSAGES/
remmina /usr/share/locale/id/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ie/
remmina /usr/share/locale/ie/LC_MESSAGES/
remmina /usr/share/locale/ie/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/it/
remmina /usr/share/locale/it/LC_MESSAGES/
remmina /usr/share/locale/it/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ja/
remmina /usr/share/locale/ja/LC_MESSAGES/
remmina /usr/share/locale/ja/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ka/
remmina /usr/share/locale/ka/LC_MESSAGES/
remmina /usr/share/locale/ka/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/kab/
remmina /usr/share/locale/kab/LC_MESSAGES/
remmina /usr/share/locale/kab/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/kk/
remmina /usr/share/locale/kk/LC_MESSAGES/
remmina /usr/share/locale/kk/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/km/
remmina /usr/share/locale/km/LC_MESSAGES/
remmina /usr/share/locale/km/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/kn/
remmina /usr/share/locale/kn/LC_MESSAGES/
remmina /usr/share/locale/kn/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ko/
remmina /usr/share/locale/ko/LC_MESSAGES/
remmina /usr/share/locale/ko/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/lt/
remmina /usr/share/locale/lt/LC_MESSAGES/
remmina /usr/share/locale/lt/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/lv/
remmina /usr/share/locale/lv/LC_MESSAGES/
remmina /usr/share/locale/lv/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/mk/
remmina /usr/share/locale/mk/LC_MESSAGES/
remmina /usr/share/locale/mk/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/mr/
remmina /usr/share/locale/mr/LC_MESSAGES/
remmina /usr/share/locale/mr/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ms/
remmina /usr/share/locale/ms/LC_MESSAGES/
remmina /usr/share/locale/ms/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/my/
remmina /usr/share/locale/my/LC_MESSAGES/
remmina /usr/share/locale/my/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/nb/
remmina /usr/share/locale/nb/LC_MESSAGES/
remmina /usr/share/locale/nb/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/nl/
remmina /usr/share/locale/nl/LC_MESSAGES/
remmina /usr/share/locale/nl/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/oc/
remmina /usr/share/locale/oc/LC_MESSAGES/
remmina /usr/share/locale/oc/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/pl/
remmina /usr/share/locale/pl/LC_MESSAGES/
remmina /usr/share/locale/pl/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/pt/
remmina /usr/share/locale/pt/LC_MESSAGES/
remmina /usr/share/locale/pt/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/pt_BR/
remmina /usr/share/locale/pt_BR/LC_MESSAGES/
remmina /usr/share/locale/pt_BR/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/pt_PT/
remmina /usr/share/locale/pt_PT/LC_MESSAGES/
remmina /usr/share/locale/pt_PT/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ro/
remmina /usr/share/locale/ro/LC_MESSAGES/
remmina /usr/share/locale/ro/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ru/
remmina /usr/share/locale/ru/LC_MESSAGES/
remmina /usr/share/locale/ru/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/shn/
remmina /usr/share/locale/shn/LC_MESSAGES/
remmina /usr/share/locale/shn/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/si/
remmina /usr/share/locale/si/LC_MESSAGES/
remmina /usr/share/locale/si/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/sk/
remmina /usr/share/locale/sk/LC_MESSAGES/
remmina /usr/share/locale/sk/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/sl/
remmina /usr/share/locale/sl/LC_MESSAGES/
remmina /usr/share/locale/sl/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/sq/
remmina /usr/share/locale/sq/LC_MESSAGES/
remmina /usr/share/locale/sq/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/sr/
remmina /usr/share/locale/sr/LC_MESSAGES/
remmina /usr/share/locale/sr/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/sv/
remmina /usr/share/locale/sv/LC_MESSAGES/
remmina /usr/share/locale/sv/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/te/
remmina /usr/share/locale/te/LC_MESSAGES/
remmina /usr/share/locale/te/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/th/
remmina /usr/share/locale/th/LC_MESSAGES/
remmina /usr/share/locale/th/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/tr/
remmina /usr/share/locale/tr/LC_MESSAGES/
remmina /usr/share/locale/tr/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/ug/
remmina /usr/share/locale/ug/LC_MESSAGES/
remmina /usr/share/locale/ug/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/uk/
remmina /usr/share/locale/uk/LC_MESSAGES/
remmina /usr/share/locale/uk/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/uz@cyrillic/
remmina /usr/share/locale/uz@cyrillic/LC_MESSAGES/
remmina /usr/share/locale/uz@cyrillic/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/zh_CN/
remmina /usr/share/locale/zh_CN/LC_MESSAGES/
remmina /usr/share/locale/zh_CN/LC_MESSAGES/remmina.mo
remmina /usr/share/locale/zh_TW/
remmina /usr/share/locale/zh_TW/LC_MESSAGES/
remmina /usr/share/locale/zh_TW/LC_MESSAGES/remmina.mo
remmina /usr/share/man/
remmina /usr/share/man/man1/
remmina /usr/share/man/man1/remmina-file-wrapper.1.gz
remmina /usr/share/man/man1/remmina.1.gz
remmina /usr/share/metainfo/
remmina /usr/share/metainfo/org.remmina.Remmina.appdata.xml
remmina /usr/share/mime/
remmina /usr/share/mime/packages/
remmina /usr/share/mime/packages/remmina-mime.xml
remmina /usr/share/remmina/
remmina /usr/share/remmina/external_tools/
remmina /usr/share/remmina/external_tools/functions.sh
remmina /usr/share/remmina/external_tools/launcher.sh
remmina /usr/share/remmina/external_tools/remmina_filezilla_sftp.sh
remmina /usr/share/remmina/external_tools/remmina_filezilla_sftp_pki.sh
remmina /usr/share/remmina/external_tools/remmina_nslookup.sh
remmina /usr/share/remmina/external_tools/remmina_ping.sh
remmina /usr/share/remmina/external_tools/remmina_traceroute.sh
remmina /usr/share/remmina/theme/
remmina /usr/share/remmina/theme/3024 Day.colors
remmina /usr/share/remmina/theme/3024 Night.colors
remmina /usr/share/remmina/theme/Adventure.colors
remmina /usr/share/remmina/theme/AdventureTime.colors
remmina /usr/share/remmina/theme/Afterglow.colors
remmina /usr/share/remmina/theme/AlienBlood.colors
remmina /usr/share/remmina/theme/Andromeda.colors
remmina /usr/share/remmina/theme/Argonaut.colors
remmina /usr/share/remmina/theme/Arthur.colors
remmina /usr/share/remmina/theme/AtelierSulphurpool.colors
remmina /usr/share/remmina/theme/Atom.colors
remmina /usr/share/remmina/theme/AtomOneLight.colors
remmina /usr/share/remmina/theme/Aurora.colors
remmina /usr/share/remmina/theme/Banana Blueberry.colors
remmina /usr/share/remmina/theme/Batman.colors
remmina /usr/share/remmina/theme/Belafonte Day.colors
remmina /usr/share/remmina/theme/Belafonte Night.colors
remmina /usr/share/remmina/theme/BirdsOfParadise.colors
remmina /usr/share/remmina/theme/Blazer.colors
remmina /usr/share/remmina/theme/Blue Matrix.colors
remmina /usr/share/remmina/theme/BlueBerryPie.colors
remmina /usr/share/remmina/theme/BlulocoDark.colors
remmina /usr/share/remmina/theme/BlulocoLight.colors
remmina /usr/share/remmina/theme/Borland.colors
remmina /usr/share/remmina/theme/Breeze.colors
remmina /usr/share/remmina/theme/Bright Lights.colors
remmina /usr/share/remmina/theme/Broadcast.colors
remmina /usr/share/remmina/theme/Brogrammer.colors
remmina /usr/share/remmina/theme/Builtin Dark.colors
remmina /usr/share/remmina/theme/Builtin Light.colors
remmina /usr/share/remmina/theme/Builtin Pastel Dark.colors
remmina /usr/share/remmina/theme/Builtin Solarized Dark.colors
remmina /usr/share/remmina/theme/Builtin Solarized Light.colors
remmina /usr/share/remmina/theme/Builtin Tango Dark.colors
remmina /usr/share/remmina/theme/Builtin Tango Light.colors
remmina /usr/share/remmina/theme/C64.colors
remmina /usr/share/remmina/theme/CLRS.colors
remmina /usr/share/remmina/theme/Calamity.colors
remmina /usr/share/remmina/theme/Chalk.colors
remmina /usr/share/remmina/theme/Chalkboard.colors
remmina /usr/share/remmina/theme/ChallengerDeep.colors
remmina /usr/share/remmina/theme/Chester.colors
remmina /usr/share/remmina/theme/Ciapre.colors
remmina /usr/share/remmina/theme/Cobalt Neon.colors
remmina /usr/share/remmina/theme/Cobalt2.colors
remmina /usr/share/remmina/theme/CrayonPonyFish.colors
remmina /usr/share/remmina/theme/Cyberdyne.colors
remmina /usr/share/remmina/theme/Dark Pastel.colors
remmina /usr/share/remmina/theme/Dark+.colors
remmina /usr/share/remmina/theme/Darkside.colors
remmina /usr/share/remmina/theme/Desert.colors
remmina /usr/share/remmina/theme/DimmedMonokai.colors
remmina /usr/share/remmina/theme/Django.colors
remmina /usr/share/remmina/theme/DjangoRebornAgain.colors
remmina /usr/share/remmina/theme/DjangoSmooth.colors
remmina /usr/share/remmina/theme/Doom Peacock.colors
remmina /usr/share/remmina/theme/DoomOne.colors
remmina /usr/share/remmina/theme/DotGov.colors
remmina /usr/share/remmina/theme/Dracula+.colors
remmina /usr/share/remmina/theme/Dracula.colors
remmina /usr/share/remmina/theme/Duotone Dark.colors
remmina /usr/share/remmina/theme/ENCOM.colors
remmina /usr/share/remmina/theme/Earthsong.colors
remmina /usr/share/remmina/theme/Elemental.colors
remmina /usr/share/remmina/theme/Elementary.colors
remmina /usr/share/remmina/theme/Espresso Libre.colors
remmina /usr/share/remmina/theme/Espresso.colors
remmina /usr/share/remmina/theme/Fahrenheit.colors
remmina /usr/share/remmina/theme/Fideloper.colors
remmina /usr/share/remmina/theme/FirefoxDev.colors
remmina /usr/share/remmina/theme/Firewatch.colors
remmina /usr/share/remmina/theme/FishTank.colors
remmina /usr/share/remmina/theme/Flat.colors
remmina /usr/share/remmina/theme/Flatland.colors
remmina /usr/share/remmina/theme/Floraverse.colors
remmina /usr/share/remmina/theme/ForestBlue.colors
remmina /usr/share/remmina/theme/Framer.colors
remmina /usr/share/remmina/theme/FrontEndDelight.colors
remmina /usr/share/remmina/theme/FunForrest.colors
remmina /usr/share/remmina/theme/Galaxy.colors
remmina /usr/share/remmina/theme/Github.colors
remmina /usr/share/remmina/theme/Glacier.colors
remmina /usr/share/remmina/theme/Grape.colors
remmina /usr/share/remmina/theme/Grass.colors
remmina /usr/share/remmina/theme/Gruvbox Dark.colors
remmina /usr/share/remmina/theme/Gruvbox Light.colors
remmina /usr/share/remmina/theme/Guezwhoz.colors
remmina /usr/share/remmina/theme/Hacktober.colors
remmina /usr/share/remmina/theme/Hardcore.colors
remmina /usr/share/remmina/theme/Harper.colors
remmina /usr/share/remmina/theme/Highway.colors
remmina /usr/share/remmina/theme/Hipster Green.colors
remmina /usr/share/remmina/theme/Hivacruz.colors
remmina /usr/share/remmina/theme/Homebrew.colors
remmina /usr/share/remmina/theme/Hopscotch.256.colors
remmina /usr/share/remmina/theme/Hopscotch.colors
remmina /usr/share/remmina/theme/Hurtado.colors
remmina /usr/share/remmina/theme/Hybrid.colors
remmina /usr/share/remmina/theme/IC_Green_PPL.colors
remmina /usr/share/remmina/theme/IC_Orange_PPL.colors
remmina /usr/share/remmina/theme/IR_Black.colors
remmina /usr/share/remmina/theme/Jackie Brown.colors
remmina /usr/share/remmina/theme/Japanesque.colors
remmina /usr/share/remmina/theme/Jellybeans.colors
remmina /usr/share/remmina/theme/JetBrains Darcula.colors
remmina /usr/share/remmina/theme/Kibble.colors
remmina /usr/share/remmina/theme/Kolorit.colors
remmina /usr/share/remmina/theme/Konsolas.colors
remmina /usr/share/remmina/theme/Lab Fox.colors
remmina /usr/share/remmina/theme/Laser.colors
remmina /usr/share/remmina/theme/Later This Evening.colors
remmina /usr/share/remmina/theme/Lavandula.colors
remmina /usr/share/remmina/theme/LiquidCarbon.colors
remmina /usr/share/remmina/theme/LiquidCarbonTransparent.colors
remmina /usr/share/remmina/theme/LiquidCarbonTransparentInverse.colors
remmina /usr/share/remmina/theme/Man Page.colors
remmina /usr/share/remmina/theme/Material.colors
remmina /usr/share/remmina/theme/MaterialDark.colors
remmina /usr/share/remmina/theme/MaterialDarker.colors
remmina /usr/share/remmina/theme/MaterialOcean.colors
remmina /usr/share/remmina/theme/Mathias.colors
remmina /usr/share/remmina/theme/Medallion.colors
remmina /usr/share/remmina/theme/Mirage.colors
remmina /usr/share/remmina/theme/Misterioso.colors
remmina /usr/share/remmina/theme/Molokai.colors
remmina /usr/share/remmina/theme/MonaLisa.colors
remmina /usr/share/remmina/theme/Monokai Remastered.colors
remmina /usr/share/remmina/theme/Monokai Soda.colors
remmina /usr/share/remmina/theme/Monokai Vivid.colors
remmina /usr/share/remmina/theme/N0tch2k.colors
remmina /usr/share/remmina/theme/Neopolitan.colors
remmina /usr/share/remmina/theme/Neutron.colors
remmina /usr/share/remmina/theme/Night Owlish Light.colors
remmina /usr/share/remmina/theme/NightLion v1.colors
remmina /usr/share/remmina/theme/NightLion v2.colors
remmina /usr/share/remmina/theme/Nocturnal Winter.colors
remmina /usr/share/remmina/theme/Novel.colors
remmina /usr/share/remmina/theme/Obsidian.colors
remmina /usr/share/remmina/theme/Ocean.colors
remmina /usr/share/remmina/theme/OceanicMaterial.colors
remmina /usr/share/remmina/theme/Ollie.colors
remmina /usr/share/remmina/theme/OneHalfDark.colors
remmina /usr/share/remmina/theme/OneHalfLight.colors
remmina /usr/share/remmina/theme/Operator Mono Dark.colors
remmina /usr/share/remmina/theme/Overnight Slumber.colors
remmina /usr/share/remmina/theme/PaleNightHC.colors
remmina /usr/share/remmina/theme/Pandora.colors
remmina /usr/share/remmina/theme/Paraiso Dark.colors
remmina /usr/share/remmina/theme/Parasio Dark.colors
remmina /usr/share/remmina/theme/PaulMillr.colors
remmina /usr/share/remmina/theme/PencilDark.colors
remmina /usr/share/remmina/theme/PencilLight.colors
remmina /usr/share/remmina/theme/Piatto Light.colors
remmina /usr/share/remmina/theme/Pnevma.colors
remmina /usr/share/remmina/theme/Popping and Locking.colors
remmina /usr/share/remmina/theme/Pro Light.colors
remmina /usr/share/remmina/theme/Pro.colors
remmina /usr/share/remmina/theme/Purple Rain.colors
remmina /usr/share/remmina/theme/Rapture.colors
remmina /usr/share/remmina/theme/Red Alert.colors
remmina /usr/share/remmina/theme/Red Planet.colors
remmina /usr/share/remmina/theme/Red Sands.colors
remmina /usr/share/remmina/theme/Relaxed.colors
remmina /usr/share/remmina/theme/Rippedcasts.colors
remmina /usr/share/remmina/theme/Rouge 2.colors
remmina /usr/share/remmina/theme/Royal.colors
remmina /usr/share/remmina/theme/Ryuuko.colors
remmina /usr/share/remmina/theme/Sakura.colors
remmina /usr/share/remmina/theme/Scarlet Protocol.colors
remmina /usr/share/remmina/theme/SeaShells.colors
remmina /usr/share/remmina/theme/Seafoam Pastel.colors
remmina /usr/share/remmina/theme/Seti.colors
remmina /usr/share/remmina/theme/Shaman.colors
remmina /usr/share/remmina/theme/Slate.colors
remmina /usr/share/remmina/theme/SleepyHollow.colors
remmina /usr/share/remmina/theme/Smyck.colors
remmina /usr/share/remmina/theme/Snazzy.colors
remmina /usr/share/remmina/theme/SoftServer.colors
remmina /usr/share/remmina/theme/Solarized Darcula.colors
remmina /usr/share/remmina/theme/Solarized Dark - Patched.colors
remmina /usr/share/remmina/theme/Solarized Dark Higher Contrast.colors
remmina /usr/share/remmina/theme/Solarized Dark.colors
remmina /usr/share/remmina/theme/Solarized Light.colors
remmina /usr/share/remmina/theme/SpaceGray Eighties Dull.colors
remmina /usr/share/remmina/theme/SpaceGray Eighties.colors
remmina /usr/share/remmina/theme/SpaceGray.colors
remmina /usr/share/remmina/theme/Spacedust.colors
remmina /usr/share/remmina/theme/Spiderman.colors
remmina /usr/share/remmina/theme/Spring.colors
remmina /usr/share/remmina/theme/Square.colors
remmina /usr/share/remmina/theme/Subliminal.colors
remmina /usr/share/remmina/theme/Sundried.colors
remmina /usr/share/remmina/theme/Symfonic.colors
remmina /usr/share/remmina/theme/Tango Adapted.colors
remmina /usr/share/remmina/theme/Tango Half Adapted.colors
remmina /usr/share/remmina/theme/Teerb.colors
remmina /usr/share/remmina/theme/Terminal Basic.colors
remmina /usr/share/remmina/theme/Thayer Bright.colors
remmina /usr/share/remmina/theme/The Hulk.colors
remmina /usr/share/remmina/theme/Tinacious Design (Dark).colors
remmina /usr/share/remmina/theme/Tinacious Design (Light).colors
remmina /usr/share/remmina/theme/Tomorrow Night Blue.colors
remmina /usr/share/remmina/theme/Tomorrow Night Bright.colors
remmina /usr/share/remmina/theme/Tomorrow Night Burns.colors
remmina /usr/share/remmina/theme/Tomorrow Night Eighties.colors
remmina /usr/share/remmina/theme/Tomorrow Night.colors
remmina /usr/share/remmina/theme/Tomorrow.colors
remmina /usr/share/remmina/theme/ToyChest.colors
remmina /usr/share/remmina/theme/Treehouse.colors
remmina /usr/share/remmina/theme/Twilight.colors
remmina /usr/share/remmina/theme/Ubuntu.colors
remmina /usr/share/remmina/theme/UltraViolent.colors
remmina /usr/share/remmina/theme/UnderTheSea.colors
remmina /usr/share/remmina/theme/Unikitty.colors
remmina /usr/share/remmina/theme/Urple.colors
remmina /usr/share/remmina/theme/Vaughn.colors
remmina /usr/share/remmina/theme/VibrantInk.colors
remmina /usr/share/remmina/theme/Violet Dark.colors
remmina /usr/share/remmina/theme/Violet Light.colors
remmina /usr/share/remmina/theme/WarmNeon.colors
remmina /usr/share/remmina/theme/Wez.colors
remmina /usr/share/remmina/theme/Whimsy.colors
remmina /usr/share/remmina/theme/WildCherry.colors
remmina /usr/share/remmina/theme/Wombat.colors
remmina /usr/share/remmina/theme/Wryan.colors
remmina /usr/share/remmina/theme/Zenburn.colors
remmina /usr/share/remmina/theme/ayu.colors
remmina /usr/share/remmina/theme/ayu_light.colors
remmina /usr/share/remmina/theme/coffee_theme.colors
remmina /usr/share/remmina/theme/cyberpunk.colors
remmina /usr/share/remmina/theme/deep.colors
remmina /usr/share/remmina/theme/idea.colors
remmina /usr/share/remmina/theme/idleToes.colors
remmina /usr/share/remmina/theme/jubi.colors
remmina /usr/share/remmina/theme/lovelace.colors
remmina /usr/share/remmina/theme/midnight-in-mojave.colors
remmina /usr/share/remmina/theme/nord.colors
remmina /usr/share/remmina/theme/primary.colors
remmina /usr/share/remmina/theme/purplepeter.colors
remmina /usr/share/remmina/theme/rebecca.colors
remmina /usr/share/remmina/theme/shades-of-purple.colors
remmina /usr/share/remmina/theme/synthwave-everything.colors
remmina /usr/share/remmina/theme/synthwave.colors

pacman -Qkk remmina

remmina: 583 archivos totales, 0 archivos alterados

(583 total files, 0 modified files)

find /usr/share/icons /usr/share/pixmaps -name 'remmina*'

CLICK TO EXPAND

/usr/share/icons/Sardi-Flexible/scalable/apps/remmina.svg
/usr/share/icons/Sardi-Flexible/scalable/panel/remmina-panel.svg
/usr/share/icons/Sardi-Ghost-Flexible/scalable/apps/remmina.svg
/usr/share/icons/hicolor/scalable/emblems/remmina-sftp-symbolic.svg
/usr/share/icons/hicolor/scalable/emblems/remmina-spice-ssh-symbolic.svg
/usr/share/icons/hicolor/scalable/emblems/remmina-rdp-symbolic.svg
/usr/share/icons/hicolor/scalable/emblems/remmina-ssh-symbolic.svg
/usr/share/icons/hicolor/scalable/emblems/remmina-vnc-ssh-symbolic.svg
/usr/share/icons/hicolor/scalable/emblems/remmina-spice-symbolic.svg
/usr/share/icons/hicolor/scalable/emblems/remmina-tool-symbolic.svg
/usr/share/icons/hicolor/scalable/emblems/remmina-rdp-ssh-symbolic.svg
/usr/share/icons/hicolor/scalable/emblems/remmina-vnc-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-connect-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-pin-down-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-scale-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-go-bottom-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-switch-page-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-dynres-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-fit-window-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-keyboard-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-document-save-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-preferences-system-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-pin-up-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-system-run-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-fullscreen-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-pan-up-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-document-send-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-disconnect-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-camera-photo-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-multi-monitor-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-pan-down-symbolic.svg
/usr/share/icons/hicolor/scalable/actions/remmina-duplicate-symbolic.svg
/usr/share/icons/hicolor/apps/remmina-symbolic.svg
/usr/share/icons/hicolor/apps/remmina-status.svg
/usr/share/icons/hicolor/22x22/status/remmina-status.svg
/usr/share/icons/hicolor/32x32/status/remmina-status.svg
/usr/share/icons/hicolor/64x64/status/remmina-status.svg
/usr/share/icons/hicolor/48x48/status/remmina-status.svg
/usr/share/icons/hicolor/16x16/status/remmina-status.svg
/usr/share/icons/hicolor/24x24/status/remmina-status.svg
/usr/share/icons/Sardi-Flat/scalable/apps/remmina.svg
/usr/share/icons/Sardi-Flat/scalable/panel/remmina-panel.svg
/usr/share/icons/Sardi-Mono-Numix/scalable/actions/remmina-fullscreen.svg
/usr/share/icons/Sardi-Mono-Numix/scalable/actions/remmina-fit-window.svg
/usr/share/icons/Sardi-Mono-Numix/scalable/actions/remmina-scale.svg
/usr/share/icons/Sardi-Mono/scalable/apps/remmina.svg
/usr/share/icons/Sardi-Mono/scalable/panel/remmina-panel.svg
/usr/share/icons/Surfn/scalable/apps/scalable/remmina.svg
/usr/share/icons/Surfn/scalable/actions/scalable/remmina-fullscreen.svg
/usr/share/icons/Surfn/scalable/actions/scalable/remmina-fit-window.svg
/usr/share/icons/Surfn/scalable/actions/scalable/remmina-scale.svg
/usr/share/icons/Surfn/scalable/actions/scalable/remmina-switch-page.svg
/usr/share/icons/Surfn/scalable/panel/symbolic/remmina-panel.svg
/usr/share/icons/Surfn/22/actions/remmina-fullscreen.svg
/usr/share/icons/Surfn/22/actions/remmina-fit-window.svg
/usr/share/icons/Surfn/22/actions/remmina-scale.svg
/usr/share/icons/Surfn/22/actions/remmina-switch-page.svg
/usr/share/icons/Surfn/16/actions/remmina-fullscreen.svg
/usr/share/icons/Surfn/16/actions/remmina-fit-window.svg
/usr/share/icons/Surfn/16/actions/remmina-scale.svg
/usr/share/icons/Surfn/16/actions/remmina-switch-page.svg
/usr/share/icons/Surfn/24/actions/remmina-fullscreen.svg
/usr/share/icons/Surfn/24/actions/remmina-fit-window.svg
/usr/share/icons/Surfn/24/actions/remmina-scale.svg
/usr/share/icons/Surfn/24/actions/remmina-switch-page.svg
/usr/share/icons/Surfn/32/actions/remmina-fullscreen.svg
/usr/share/icons/Surfn/32/actions/remmina-fit-window.svg
/usr/share/icons/Surfn/32/actions/remmina-scale.svg
/usr/share/icons/Surfn/32/actions/remmina-switch-page.svg
/usr/share/icons/Sardi/scalable/apps/remmina.svg
/usr/share/icons/Sardi/scalable/actions/remmina-fullscreen.svg
/usr/share/icons/Sardi/scalable/actions/remmina-fit-window.svg
/usr/share/icons/Sardi/scalable/actions/remmina-scale.svg
/usr/share/icons/Sardi/scalable/actions/remmina-switch-page.svg
/usr/share/icons/Sardi/scalable/panel/remmina-panel.svg
/usr/share/icons/Sardi-Orb-Colora/scalable/apps/remmina.svg
/usr/share/icons/Sardi-Orb-Colora/scalable/panel/remmina-panel.svg
/usr/share/icons/candy-icons/apps/scalable/remmina.svg
/usr/share/icons/Surfn-Breeze-Arc/scalable/apps/remmina.svg

@yan12125
Copy link
Member

Packages look normal. My lxqt-panel picks /usr/share/icons/hicolor/32x32/status/remmina-status.svg, and you have that file, too. Let's see what's the behavior of lxqt-panel for you. Could you trace actions done by lxqt-panel?

  • Stop lxqt-panel via lxqt-config-session
  • Run strace -o lxqt-panel.log -s 512 -f lxqt-panel from a terminal
  • Start remmina
  • Upload lxqt-panel.log

It was not only on my machine but on a new virtual machine using Garuda Linux LXQT

I really appreciate your efforts on testing on multiple systems. However, running virtual machines or installing a new system is not an option for me due to weak CPU and quite limited disk space. Others may have different issues as well. As a result, I rely on your more observations to investigate the actual cause.

@ahsand97
Copy link
Author

  • Run strace -o lxqt-panel.log -s 512 -f lxqt-panel from a terminal

log with the latest changes (icon shown correctly)
lxqt-panel.log

log with the previous version (this one, icon not showing)
lxqt-panel_2.log

@yan12125
Copy link
Member

I guess I know why things are broken for you. You have qt5ct, and the latter is known to cause several issues: https://github.com/search?q=org%3Alxqt+qt5ct&type=issues. Try uninstalling qt5ct, set to another style in lxqt-config-appearance and re-login. Older commits like https://github.com/lxqt/lxqt-panel/blob/2f18ff5cd32bec0ee7e15ffbaabbd41b6d5a7a18/plugin-statusnotifier/statusnotifierbutton.cpp should work.

@ahsand97
Copy link
Author

ahsand97 commented Jul 14, 2021

Try uninstalling qt5ct

qt5ct is indeed installed but I don't use it echo $QT_QPA_PLATFORMTHEME gives me lxqt

just removed qt5ct and its files from ~/.config/qt5ct , lxqt-config-appearance is configured to use gtk2 style and still QIcon::hasThemeIcon(iconName) returns false plus in the virtual machine there's no qt5ct installed and pretty much same behaviour.

@yan12125
Copy link
Member

QT_QPA_PLATFORMTHEME=lxqt makes applications load lxqt-qtplugin, and the latter loads the actual style plugin according to the value of style= in the [Qt] section of ~/.config/lxqt/lxqt.conf [1]. That corresponding GUI option is in lxqt-config-appearance as I mentioned above.

lxqt-config-appearance is configured to use gtk2 style

Your log shows qt5ct. From lxqt-panel_2.log,

11370 openat(AT_FDCWD, "/home/ahsan/.config/lxqt/lxqt.conf", O_RDONLY|O_CLOEXEC) = 6
11370 statx(6, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=422, ...}) = 0
11370 statx(6, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=422, ...}) = 0
11370 statx(6, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=422, ...}) = 0
11370 read(6, "[General]\n__theme_updated__=1622365549915\n__userfile__=true\nicon_follow_color_scheme=true\nicon_theme=candy-icons\ntheme=Win10\ntool_button_style=ToolButtonFollowStyle\n\n[Palette]\nbase_color=#2e2e2e\nhighlight_color=#737373\nhighlighted_text_color=#ffffff\nlink_color=#2eb8e6\nlink_visited_color=#ff6666\ntext_color=#ffffff\nwindow_color=#3d3d3e\nwindow_text_color=#ffffff\n\n[Qt]\nfont="Baloo 2,12,-1,5,50,0,0,0,0,0"\nstyle=qt5ct-style\n", 16384) = 422

I guess you run lxqt-config-appearance after uninstalling qt5ct? That program will pick a fallbak option on the GUI, but the actual attempted plugin is still qt5ct.

By the way, the gtk2 style (qgtk2) is no longer maintained. I suggest you get rid of that, too. The package name may be qt5-styleplugins or so.

[1] https://github.com/lxqt/lxqt-qtplugin/blob/f63a6f4bcb84c4fcf1a67bbd5dc4eccd5568565d/src/lxqtplatformtheme.cpp#L232

@ahsand97
Copy link
Author

ahsand97 commented Jul 14, 2021

Your log shows qt5ct. From lxqt-panel_2.log,

I mean after removing qt5ct

Okay so...there's no qt5ct installed no more, QT_QPA_PLATFORMTHEME has always been set to lxqt and I changed lxqt-config-appearance to use kvantum-dark style after removing qt5-styleplugins as you suggested and still QIcon::hasThemeIcon(iconName) is false

log with older commit
lxqt-panel.log

@yan12125
Copy link
Member

Thanks for the patience. Now I'm not sure what is the cause... Anyway, the next target may be the icon theme cache. Could you try to remove this file: /usr/share/icons/hicolor/icon-theme.cache (ex: move it to somewhere else and move it back later), restart lxqt-panel and see if anything changes?

@ahsand97
Copy link
Author

ahsand97 commented Jul 14, 2021

if anything changes

Same result, QIcon::hasThemeIcon(iconName) returns false

Out of curiosity I did this little script to see if same result was giving me another machine with Manjaro XFCE and it was the same

CLICK TO EXPAND

#include <qapplication.h>
#include <QtDebug>
#include <QIcon>

int main( int argc, char **argv ) {
    QApplication a( argc, argv );

    QString iconName = QString("remmina-status");
    qDebug(qUtf8Printable(QString("QIcon::hasThemeIcon -> ") + QVariant(QIcon::hasThemeIcon(iconName)).toString()));
    qDebug(qUtf8Printable(QString("QIcon::fromTheme is null? -> ") + QVariant(QIcon::fromTheme(iconName).isNull()).toString()));

    return a.exec();
}

image

For the icon battery it returns true the function QIcon::hasThemeIcon so I don't know why returns false for icons like remmina-status or solaar-init

@yan12125
Copy link
Member

yan12125 commented Jul 14, 2021 via email

@ahsand97
Copy link
Author

Thanks, could you upload strace logs for strace -o lxqt-panel.log -s 512 -f lxqt-panel or strace -o a.log -s 512 -f ./a.out (a.out is your test program) when /usr/share/icons/hicolor/icon-theme.cache is not there?

(older commit and without /usr/share/icons/hicolor/icon-theme.cache)
lxqt-panel.log

my script, without /usr/share/icons/hicolor/icon-theme.cache
prueba.log

@yan12125
Copy link
Member

Could you double check if /usr/lib/libQt5XdgIconLoader.so.3 is built from the the latest libqtxdg, including the commit dcac08a (ex: check the last modified date of that file)? Note that by default cmake install stuffs to /usr/local. You need cmake -B build -S . -DCMAKE_INSTALL_PREFIX=/usr and sudo make -C build install to override system libraries. From your logs, it appears that hicolor is not searched, and that is the behavior before the recent fix in the aforementioned commit.

Manjaro XFCE

Let's fix issues on LXQt first. I have a fix in my mind for non-LXQt environments, but I'd like to understand the whole situation first.

@ahsand97
Copy link
Author

Could you double check if /usr/lib/libQt5XdgIconLoader.so.3 is built from the the latest libqtxdg

Yes, it is, including the latest commit and pretty much same behaviour

Let's fix issues on LXQt first

Yes of course but since I'm the only one who seem to be able to reproduce it (so far) I guess I'm just gonna stick with XdgIcon::fromTheme(iconName) or QIcon::fromTheme(iconName)

I have a fix in my mind for non-LXQt environments

Great, I only did the test on XFCE out of curiosity to check if the behaviour was the same

@yan12125
Copy link
Member

yan12125 commented Jul 14, 2021 via email

@Dami-star
Copy link

I reproduced this problem when I was using deepin V20. When I installed a wine application, I failed to get the icon from the system theme using QIcon::fromTheme. I tried to upgrade libqtxdg to 3.9.1 (including #261), The problem can still be reproduced

  • Qt Version: Qt 5.15.3
  • cmake Version: 3.19
  • Package version: 3.3.1 and 3.9.1

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

Successfully merging a pull request may close this issue.

7 participants