GNOME Bugzilla – Bug 648773
Java tray Icon does not work (_NET_WM_PID not set)
Last modified: 2020-11-06 22:56:42 UTC
No tray icons of java programmes are displayed in Gnome 3.
THe tray icon of java programme works in fallback mode but does not work in gnome shell mode.
Is GtkStatusIcon supported (ie presented) at all by GNOME Shell? I know there are some people who want to kill off Notification Area GtkStatusIcons, but I also thought they agreed to roll that back that change. I don't know definitively what the HIG policy going forward is (in no small part because there isn't a HIG 3 yet). If someone could say for sure, we could NEW or INVALID this. AfC
Looks like that all programs with tray icons work in gnome shell (their tray icon appears in the bottom area), except Java applications. Their tray icon appear as a very small window among windows. There is something wrong with the java tray icons in Gnome shell.
Hm, I just tried this with notify.ExampleLowBattery from our doc/examples/ tree and it works fine. What version of java-gnome are you using? I'm running 4.1.1-dev. AfC
I am using Oracle Java, not OpenJDK... There is no java-gnome...
Oops, I'm sorry. What I referred to was not related to java-gnome at all. It is about standard JDK tray icons in Gnome Shell. It seems that Warwick is also referring to the same problem (So, the problem applies to both OpenJDK and Orack Java)
Yes. In Gnome 2, IBM JDK and Oracle JDK can display tray icon without any java-gnome. In Gnome 3, same JDK but tray icon is missing.
Not using java-gnome? Ok, that means it's not a java-gnome bug then :) We'll reassign this to the gnome-shell developers; they can probably best advise you what to do, though I suspect they'll say that you're not supposed to use tray icons anymore. Failing that they can reassign to the GTK developers. AfC
(In reply to comment #3) > Looks like that all programs with tray icons work in gnome shell (their tray > icon appears in the bottom area), except Java applications. Their tray icon > appear as a very small window among windows. This suggests that the trayicon client implementation you are using is broken in some way, and thinks that there is no tray available, even though there is one. It's hard to say more without seeing the code. (The code that implements the system tray protocol, not your application code.)
The code is the standard tray icon related code in OpenJDK/Oracle Java. I'm not familiar with the code but it should be probably easy to find the Linux implementation of it in that code. The bug is also opened here: https://bugzilla.redhat.com/show_bug.cgi?id=683768 And probably Gnome developers can collaborate with Java developers to solve this issue which hurts users' experience with Java under Gnome shell.
I want to add I have the same problem. The not working tray icon would be okay, but gnome-shell starts to use CPU for up to 100% when a java application with a tray icon is started. GNOME-Shell starts to lag on the machine where it runs fluently.
@Izidor: so, it seems that you are affected by bug #644436 too.
The code is here: http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/tip/src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java I can't see anything obviously wrong (like checking for GNOME for example) but I'm not familiar with the system tray protocol.
And these are the error which I receive when I ran a Java application with tray icon in gnome shell (last lines appeared when I switched between windows using Alt+Tab): هشدار مدیر پنجرهها: Log level 16: STACK_OP_ADD: window 0x2800007 already in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_ADD: window 0x2800007 already in stack JS ERROR: !!! Exception in callback for signal: message-icon-added JS ERROR: !!! message = 'source is null' JS ERROR: !!! lineNumber = '417' JS ERROR: !!! fileName = '/usr/share/gnome-shell/js/ui/notificationDaemon.js' JS ERROR: !!! stack = '([object Object],[object _private_Shell_TrayIcon])@/usr/share/gnome-shell/js/ui/notificationDaemon.js:417 ([object Object],[object _private_Shell_TrayIcon])@/usr/share/gjs-1.0/lang.js:110 _emit("message-icon-added",[object _private_Shell_TrayIcon])@/usr/share/gjs-1.0/signals.js:124 ([object _private_Shell_TrayManager],[object _private_Shell_TrayIcon])@/usr/share/gnome-shell/js/ui/statusIconDispatcher.js:53 ([object _private_Shell_TrayManager],[object _private_Shell_TrayIcon])@/usr/share/gjs-1.0/lang.js:110 ' هشدار مدیر پنجرهها: Log level 16: STACK_OP_RAISE_ABOVE: window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_RAISE_ABOVE: window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: sibling window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: sibling window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_RAISE_ABOVE: window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: sibling window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: sibling window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: sibling window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: sibling window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: sibling window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: window 0x2800007 not in stack هشدار مدیر پنجرهها: Log level 16: STACK_OP_LOWER_BELOW: sibling window 0x2800007 not in stack
I checked /usr/share/gnome-shell/js/ui/notificationDaemon.js:417, and after printing some messages I find that: in line 417, icon.pid is 0 nad icon.title is same for all Java applications: something like JavaEmbedFrame (don't remember the exact name).
Ah, so GNOME 3 expects them to be unique?
If you get the bug with only one Java app running, then that's not the problem.
(In reply to comment #15) > I checked /usr/share/gnome-shell/js/ui/notificationDaemon.js:417, and after > printing some messages I find that: > in line 417, icon.pid is 0 Ah... ok, that's the change from GNOME 2.x; we assume that trayicons will set the _NET_WM_PID property on their windows.
Hello? What will no be the further development? Will Gnome add a workaround (good but ugly). Or will we see a bugfix for openjdk in near future (better)?
No one is working on this particular bug right now. Patches would be accepted. Another useful thing would be to do "xprop", then click one of the java trayicons, and paste the output here.
I tried, but im struggling with an issue. That what "should be" the TrayIcon is only visible in the Overview of Gnome-Shell. $ xprop -> waits for click -> but i can't open the overview of Gnome-Shell with ALT+F1, Superkey $ sleep 4 && xprop $ can't grab the mouse How can I get a list of all WindowIDs?
Created attachment 190346 [details] Screenshot
Hi, I could do it (you can restart gnome shell after running the java application. then, the tray icon will be visible in the desktop (at top left usually)). This is the xprop output: XKLAVIER_STATE(INTEGER) = 0, 0 _NET_WM_STATE(ATOM) = WM_STATE(WM_STATE): window state: Normal icon window: 0x0 _NET_WM_DESKTOP(CARDINAL) = 0 _NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW _XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1 WM_HINTS(WM_HINTS): Client accepts input or input focus: False Initial state is Normal State. WM_NORMAL_HINTS(WM_SIZE_HINTS): user specified location: 0, 26 program specified location: 0, 26 program specified size: 24 by 24 program specified minimum size: 24 by 24 program specified maximum size: 24 by 24 window gravity: NorthWest _OL_DECOR_DEL(ATOM) = _OL_DECOR_RESIZE, _OL_DECOR_CLOSE, _OL_DECOR_HEADER _MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x2c, 0x0, 0x0, 0x0 _NET_FRAME_EXTENTS(CARDINAL) = 1, 1, 29, 2 _NET_WM_ICON(CARDINAL) = Icon (16 x 16): ░░░░░░░░░░░░ ░ ░░ ░ ░ ▒▒░ ░ ░ ▓▓▒ ░ ░ ░▓▒▒▒ ░ ░ ▓▓▒▒▒ ░ ░ ░▒▒░▓▓▓ ░░░ ░ ░ ░▒ ░░▓▓▒ ░▒▒ ░ ░ ▒▓▒░░░▒ ▓▒ ░ ▒ ░▒▒▒░ ▒▒ ▒ ▒ ░░░ ▒░ ▒ ▒ ░░▒▒▒▒░ ▒ ▒ ▒ ░░▒▒▒▓▓▓▒░░ ▒ ▒ ░░▒▒▒▒▒▒▒ ▒ ▒░ ░▒ ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ Icon (24 x 23): ░░░░░░░░░░░░░░░░░░░░ ░ ░ ▒░ ░ ░ ░▓▒░ ░ ░ ░▓▒▒░ ░ ░ ▒▓▓▒▒░ ░ ░ ░▓▓▒▒▒▓░ ░ ░ ▒▓▒░░▒▒▒ ░ ░ ░▓▓▒▒▒▒▒▒░ ░ ░ ░▒▓▒░▒▓▒▒▓▒ ░ ▒ ░ ░ ░▒░░▒░ ▒▓▓▓▓░ ░░░▒░ ░ ░ ▒▓░ ░░░▒▓▓▓▒ ▒░▒░ ░ ▒ ▒▓▓▒░░░░░▒▓▒ ▒▓▓░ ▒ ▒ ▒▒▓▓▓▒░░░░░ ░▓▓▒ ▒ ▒ ▒▓▒▒▒▒░░░ ░░▒░ ▒ ▒ ▒░ ▒░░░ ░ ▒ ▒ ░▒░░░░ ░ ▒ ▒ ░░░▒▒▒▒▒▒░░░ ░ ▒ ▒ ░░▒▒▓▓▒▒▓▓▓▒▒▒░ ░░ ▒ ▒ ░░░░▒▓▓▓▓▓▒▓▓▓░░▒░ ▒ ▒ ░░░░░░░▒▒▒▒░ ▒ ░░ ░░ ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ Icon (32 x 32): ░░░░░░░░░░░░░░░░░░░░░░ ░ ░ ░ ░░ ░ ░▓░ ░ ▒▓▒▒ ░ ░ ▒▓▒▒▒ ░ ░ ░▓▓▓▒▒▒ ░ ░ ░▓▓▓▒▒▒▒ ░ ░ ▒▓▓▓▒▒▒▓░ ░ ░ ░▓▓▓▒░▒▒▓▒ ░ ░ ▒▓▓▒░░░▒▒▓░ ░ ░ ░▓▓▓▒▒░░▒▒▓▓ ░ ░ ░░░▒▓▓▓▒▒▒▒▒▒▒▒░ ░ ░ ░▒▓▓▓▒░▒▓▓▒▒▒▓▒ ░░ ▒░ ░ ░ ░▒▒░░▒▒░ ░▓▓▓▓▓▓▒ ▒ ▓░ ░ ░ ▒▒░ ░░░ ░▓▓▓▓▓▓░ ▒░ ▓░ ░ ░ ▒▒░░ ░░░░░░▓▓▓▓▓▒ ▒▒░▓▒ ░ ▒ ░▓▓▓▒ ░░░░░░▒▓▓▓▒░ ░▓▓▓▓ ▒ ▒ ░▓▒▓▓▓▒▒░░░░░▒▒▒░ ░▒▓▓▓ ▒ ▒ ░▓▒▒▓█▓▒░░░░░░░░ ░░▓▓▓ ▒ ▒ ▓▓▓▓▒▒▒░░░░░ ░░░▓▒ ▒ ▒ ░▓▒░ ░░░░░ ░░ ░ ▒ ▒ ░ ▒░░░░░ ░░ ▒ ▒ ░▒░░░░░░░ ░ ▒ ▒ ░░░░░▒▒▒▒░░░░░░░ ░ ▒ ▒ ░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ░ ▒ ▒ ░░▒▒▒▒▓▓▒▒▒▓▓▓▓▓▓▒▒░ ░░ ▒ ░░░░░░▒▒▒▓▓▒▒▓▓▓▓▓▓▓▓▒░ ░░ ░░ ░░ ░░▒▒▒▒▒▒░░▒▓▓▓▒▒▒░░░ ░░ ▒░ ░░░░░ ░░▒▒▒▒░ ░▒ ▒░░ ░░▒ ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ Icon (48 x 48): ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░ ░ ░ ░▒░ ░ ░▓▒░ ░ ▒▓▒▒░ ░ ░ ▒▓▓▒▒░ ░ ░ ░▓▓▓▒▒▒▒ ░ ░ ░▓▓▓▓▒▒▓▒ ░ ░ ▒▓▓▓▓▒▒▒▓▒ ░ ░ ▒▓▓▓▓▒▒▒▒▓▒ ░ ░ ░▓▓▓▓▓▓▒▒▒▓▓░ ░ ░ ▒▓▓▓▓▓▓▓▒▒▓▓▓░ ░ ░ ░▓▓▓▓▓▓▒▒▒▒▒▓▓▒ ░ ░ ▒▓▓▓▓▒▒░░▒▒▒▓▓▓░ ░ ░ ░▒▓▓▓▒▒░░░░░▒▒▓▓▒ ░ ░ ▒▓▓▓▓▒▒▒░░░░░▒▓▓▓░ ░ ░ ▒▓▓▓▒▒▒▒░░░░▒▒▒▓▓▒ ░ ░ ▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓░ ░ ░ ░░░░▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒░ ░ ░ ░ ░▒▒▒▒▓▓▓▒░░▒▓▓▓▒▒▒▒▒▒▒▒▒ ░ ░▒░ ░ ░ ▒▓▓▓▓▓▓▓▒░ ░▓▓▓▓▓▒▒▒▒▒▓▒ ▒░ ▒▓▒░ ░ ░ ░▒▒▒▒░░░░▒▒░ ░▒▓▓▓▓▓▓▓▓▓▓░ ░▓░ ░▓▓░ ░ ░ ░▒▓▒░░░ ░░░░░ ░░▒▓▓▓▓▓▓▓▓▓▓ ░▓▒ ░▓▓ ░ ░ ▓▓▒░ ░░ ░░░░░░░▒▓▓▓▓▓▓▓▓▓▒ ▓▓ ░▓▒ ░ ░ ░▓▓▒ ░ ░░░▒░░░░░▒▓▓▓▓▓▓▓▓▒░ ▒▓░ ▒▓▒░ ░ ▒ ▒▓▓▓▒░░ ░░░░░░░░░▒▓▓▓▓▓▓▓▓░ ▒▓▒▒▓▓▒▒░ ▒ ▒ ▒▓▓▓▓▓▒ ░▒░░░░░░▒▒▓▓▓▓▓▒▒ ░▓▓▓▓▓▓▒░ ▒ ▒░▓▓▓▒▓▓▓▓▒░▒▒░░░░░░░▒▒▒▒▒▒░░ ░▒▓▓▓▓▓▒░ ▒ ▒░▓▓▒▒▒▓▓▓▓▓▒▒░░░░░░░░░▒▒░░░ ░▒▓▓▓▓▒░ ▒ ▒ ▒▓▓▒▒▒▓▓▓▓▒▒░░░░░░░░░░░░░ ░░▒▓▓▓▒░ ▒ ▒ ▒▓▓▒▒▓▓▓▓▓▓▒░░░░░░░░░░░ ░▒ ░▓▓▓▒ ▒ ▒ ░▓▓▓▓▓▓▒░░░▒░░░░░░░░ ░▒ ▒▓▒░ ▒ ▒ ▒▓▓▒ ░▒░░░░░░░ ░▒░ ▒ ▒ ▒▒ ░▒░░░░░░░░ ▒░ ▒ ▒ ░▒░░░░░░░░ ▒░ ▒ ▒ ░▒░░░░░░░░░░ ░░ ▒ ▒ ░░░░░░▒░░░░░░░░░░░░░ ░░ ▒ ▒ ░░░░░░░▒▒▒▒▒▒▒░░░░░░░░░░░ ░░ ▒ ▒ ░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░ ░░ ▒ ▒ ░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ░░ ▒ ▒░░░░▒▒▒▒▒▓▓▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▒▒▒▒░░ ░░ ▒ ▒░░░▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒░░ ░▒░ ▒ ▒░░░░░░░░░▒▒▒▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░░░░▒░░░ ▒ ▒ ░░░░ ░░░░▒▓▓▓▓▓▓▓▓▒▒▒▒▒▓▓▓▓▓▒▒▒░░▒░░░░░ ▒ ░░ ░░░▒▒▒▒▒▒░░░░░░▒▒▓▓▓▓▓▒▒▓▒░░░░░ ░░ ▒ ░░ ░░░▒▒▓▓▓▒▒░ ▒ ░▒░ ░░░░ ░▒░ ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ WM_PROTOCOLS(ATOM): protocols WM_TAKE_FOCUS, WM_DELETE_WINDOW WM_CLASS(STRING) = "sun-awt-X11-XEmbeddedFramePeer", "service_luncher-Main" WM_CLIENT_LEADER(WINDOW): window id # 0x6200008 _NET_WM_ICON_NAME(UTF8_STRING) = 0x4a, 0x61, 0x76, 0x61, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65 WM_ICON_NAME(STRING) = "JavaEmbeddedFrame" _NET_WM_NAME(UTF8_STRING) = 0x4a, 0x61, 0x76, 0x61, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65 WM_NAME(STRING) = "JavaEmbeddedFrame"
Confirm! Thanks! EventDispatchThreads goes crazy but how cares ;) [peter@ws-lnx-pew ~]$ xprop XKLAVIER_STATE(INTEGER) = 0, 0 _NET_WM_STATE(ATOM) = WM_STATE(WM_STATE): window state: Normal icon window: 0x0 _NET_WM_DESKTOP(CARDINAL) = 0 _NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW _XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1 WM_HINTS(WM_HINTS): Client accepts input or input focus: False Initial state is Normal State. WM_NORMAL_HINTS(WM_SIZE_HINTS): user specified location: 0, 26 program specified location: 0, 26 program specified size: 24 by 24 program specified minimum size: 24 by 24 program specified maximum size: 24 by 24 window gravity: NorthWest _OL_DECOR_DEL(ATOM) = _OL_DECOR_CLOSE, _OL_DECOR_HEADER, _OL_DECOR_RESIZE _MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x2c, 0x0, 0x0, 0x0 _NET_WM_ICON(CARDINAL) = Icon (16 x 16): ░░░░░░░░░░░░ ░ ░░ ░ ░ ▒▒░ ░ ░ ▓▓▒ ░ ░ ░▓▒▒▒ ░ ░ ▓▓▒▒▒ ░ ░ ░▒▒░▓▓▓ ░░░ ░ ░ ░▒ ░░▓▓▒ ░▒▒ ░ ░ ▒▓▒░░░▒ ▓▒ ░ ▒ ░▒▒▒░ ▒▒ ▒ ▒ ░░░ ▒░ ▒ ▒ ░░▒▒▒▒░ ▒ ▒ ▒ ░░▒▒▒▓▓▓▒░░ ▒ ▒ ░░▒▒▒▒▒▒▒ ▒ ▒░ ░▒ ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ Icon (24 x 23): ░░░░░░░░░░░░░░░░░░░░ ░ ░ ▒░ ░ ░ ░▓▒░ ░ ░ ░▓▒▒░ ░ ░ ▒▓▓▒▒░ ░ ░ ░▓▓▒▒▒▓░ ░ ░ ▒▓▒░░▒▒▒ ░ ░ ░▓▓▒▒▒▒▒▒░ ░ ░ ░▒▓▒░▒▓▒▒▓▒ ░ ▒ ░ ░ ░▒░░▒░ ▒▓▓▓▓░ ░░░▒░ ░ ░ ▒▓░ ░░░▒▓▓▓▒ ▒░▒░ ░ ▒ ▒▓▓▒░░░░░▒▓▒ ▒▓▓░ ▒ ▒ ▒▒▓▓▓▒░░░░░ ░▓▓▒ ▒ ▒ ▒▓▒▒▒▒░░░ ░░▒░ ▒ ▒ ▒░ ▒░░░ ░ ▒ ▒ ░▒░░░░ ░ ▒ ▒ ░░░▒▒▒▒▒▒░░░ ░ ▒ ▒ ░░▒▒▓▓▒▒▓▓▓▒▒▒░ ░░ ▒ ▒ ░░░░▒▓▓▓▓▓▒▓▓▓░░▒░ ▒ ▒ ░░░░░░░▒▒▒▒░ ▒ ░░ ░░ ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ Icon (32 x 32): ░░░░░░░░░░░░░░░░░░░░░░ ░ ░ ░ ░░ ░ ░▓░ ░ ▒▓▒▒ ░ ░ ▒▓▒▒▒ ░ ░ ░▓▓▓▒▒▒ ░ ░ ░▓▓▓▒▒▒▒ ░ ░ ▒▓▓▓▒▒▒▓░ ░ ░ ░▓▓▓▒░▒▒▓▒ ░ ░ ▒▓▓▒░░░▒▒▓░ ░ ░ ░▓▓▓▒▒░░▒▒▓▓ ░ ░ ░░░▒▓▓▓▒▒▒▒▒▒▒▒░ ░ ░ ░▒▓▓▓▒░▒▓▓▒▒▒▓▒ ░░ ▒░ ░ ░ ░▒▒░░▒▒░ ░▓▓▓▓▓▓▒ ▒ ▓░ ░ ░ ▒▒░ ░░░ ░▓▓▓▓▓▓░ ▒░ ▓░ ░ ░ ▒▒░░ ░░░░░░▓▓▓▓▓▒ ▒▒░▓▒ ░ ▒ ░▓▓▓▒ ░░░░░░▒▓▓▓▒░ ░▓▓▓▓ ▒ ▒ ░▓▒▓▓▓▒▒░░░░░▒▒▒░ ░▒▓▓▓ ▒ ▒ ░▓▒▒▓█▓▒░░░░░░░░ ░░▓▓▓ ▒ ▒ ▓▓▓▓▒▒▒░░░░░ ░░░▓▒ ▒ ▒ ░▓▒░ ░░░░░ ░░ ░ ▒ ▒ ░ ▒░░░░░ ░░ ▒ ▒ ░▒░░░░░░░ ░ ▒ ▒ ░░░░░▒▒▒▒░░░░░░░ ░ ▒ ▒ ░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ░ ▒ ▒ ░░▒▒▒▒▓▓▒▒▒▓▓▓▓▓▓▒▒░ ░░ ▒ ░░░░░░▒▒▒▓▓▒▒▓▓▓▓▓▓▓▓▒░ ░░ ░░ ░░ ░░▒▒▒▒▒▒░░▒▓▓▓▒▒▒░░░ ░░ ▒░ ░░░░░ ░░▒▒▒▒░ ░▒ ▒░░ ░░▒ ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ Icon (48 x 48): ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░ ░ ░ ░▒░ ░ ░▓▒░ ░ ▒▓▒▒░ ░ ░ ▒▓▓▒▒░ ░ ░ ░▓▓▓▒▒▒▒ ░ ░ ░▓▓▓▓▒▒▓▒ ░ ░ ▒▓▓▓▓▒▒▒▓▒ ░ ░ ▒▓▓▓▓▒▒▒▒▓▒ ░ ░ ░▓▓▓▓▓▓▒▒▒▓▓░ ░ ░ ▒▓▓▓▓▓▓▓▒▒▓▓▓░ ░ ░ ░▓▓▓▓▓▓▒▒▒▒▒▓▓▒ ░ ░ ▒▓▓▓▓▒▒░░▒▒▒▓▓▓░ ░ ░ ░▒▓▓▓▒▒░░░░░▒▒▓▓▒ ░ ░ ▒▓▓▓▓▒▒▒░░░░░▒▓▓▓░ ░ ░ ▒▓▓▓▒▒▒▒░░░░▒▒▒▓▓▒ ░ ░ ▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓░ ░ ░ ░░░░▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒░ ░ ░ ░ ░▒▒▒▒▓▓▓▒░░▒▓▓▓▒▒▒▒▒▒▒▒▒ ░ ░▒░ ░ ░ ▒▓▓▓▓▓▓▓▒░ ░▓▓▓▓▓▒▒▒▒▒▓▒ ▒░ ▒▓▒░ ░ ░ ░▒▒▒▒░░░░▒▒░ ░▒▓▓▓▓▓▓▓▓▓▓░ ░▓░ ░▓▓░ ░ ░ ░▒▓▒░░░ ░░░░░ ░░▒▓▓▓▓▓▓▓▓▓▓ ░▓▒ ░▓▓ ░ ░ ▓▓▒░ ░░ ░░░░░░░▒▓▓▓▓▓▓▓▓▓▒ ▓▓ ░▓▒ ░ ░ ░▓▓▒ ░ ░░░▒░░░░░▒▓▓▓▓▓▓▓▓▒░ ▒▓░ ▒▓▒░ ░ ▒ ▒▓▓▓▒░░ ░░░░░░░░░▒▓▓▓▓▓▓▓▓░ ▒▓▒▒▓▓▒▒░ ▒ ▒ ▒▓▓▓▓▓▒ ░▒░░░░░░▒▒▓▓▓▓▓▒▒ ░▓▓▓▓▓▓▒░ ▒ ▒░▓▓▓▒▓▓▓▓▒░▒▒░░░░░░░▒▒▒▒▒▒░░ ░▒▓▓▓▓▓▒░ ▒ ▒░▓▓▒▒▒▓▓▓▓▓▒▒░░░░░░░░░▒▒░░░ ░▒▓▓▓▓▒░ ▒ ▒ ▒▓▓▒▒▒▓▓▓▓▒▒░░░░░░░░░░░░░ ░░▒▓▓▓▒░ ▒ ▒ ▒▓▓▒▒▓▓▓▓▓▓▒░░░░░░░░░░░ ░▒ ░▓▓▓▒ ▒ ▒ ░▓▓▓▓▓▓▒░░░▒░░░░░░░░ ░▒ ▒▓▒░ ▒ ▒ ▒▓▓▒ ░▒░░░░░░░ ░▒░ ▒ ▒ ▒▒ ░▒░░░░░░░░ ▒░ ▒ ▒ ░▒░░░░░░░░ ▒░ ▒ ▒ ░▒░░░░░░░░░░ ░░ ▒ ▒ ░░░░░░▒░░░░░░░░░░░░░ ░░ ▒ ▒ ░░░░░░░▒▒▒▒▒▒▒░░░░░░░░░░░ ░░ ▒ ▒ ░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░ ░░ ▒ ▒ ░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ░░ ▒ ▒░░░░▒▒▒▒▒▓▓▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▒▒▒▒░░ ░░ ▒ ▒░░░▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒░░ ░▒░ ▒ ▒░░░░░░░░░▒▒▒▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░░░░▒░░░ ▒ ▒ ░░░░ ░░░░▒▓▓▓▓▓▓▓▓▒▒▒▒▒▓▓▓▓▓▒▒▒░░▒░░░░░ ▒ ░░ ░░░▒▒▒▒▒▒░░░░░░▒▒▓▓▓▓▓▒▒▓▒░░░░░ ░░ ▒ ░░ ░░░▒▒▓▓▓▒▒░ ▒ ░▒░ ░░░░ ░▒░ ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ _NET_FRAME_EXTENTS(CARDINAL) = 1, 1, 28, 2 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS WM_CLASS(STRING) = "sun-awt-X11-XEmbeddedFramePeer", "de-wilken-monkey-Main" WM_CLIENT_LEADER(WINDOW): window id # 0x3000008 _NET_WM_ICON_NAME(UTF8_STRING) = 0x4a, 0x61, 0x76, 0x61, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65 WM_ICON_NAME(STRING) = "JavaEmbeddedFrame" _NET_WM_NAME(UTF8_STRING) = 0x4a, 0x61, 0x76, 0x61, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65 WM_NAME(STRING) = "JavaEmbeddedFrame"
ok, do "xprop | grep WM_CLIENT_LEADER" on the icon window, and then do "xprop -id whatever" (eg, "xprop -id 0x3000008" for the paste above) and paste that. (is there some program available in fedora that I can use to test this myself?)
[peter@ws-lnx-pew ~]$ xprop | grep WM_CLIENT_LEADER WM_CLIENT_LEADER(WINDOW): window id # 0x2400008 [peter@ws-lnx-pew ~]$ xprop -id 0x2400008 _SUNW_JAVA_AWT_TIME(ATOM) = WM_CLASS(STRING) = "de-wilken-monkey-Main", "de-wilken-monkey-Main" WM_CLIENT_LEADER(WINDOW): window id # 0x2400008 _NET_WM_NAME(UTF8_STRING) = 0x64, 0x65, 0x2d, 0x77, 0x69, 0x6c, 0x6b, 0x65, 0x6e, 0x2d, 0x6d, 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0x2d, 0x4d, 0x61, 0x69, 0x6e WM_NAME(STRING) = "de-wilken-monkey-Main" I don't know a program in the fedora-repos. Do you need a mockup?
(In reply to comment #26) > I don't know a program in the fedora-repos. Do you need a mockup? no, it's just that we can't test potential fixes ourselves without having a program that exhibits the bug
(In reply to comment #25) > (is there some program available in fedora that I can use to test this myself?) I think FrostWire have a tray icon and it should be available in Fedora. Also you can get RPM package from its site[1] [1] http://www.frostwire.com/?id=downloads
Is this still an issue with current JRE versions?
I use java-1.7.0-openjdk-headless-1.7.0.60-2.4.7.0.fc20.x86_64 In my system, the try icon of a java application is being shown in the icon area (bottom right for en-us locale), however I do still see an invisible window when I use Alt+Tab or i activities view (a window is listed, but it is invisible).
Removing NEEDINFO as per comment 30.
Though this is quite old, I still see this problem. GNOME 3.18, latest (Oracle) Java runtime. I had a longer discourse in the GNOME G+ community about this which basically came down to "we won't support tray icons anymore because of missing XEmbed support in wayland so you should remove it", but that doesn't _seem_ a good approach or hint. :/
I seem to remember this getting fixed, but I'm not sure where the fix ended up. I'll try and track this down. We can't fix the proprietary Oracle binaries though, only OpenJDK. If they're going to remove it altogether, then they'll break part of Java desktop support. It's not going to be removed because it's part of the API and works on sane desktops. Just another reason for people to not use GNOME 3.
I think this is it, which means it's fixed in OpenJDK 7 & 8: https://bugs.openjdk.java.net/browse/JDK-7103610
Well, both Unity and KDE are also moving away from the legacy XEmbed-based tray icons. I believe Unity already removed support, though I'm not sure. GNOME isn't going to remove support for existing X11-based clients, even when running them through Xwayland, but we currently do not support popping up tray icons for clients running on the Wayland protocol.
Well, is there an alternative to provide this functionality? As I say, you can't just remove the existing implementation because it is needed on platforms which still support this.
We're not removing the existing implementation.
Ah ok, I was responding to the quote in comment #32: "we won't support tray icons anymore because of missing XEmbed support in wayland so you should remove it"
I think that was a misunderstanding or wrong information from our G+ community. GNOME currently has no plans to remove XEmbed-based tray icons for X11 applications, in either real X11 or Xwayland mode.
That's good to hear. Thanks for the clarification.
@Jasper: Thanks for clarifying - happy to see this feature will not completely be removed. :) However just for my particular problem: What can I do about my systray icon now? Any roadmap, timeline, ... no how or when this "issue" might be resolved? Is this just a GNOME issue, after all, or is it a Java problem as well? I see the same tray icon flawlessly working in Cinnamon, but I also see other Java based tray icons (using Eclipse SWT) flawlessly working in GNOME too...
I still had problems on arch linux. (black tray icon and no context menu on right click for every java application) So i decided to solve it myself. This is the change i made: http://pastebin.com/tSxpfbzi But its currently just a workaround. The trick with adding the listeners to eframe is probably not a full solution (might produce trouble on other systems). The main problem is that eframe gets all the events but does not redirect them to the canvas for some reason. Sadly i was not able to figure it out. Maybe somebody find out the root of the problem and fix it. The problem with the icon not beeing visible sometimes happens because of a 2nd thread that load the image is sometimes slower than the event that handles the update of the icon. Thats why i added "t.join();". Oh well ... might make real trouble if the image-thread never stops for some reason, but for now it should be ok that way. Hope my post atleast helps people with the same problem. For arch linux i also made a tar-archive with the PKGBUILD : http://www.mediafire.com/download/xoetanml67lawtq/java-8-openjdk-fix.tar
GNOME 3 has no tray. The notification area on top does not support static tray icons. (And GtkStatusIcon is deprecated in GTK 3.) If there is still some issue nowadays in a supported GNOME version (currently 3.38), then please create a fresh report in https://gitlab.gnome.org . Thanks.