Insubstantial 7.1 Release
A bit late, but hopefully better for it.
What is new in this release?
The major user facing change in this release is the support of rounded corners in the window frames. This is made possible by the Java 6u10 client apis, and in particular window shaping. The reason why the window shaping was used over translucency was that Windows 7 Basic mode tended to leave window and mouse droppings. And this is often the mode that people use when connecting over a network.
With that being said there are some ways to "turn off" the rounded windows. First, you can globally shut it down via a system property:
-Dsubstancelaf.windowRoundedCorners=false
This will make all corners square everywhere, ignoreing the per window setting and global default. This is an absolute kill switch. The default is to allow rounded corners.
Second, you can turn it on or of "by default" and still allow individual frames to turn on or off rounding by setting a property in the sustem defaults:
UIManager.put(
SubstanceLookAndFeel.WINDOW_ROUNDED_CORNERS,
false);
This will serve as the fallback value for windows that do not specify a rounding. Finally, this can be set on individual frames and dialogs:
jWhateverFrameOrWindow.putClientProperty(
SubstanceLookAndFeel.WINDOW_ROUNDED_CORNERS,
false);
One last tweak is that the frames will always square themselves when they are maximized. There is no way to tweak this behavior, as I think rounded maximized windows are silly. If you think I am wrong tou can submit a patch.
That's it for the really exciting stuff. A full log of commits found at the github page. I would like to credit Konrad Twardowsk specifically for a pull request to fix a problem with custom interal frame UIs. I won't bore you with the rest of the details, they pale in comparison to rounded corners.
How do I get it?
Github has a new downloads service, so if you just want the jars go here. However I still think maven co-ordinates are the way to go. Even though the maven build system stinks of old gym socks the dependency management it brought in is the cats pajamas. You can always replace the build system and use the repositories. This project is living proof of that.
The group id is com.github.insubstantial. The artifacts are as follows:
- trident [ jar | swing | swt | android | base | sources | javadoc ]
- Trident Animation Library.
com.github.insubstantial:trident:7.1 - laf-plugin [ jar | sources | javadoc ]
- A swing component enhancement framework.
com.github.insubstantial:laf-plugin:7.1 - laf-widget [ jar | sources | javadoc ]
- Swing component enhancements.
com.github.insubstantial:laf-widget:7.1 - substance [ jar | lite | tools | sources | javadoc ]
- A custom look and feel for Swing.
com.github.insubstantial:substance:7.1 - flamingo [ jar | sources | javadoc ]
- A Ribbon component and other supporting components.
com.github.insubstantial:flamingo:7.1 - substance-flamingo [ jar | sources | javadoc ]
- Substance customizations to some Flamingo components.
com.github.insubstantial:substance-flamingo:7.1 - substance-swingx [ jar | sources | javadoc ]
- Substance customizations to some SwingX components.
com.github.insubstantial:substance-swingx:7.1
What's on the horizon?
The next two releases will be 7.2, sometime in 2012, no sooner than May. It will support both Java 6 and Java 7. I am changing the plan on dropping Java 6, and instead will drop it for the first release after Java 8 arrives, so Insubstantial will normally support he current and previous JVMs. Releases will be "as warrented" and I would like to get at least 8 bug fixes in each, even if there is no "gee wiz" feature.
The contents of all of these releases will princapally be community provided patches. Keep them coming! I also may pull work from other forks. I am keeping an eye on erichschroeter and Icy-Imaging for interesting fixes.
What about me?
What about you? Well, being open source patches are always welcome, in fact it is Essential! The code is being hosted at Github so forking, soing your own thing, and posting a pull request should be very easy. Providing specific desired coding changes is always the best route, sicne I don't have time to troubleshoot all the problems that are reported.
What is Insubstantial?
Insubstantial is a maintenance fork of some of Kirill Grouchnikov's swing based projects. Specifically Substance, Trident, Flamingo, and some supporting project. These are not Kirill's 'official' releases but he has expressed that he is unlikely to do any more official releases.
