Bugzilla – Bug 377575
hp-systray does not dock to the notification tray
Last modified: 2008-09-12 07:12:52 UTC
The hp-systray applet always starts as it's own process and creates an icon in the top left corner, instead of docking to the notification tray. This is a KDE applet.
Here's the output when starting it from a terminal; mboman@mblxsrv01:~/Desktop> hp-systray HP Linux Imaging and Printing System (ver. 2.8.4) System Tray Status Service ver. 0.1 Copyright (c) 2001-8 Hewlett-Packard Development Company, LP This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to distribute it under certain conditions. See COPYING file for more details. QSettings: failed to open file '/usr/lib/qt3//etc/settings/qt_plugins_3.3rc' X Error: BadValue (integer parameter out of range for operation) 2 Major opcode: 25 Minor opcode: 0 Resource id: 0x0
Looks like a bug in the hp-systray application, generally gnome and kde support the systray specification. And we don't ship hp-systray in opensuse afaict.
It's installed when a HP Printer is configured.
Yah, I see it now with the very recent hplip. Can you replicate this with other kde3 systray applets on autostart?
Will check it on Thursday when I'm back home.
Magnus: aren't you back home? :-) (or "ping")
The same thing happens for me with hp-systray and with ncl_tray from Novell Client 2.0.
So now I can see this, although it embeds in the notification area. The issue is that it's only one or two pixels large... I'd say it's a bug in the code on the client side (ie, in hplip), though.
*** Bug 389583 has been marked as a duplicate of this bug. ***
So thats two now. Interestingly though knetworkmanager loads fine and hp-systray -x loads for me with the X error mentioned above. Magnus, same status for you as before?
I should add that the novell client 2.0 shows up intermittently on all platforms of SuSE we've tried it on: SLED10, SLED10 SP1, OpenSuSE 10.3, OpenSuSE 11. I was thinking perhaps something changed in the api from Suse 9 to 10 that the novell client, and possibly the HP app didn't change with it?
Yes, still happening.
By default, hp-systray uses qt3. The problem, it seems, is that there's no widget in qt3 for the status icons (like GtkStatusIcon), so the systray protocol is implemented in python. However, there's a qt4 backend that works. So, we have a choice: + try to fix the python systray implementation (probably doable) + switch to the qt4 backend by default (adds a dependency on python-qt4) What do you think?
I have same thing here. Funnily, if I start knetworkmanager later, the knetworkmanager systray icons appear and the hp-systray docks as well.
Johannes, see comment #13 above. Can we make the qt4 backend the default backend?
Same thing here with Gnome OpenSuSE 11.
Known problem with hp-systray, solution: start with --qt4 commandline option. You can do this by editting: /etc/xdg/autostart/hplip-systray.desktop See https://answers.launchpad.net/hplip/+question/32895
That's for KDE4 isn't it? I'm running Gnome. I encountered something else: whenever I start Amarok, it takes a couple of seconds, after that the systray gets wider. Then the HP-systray icon gets placed into the proper place in the notification area and at the same time its entry vanishes from the Window List.One second later the Amarok icon gets placed near the HP-systray icon. I'm going to do a full reboot to see what effect this has on it, and post back then.
OK, did the reboot and the problem persisted, that is I had to start Amarok and then noth icons (HP-status service + Amarok) went to the notification area. I then added Amarok to the Startup Programs, rebooted and ... problem solved, for me that is. Both icons (Amarok + HP-status service) are in the notification area right after booting.(and nothing in the Window List)
(In reply to comment #20 from Laurens Janssen) > That's for KDE4 isn't it? > I'm running Gnome. I'm running Gnome too, the solution works for me.
I've tried your solution Maurice but it didn't work for me. So I reinstated the solution I posted above, rebooted and it worked like a charm.
Did some experimenting with PowerTop. As a result I saw that Amarok in the notification area used many Wakeups per second, so I made a script that after a delay exits Amarok in the notification area. From that moment on the hp-systray applet stays in the notification area and works OK. (In other words when using amarok as a bootstrap to get the hp-systray applet in the right place, namely the notification area, and when that has happened, you can kill the amarok icon in the notification area.The hp-systray applet stays where it is from that moment on.)
Fix for next openSUSE version.
The HPLIP developers think that the --qt4 parameter "is a workaround only if the user has issues (not all do)" and that "it would be better to wait and add a pyqt4 dependency when HPLIP is fully converted over to Qt4", see https://bugs.launchpad.net/hplip/+bug/231978 in particular https://bugs.launchpad.net/hplip/+bug/231978/comments/7 Therefore I wonder how I could apply the --qt4 parameter only if it is relly needed. I don't know how all this desktop stuff works, in particular because there is Gnome, KDE3 and KDE4 and I fear that the --qt4 parameter may break someting elsewhere. Vincent, what do you think, should I simply add the --qt4 parameter in any case or could this break someting elsewhere?
*** Bug 424930 has been marked as a duplicate of this bug. ***
Johannes: I'm note sure I understand upstream comment, but definitely a lot of users are seeing this bug. I don't think this would break anywhere, and upstream didn't say it might break, so I'd just go ahead and use --qt4.
What about a little script, a sort of wrapper that check which DE is in use and add te --qt4 switch if needed ?! For kde we have $KDE_SESSION_VERSION. $DESKTOP_SESSION could be useful too...
Right now I submitted hplip to FACTORY. This package should be available in openSUSE 11.1 beta1. It requires python-qt4 and will install this /etc/xdg/autostart/hplip-systray.desktop ------------------------------------------------------------------ [Desktop Entry] Version=0.6 Type=Application Name=HP System Tray Service GenericName=Printer Status Applet Comment=HP System Tray Service Exec=hp-systray --qt4 Icon=/usr/share/hplip/data/images/48x48/prog.png Terminal=false Categories=Application;Utility; X-KDE-StartupNotify=false StartupNotify=false ------------------------------------------------------------------
If you like to test the new stuff now: I provide for testing HPLIP version 2.8.7 (packages hplip-2.8.7 and hplip-hpijs-2.8.7) for openSUSE 10.2, openSUSE 10.3, openSUSE 11.0 and for the openSUSE development version "FACTORY" for 32-bit Intel compatible (i586) and 64-bit AMD (x86_64) via the openSUSE build service at http://download.opensuse.org/repositories/home:/jsmeix/ In particular for openSUSE 11.0 for 32-bit Intel compatible computers it is available at http://download.opensuse.org/repositories/home:/jsmeix/openSUSE_11.0/i586/ The packages are * only for testing * without any guarantee or warranty * without any support As an extreme example, this means that if your complete computer center crashes because of these packages, it is only your problem. On the other hand this does not mean that those packages are known to be terrible broken but they are not thoroughly tested so that any unexpected issue can happen. For example I did only a quick test with a HP LaserJet 1220 all-in-one device on a 32-bit workstation with openSUSE 11.0 so that whatever mess might happen otherwise. Do not use FACTORY if your system is 10.2 10.3 or 11.0. Use the matching package for your particular system. FACTORY is not better, it is worse when you have openSUSE 10.2 10.3 or 11.0. Using whatever packages from FACTORY in a openSUSE 10.2 10.3 or 11.0 system causes crashes in arbitrary cases because you would also need the base system from FACTORY. You can easily mess up your openSUSE 10.2 10.3 or 11.0 system with FACTORY updates. In case of problems the RPM changelog via rpm -q --changelog hplip might provide hints which change cause an issue in particular on older systems (openSUSE 10.2 10.3). The version number 2.8.7 is higher than the version of the original packages in openSUSE 10.2 10.3 or 11.0 so that you may have to remove installed hplip-2.8.7 and hplip-hpijs-2.8.7 packages manually using (as root) rpm -e --nodeps hplip hplip-hpijs before you could re-install the original packages for openSUSE 10.2 10.3 or 11.0.
By the way: The "failed to open file '/usr/lib/qt3//etc/settings/qt_plugins_3.3rc'" issue in comment #1 is bug #396181.