Skip to main content

GTK LAF bugs in latest Mustang snapshot

13 replies [Last post]
haen
Offline
Joined: 2006-02-18

Inspired by kenada post (http://forums.java.net/jive/thread.jspa?threadID=870&tstart=120) I made list of bugs in current Mustang snapshot. Current URL is http://haen.50webs.com/mustang_gtk_bugs.html.

I will try to keep this list updated.

Probably server hosting my page has some transfer limits. If someone can host this page (~600KB with images) with write access or know good, reliable and free hosting (pure HTML) let me know. I've got only dynamic IP and my PC isn't 24/7 online, so... ;-)

Cheers, hIP

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
campbell
Offline
Joined: 2003-06-24

This is a really nice list haen, thanks for posting the link...

> I was also wondering, would it make sense to create a
> wiki page to track these GTK issues on
> http://wiki.java.net?
>
> That way we can update the page as the issues get
> fixed, as well as add newly found ones..

We started an internal wiki page (within Sun) very similar to haen's page. Basically it has a short description of the problem, side-by-side screenshots showing the visual differences between native apps and Swing's GTK L&F, and then a link to the relevant bug report. Perhaps we could push that page to the outside world and merge it with haen's page.

For many of the items on haen's page there are already bug reports filed for the issues (there are maybe 10 or so issues on haen's page that aren't on our list or in our bug database), so someone would need to walk through the list and link those to existing bug reports, and if there aren't any, file new bugs.

Anyway, great work haen, and if you're really interested in this stuff, may I suggest contributing a fix or two? :)

Thanks,
Chris
Java 2D Team

olsonje
Offline
Joined: 2005-08-10

Thats pretty awesome!

haen
Offline
Joined: 2006-02-18

Bugfixes? Hmm, I'm perfectly unfamiliar with inner details of Synth, and C/C++ makes me dizzy ;-). Must dig into sources first...

It looks that current beta is based on build 59, right? Didn't know that, I thought that this is just more polished latest snapshot. Anyway, I will download next build and update my page.

Cheers, hIP

haen
Offline
Joined: 2006-02-18

Ok, finally I've got some free time so I updated my list. Ufortunately there is not much to update - one bug looks fixed, added one more and that's all. I'm pretty sure that you guys are damn busy working on next Java version, just wonder if GTK LAF got some attention lately. It looks that Mustang will bring many improvements on client side, would be disappointing to see Linux folks handicapped again.

Dmitri, you mention that some bugs from my lists should be fixed. Can you point which ones? I'm sure, that I'm testing last snapshot ;-)

Cheers, hIP

trembovetski
Offline
Joined: 2003-12-31

Looking at the b77 changelog, one important fix (by 2D team) was
6378474: GTK L&F: Menu font and spacing do not match native UI using Ubuntu

With this fix we'll use the correct font in GTK L&F, and the spacing in menus is closer to that of native GTK apps.

Swing fixed one in b76:
6388055: GTK L&F: JTable vertical grid lines aren't repainted when used with INSERT drop modes in RTL

And in 72:
6286750: Painting bugs in GTK L&F with Clearlooks theme

Swing will integrate into the next build (b78), they may have more fixes.

Thanks,
Dmitri

haen
Offline
Joined: 2006-02-18

Not sure if GTK LAF will be as fast as mustang, but few last builds bring speed impovements IMO... :>

Page updated again. Two serious bugs founded, one related to JInternalFrame (reported), second crashes Java app when switching GTK themes, if some text component is focused (not reported yet).

cheers, hIP

trembovetski
Offline
Joined: 2003-12-31

Thanks a lot, again! =)
I've pointed the GTK LF& guys at your page..

Thanks,
Dmitri

haen
Offline
Joined: 2006-02-18

Page updated again.

I suppose that JDK6 release date is near - unfortunately GTK LAF in current state is... uhm... half baked ;-). It's kinda sad that we see many fixes related to non-released-yet-OS (Vista :s), yet GTK part looks abandonded. I perfectly understand that market share of Windows is probably 10x times bigger than Linux based desktops, still, I will be sitting here and whining from time to time ;-)

cheers, hIP

campbell
Offline
Joined: 2003-06-24

> Page updated again.
>
> I suppose that JDK6 release date is near -
> unfortunately GTK LAF in current state is... uhm...
> half baked ;-). It's kinda sad that we see many fixes
> related to non-released-yet-OS (Vista :s), yet GTK
> part looks abandonded. I perfectly understand that
> market share of Windows is probably 10x times bigger
> than Linux based desktops, still, I will be sitting
> here and whining from time to time ;-)
>

Thanks for the update. Yes, it is unfortunate that we weren't able to get to all of the issues on our (and your) list, but the good news is that we have a whole slew of fixes prepared for JDK 7, and the even better news is that we plan to backport these to the first couple of JDK 6 update releases. So you won't have to wait too much longer for fixes for these important native fidelity issues.

We have fixes prepared for nearly every issue reported on this page:
http://elliotth.blogspot.com/2006/04/gtk-laf-in-java-6.html
so now the "Java Widget Factory" app will appear pixel-for-pixel accurate compared to the native "Widget Factory" app. Of course, that app doesn't cover it all, but we have fixes for lots of other little issues coming as well.

Please keep whining :) Or better yet, contribute fixes for the issues that bother you the most.

Thanks,
Chris

jansan
Offline
Joined: 2005-02-24

Regarding the icons on disabled buttons I think I found a very nice algorithm that will mimik the look very well. The same algorithm also poduces great results for disabled icons on Windows XP:

[code]
import java.awt.image.RGBImageFilter;

/**
*
*/
public class DisabledIconImageFilter extends RGBImageFilter {

public int filterRGB(int x, int y, int rgb) {
int red = (rgb >> 16) & 0xff;
int green = (rgb >> 8) & 0xff;
int blue = rgb & 0xff;
int average = (red + green + blue) / 3;
int alpha = (rgb >> 24) & 0xff;
int newAlpha = alpha * 3 / 8;
int newRgb = (newAlpha << 24) | (average << 16) | (average << 8) | average;
return newRgb;
}

}
[/code]

trembovetski
Offline
Joined: 2003-12-31

Wow, really nice page, thanks a lot!

I'll make sure our Swing team looks at it.

I know that there were several GTK L&F fixes which went
into build 72 which is notout yet, so some of those issues should be already addressed.

One of these is:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6286750

You can run a search on http://bugs.sun.com for "GTK L&F" to find bugs filed against the l&f:
http://bugs.sun.com/bugdatabase/search.do?process=1&category=&bugStatus=...

And here's the list of only opened bugs:
http://bugs.sun.com/bugdatabase/search.do?process=1&category=&bugStatus=...

Thanks,
Dmitri
Java2D Team

trembovetski
Offline
Joined: 2003-12-31

I was also wondering, would it make sense to create a wiki page to track these GTK issues on http://wiki.java.net?

That way we can update the page as the issues get fixed, as well as add newly found ones..

Thanks,
Dmitri

haen
Offline
Joined: 2006-02-18

Wiki page would be nice I suppose...

BTW, I will try to add performance section to my report (must download non debug version first...), although it will be probably just subjective description (no cold, hard numbers ;-)), for example:
- switching between tabs in SwingSet2 is slow
- GTK file chooser is painfully slow ^^
- etc...

Cheers, hIP