-
-
Notifications
You must be signed in to change notification settings - Fork 130
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
Using the new XdgIconLoaderEngine, Qt4 status notifier items have no icon #1081
Comments
The weird thing is that I (still) don't see any difference between |
If that's the case, it should be fixed before the next release, IMHO. Sorry that I can't help (I didn't have time to try XdgIconLoaderEngine and still use my old trick lxqt/lxqt-qtplugin#9). I may be totally lost asking this but how could a Qt5 icon loader affect Qt4 apps? Here, without XdgIconLoaderEngine, I see Skype's icon among status notifier items. |
Well, that's actually a good question. I think that's because lxqt-panel is the one using XdgIconLoaderEngine, and the Qt4 apps are using the StatusNotifierItem protocol. |
The way I see it, the problem is not about Qt4, or the SNI protocol. It's about the icon loader engine stating that it found icons that it didn't find. |
@paulolieuthier Can you give me an example ? |
KeePassX and MEGASync. |
Keepassx works too here, but appset-qt is not visible, was always wondering why. No other qt4 stuff to test with. |
I'd would like to sort this out, but both megasync & keepasx are working here... |
I'm still somewhat confused about the differences between tray icons and status-notifier icons, is this issue about both? Because keepassx, recordmydesktop and qstardict do not notify anything and are in the systray. |
I'm in the same situation as @palinek. keeppassx, megasync, appset-qt and skype work Ok im my system. |
Skype always worked, megasyncjust installed too. So the only one for me is appset-qt which is invisible. |
Are you all using the lastest version of Qt, as in Arch? It's very weird that I'm the only one seeing it. It works for me only when I disable our custom icon loader engine in lxqt-qtplugin. |
@paulolieuthier I'm running Arch qt5-base 5.6.1-2 |
@luis-pereira |
I'm running latest arch + lxqt stuff. Clearly I remember that when I installed appset-qt June 2 the icon in tray was working and stopped after, probably June 7, that was still with qt5.6; looking at pacman's log this would not be related to qtplugin, at least not directly
|
@paulolieuthier Just updated to Qt 5.7.0 on Arch. Now I'm able to reproduce it. |
Can we close this ? After lxqt/lxqt-qtplugin@411f696 everything works fine to me. |
The only program which wasn't displayed here correctly was appset-qt, I notice now that it works even before upgrading lxqt-qtplugin-git (0.10.0.7.g3ad671e-1 -> 0.10.0.8.g411f696-1) which makes me think that this is not related to qtplugin. EDIT: nope, after upgrading qt-plugin appset-qt is not displayed and main window is only displayed after doing appset-qt-lauch.sh and appset-qt but no tray. I do a full upgrade of everything now. |
Running lastest Arch, lxqt-panel and lxqt-qtplugin. Qt4 (sni-qt) apps are still icon-less. |
After full upgrade appset-qt has still problems, but I think that it's fault. |
Of course it works if I unninstall sni-qt, but then Qt4 apps will appear in the old system tray, which is not what we want. If I checkout lxqt/lxqt-qtplugin@4a3d790 (the commit before the commit that introduces the new icon loader engine), it works perfectly. @luis-pereira does it work for you with sni-qt installed? |
I missed something, I was never running sni-qt, as it's dependency was optional. Running it I see same problems. |
@paulolieuthier Can you pls test with the libqtxdg backport branch ? p.s. Long delay. Real life gets in the way. |
After upgrading LXQt last week, I forgot to say that all sni-qt apps are OK here. |
Actually I didn't debug the statusnotifier thing, yet. |
Is it possible that this difference in results is due to the icon theme? On Debian, I don't have breeze and everything is OK. On Manjaro, when breeze is activated, I see no problem but there I have only one sni-qt app. |
I had already tried with other icon themes, same thing. |
@luis-pereira: on top of your branch, the following patch is a workaround to the bug: diff --git a/plugin-statusnotifier/statusnotifierbutton.cpp b/plugin-statusnotifier/statusnotifierbutton.cpp
index 0aa68c4..adc87a6 100644
--- a/plugin-statusnotifier/statusnotifierbutton.cpp
+++ b/plugin-statusnotifier/statusnotifierbutton.cpp
@@ -136,9 +136,8 @@ void StatusNotifierButton::refetchIcon(Status status)
QIcon nextIcon;
if (!iconName.isEmpty())
{
- if (QIcon::hasThemeIcon(iconName))
- nextIcon = QIcon::fromTheme(iconName);
- else
+ nextIcon = QIcon::fromTheme(iconName);
+ if (nextIcon.isNull())
{
QDir themeDir(mThemePath);
if (themeDir.exists()) The thing is that |
@paulolieuthier Thanks for the great clue. When real life gets a little bit out of the way (begining of next week) it will be much faster. |
It was always returning true. Closes #98. Closes lxqt/lxqt#1081.
Although lxqt/libqtxdg#99 fixes the issue with the statusnotifier icons, lxqt/libqtxdg#97 (the backport branch) is still needed for other icons issues, like with pcmanfm-qt: |
@paulolieuthier Sure. But this particular issue is about the Status Notifier. |
Yeah, sure. I'm just keeping record of it. |
It was always returning true. Closes #98. Closes lxqt/lxqt#1081.
It's my turn to report a similar problem ;) Edit: I was wrong about Pidgin but not about Skype. Here Skype has a tray icon when run under KDE but not under LXQt. |
@tsujan Skype does not support the Status Notifier specification, so it should appear in the old system tray plugin. Plasma turns XEmbed icons into SNIs using a bridge. |
On Debian and when 32-bit sni-qt is installed, Skype's tray icon appears in LXQt's Status Notifier -- I never use the old systray. |
Did you realy get e.g. pidgin icon into SNI? I've never succeeded ... |
Yes! That requires Edit: As far as I see, the only difference is the Qt version. |
@tsujan What do you don't see ? Only the icon or the item is not there ? |
@luis-pereira Second, it's only about Skype so far: it has no item in the status notifier at all. |
sni-qt turns Qt4's
QSystemTray
items intoStatusNotiferItem
s. After the newXdgIconLoaderEngine
addition to our Qt plugin (lxqt/lxqt-qtplugin#10), those icons are no longer visible.This is what happens (AFAIK):
QIcon
for that icon (source).QIcon
creates the icon through our engine (source).XdgIconLoaderEngine
can't find sni-qt powered icons, because those are in private, custom folders.QIcon
instance created is valid (source) and lxqt-panel won't search for the icons in the custom theme folders because it thinks the icons were found in the system theme.This needs to be fixed in the current milestone.
The text was updated successfully, but these errors were encountered: