Bug 837388 - Bluetile doesn't work properly with Java GUI apps
Bluetile doesn't work properly with Java GUI apps
Status: CLOSED EOL
Product: Fedora
Classification: Fedora
Component: bluetile (Show other bugs)
21
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Jens Petersen
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-03 13:01 EDT by Solitary
Modified: 2015-12-02 11:03 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-12-01 21:39:36 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Solitary 2012-07-03 13:01:39 EDT
Description of problem:
Bluetile doesn't work properly with Java GUI applications. Some Java GUI elements are not gaining focus after mouse clicks (like text areas) and its not possible to work with those elements.

Version-Release number of selected component (if applicable):
bluetile-0.6-5.fc17
java-1.7.0-openjdk-1.7.0.3-2.2.1.fc17.8

How reproducible:
Using any Java Swing application (like Netbeans) with text areas.
  
Actual results:
User can't write anything into text area.

Expected results:
Being able to write into focused text area.

Additional info:
This is tested only on x86 plaform. I am using Bluetile with Xfce desktop. Bluetile is working properly in Fedora 15 and openjdk 1.6.0 (tested on x86 and x86_64)
Comment 1 Jens Petersen 2012-07-04 05:54:31 EDT
Is it possible you could attach some sensible test-case.

Anyway I am assuming this is related to the change from Java 6 to Java 7.

I know for Java 6 some workaround was needed for the WM_NAME property.
Maybe that has changed for Java 7 perhaps?
Comment 2 Jens Petersen 2012-07-04 05:57:12 EDT
(In reply to comment #1)
> Is it possible you could attach some sensible test-case.

Sorry I meant small/simple testcase.
Comment 3 Jens Petersen 2012-07-04 06:01:26 EDT
Actually did you try to test F16?

Anyway it may well be related to this change:

* Sun Dec 11 2011 Jens Petersen <petersen@redhat.com> - 0.6-1
- update to 0.6
- drop bluetile-0.5.3-WMName.patch for now

I will to prepare a f17 test package soon patched for WMName
so that you can test that.
Comment 4 Solitary 2012-07-04 13:08:27 EDT
Ok, test case... I was thinking about some app from repositories, because Netbeans are not in repos anymore. I assume you have Icedtea installed, so you must have IcedTea Web Control Panel in control center. 

Test case:
--------------
Pre-requirements: 
Have Bluetile running as window manager.
Have one extra window open (browser for example)
--------------
1. start IcedTea Web Control Panel and make it focused
2. choose Network tab
3. select "Manual proxy server" radio button (so the Address/Port text areas are enabled)
4. switch focus to extra window (e.g. browser)
5. switch focus back to IcedTea Web Control Panel window
6. click into Address/Port text areas so you can edit them
--------------

Expected result:
After clicking into Address/Port text areas there should be text cursor and you should be able to write

Actual result:
Nothing happens, text areas will not gain focus and text cursor will not appear.



This happens with Netbeans also, even the main development text area (where the source code is) is bugged this way (but its easy to work around it, because you can just click into list of projects and click back into development text area. Eclipse doesn't seem to be affected at all (as far as my quick test showed, I prefer Netbeans)... weird.

I am going to test F16 now... (I skipped F16 so I don't know whether it worked or not)
Comment 5 Solitary 2012-07-04 14:06:24 EDT
There seems to be no problem with Fedora 16 ... it uses Java 1.6 so it is probably some difference between 1.6 and 1.7
Comment 6 Jens Petersen 2012-09-05 08:01:45 EDT
Sorry for the long delay - I was away in August...

Thanks for testing: ok then it might well be a different problem
to WMName...

I am no iced tea expert if you could explain how to
start "IcedTea Web Control Panel" - commandline is fine :)
then I will do more testing.
Comment 7 Solitary 2012-09-05 18:07:40 EDT
Oh, sorry... I took first Java thing that I thought would be probable for you to have and easiest to find in system.

Run this command:

/usr/lib/jvm/jre-1.7.0-openjdk/bin/java -Xbootclasspath/a:/usr/share/icedtea-web/netx.jar:/usr/share/java/js.jar -Xms8m -Dicedtea-web.bin.name=itweb-settings -Dicedtea-web.bin.location=/usr/bin/itweb-settings.itweb net.sourceforge.jnlp.controlpanel.CommandLine

that should start the IcedTea Control Center (sorry for the format, I just snatched it from "ps"). Test case still applies.

I did some digging on my own. It looks that its a bug in xmonad not Bluetile itself. Here is more information http://code.google.com/p/xmonad/issues/detail?id=177

There is also test case in that link, so you can test both approaches. It will both reproduce the problem. There is some patch, but it seems its just working for some people and JDK7 is still problem.

For their test case...
You can run command:

java -jar /usr/lib/jvm/java/demo/jfc/Notepad/Notepad.jar

then just follow the steps in that link (its pretty much the same, just different app).
Comment 8 Jens Petersen 2012-11-16 03:03:25 EST
(Actually I was just asking for /usr/bin/itweb-settings.itweb :)
Comment 9 Solitary 2012-11-16 12:06:40 EST
Same thing, it works :) it's in there... as I said, I just copied it from "ps" output, I didn't know where the actual script is located so I didn't even bother with figuring it out :)
Comment 10 Jens Petersen 2012-11-16 22:37:49 EST
Thanks again for the report and sorry for slow response.

Duplicating to the newer xmonad bug which has a patch attached.

*** This bug has been marked as a duplicate of bug 874855 ***
Comment 11 Solitary 2013-12-07 04:41:21 EST
Bluetile changelog
* Tue Apr 02 2013 Jens Petersen <petersen@redhat.com> - 0.6-15 
- drop ICCCM takeTopFocus workaround

I am not sure what is the reason to drop the workaround if bluetile doesn't work without it. If xmonad fixed the issue it's clear that bluetile did not gain from it. The issue is bit different then the previous one, but probably raises from the same problem. Some Java apps have problems with the GUI, Netbeans do not paint any GUI components at all (it's just grey window, but they are there, textareas do change cursor), Minecraft does not scale it's canvas (it's permanently ~640x480 picture)... some apps seem to be working ok.

I know this is pretty late report, but I have been using older version so far and completely forget about the issue, thinking this might be temporary. But because F20 due is soon and older versions probably won't be an option anymore.
Comment 12 Jens Petersen 2014-02-04 21:06:15 EST
Sorry to hear your problems.

Have you tried F20 yet?  I assume the same issue is also there?

Is netbeans still in Fedora?  Or do you have any simple testcase
I can try to reproduce this?

Anyway the original issue with itweb-settings seems still okay
so I think you are hitting a new issue.  I wonder if it is related
to window resize events or something else.
Comment 13 Solitary 2014-02-04 22:01:27 EST
Hi,
I haven't tried F20 yet, currently I am just assuming the issue will be there too... it is version to version problem after all and bluetile version is the same in F20 as is in F19. I might try it later, just to be on safe side.

No, Netbeans are not in Fedora repo. Currently I have not found java app from repository that would be broken... that said I have not been -really- looking. Currently I know about Netbeans and Intellij IDEA (both only display grey window) and about the Minecraft picture size issue. 

(Intellij IDEA does not need to be installed, only unpacked and ready to run, Community version is free) 

You are right that it is probably "new" issue, but my guess would be that it's coming from same problem. The problem starts up from 0.6-15 version where some significant changes came, one of which was dropping the workaround. One of my machines (the main one) runs older version 0.6-13, which works ok and the other one is up-to-date, but broken.

I wonder, those apps that are broken are all mainly developed for Oracle java, not OpenJDK... that might be some clue.
Comment 14 Jens Petersen 2014-02-05 00:22:12 EST
(In reply to Solitary from comment #13)
> (Intellij IDEA does not need to be installed, only unpacked and ready to
> run, [...])

You mean Intellij IDEA installer shows this problem?

> I wonder, those apps that are broken are all mainly developed for Oracle
> java, not OpenJDK... that might be some clue.

I see.
Comment 15 Jens Petersen 2014-02-05 00:23:20 EST
Anyway again if you could provide simple steps I can do to reproduce,
I can try to look into it more.
Comment 16 Solitary 2014-02-05 02:54:44 EST
(In reply to Jens Petersen from comment #14)
> (In reply to Solitary from comment #13)
> > (Intellij IDEA does not need to be installed, only unpacked and ready to
> > run, [...])
> 
> You mean Intellij IDEA installer shows this problem?

No, IDEA itself. You don't need to install the software that was my point...

You can download community edition of IDEA from http://www.jetbrains.com/idea/download/index.html

Just unpack the downloaded archive and run bin/idea.sh
Comment 17 Jens Petersen 2015-01-07 05:22:22 EST
I see same problem in basic xmonad desktop session: tested in F21.
Dunno xmonad-mate helps here.
Comment 18 Solitary 2015-04-06 06:27:13 EDT
I am not sure I understand what you mean by that last sentence, what xmonad-mate helps with and... I don't use MATE, I use Xfce. So I'm not sure if it even applies to me. 

Currently I can't even install the package, there is some issues with ghc-xmonad(-contrib) and its -devel packages, I can't locate them with YUM and it won't even install manually downloaded RPMs. It just says typical "Error: Nothing to do". Even the non-devel packages are not available, but I have those installed already. I am not sure what is going on, yet I can clearly see them in package repository mirrors.
Comment 19 Solitary 2015-07-15 14:46:21 EDT
So, good news.
First of all, I was an idiot, I couldn't locate those packages with YUM, because I forgot that I had excluded them two Fedora versions ago and it carried over with upgrade and I totally forgot about it, well... silly me, no conspiracy here.

And for the main course. I figured how to make the Java apps work. By setting _JAVA_AWT_WM_NONREPARENTING=1 as environment variable (in the end I put it in my .bash_profile), it makes the Java apps properly render again.
Comment 20 Jens Petersen 2015-07-17 02:30:15 EDT
(In reply to Solitary from comment #19)
> By setting _JAVA_AWT_WM_NONREPARENTING=1 as environment variable (in the end
> I put it in my .bash_profile), it makes the Java apps properly render again.

Thanks for the info - not sure on the best way to introduce that to fedora
or if it is just a workaround - good to know anyway.

One way would be to add it in something like /etc/profile.d/bluetile.sh
but it might be intrusive. A softer way might be to mention it in a README...
Comment 21 Fedora End Of Life 2015-11-04 10:27:11 EST
This message is a reminder that Fedora 21 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 21. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '21'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 21 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.
Comment 22 Fedora End Of Life 2015-12-01 21:39:39 EST
Fedora 21 changed to end-of-life (EOL) status on 2015-12-01. Fedora 21 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.