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.

Substance7

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.

 

Status update

Clearly I missed the Q4 2011 regular release.  There were two reasons, the first of which was that there were not any major changes by the end of December.  The second was that, well, holidays are busy.

To that end, I have decided not to go with a fixed release schedule but to go with a "minimum distance" schedule.  There will be at least three months between bug fix releases.  And if there is nothing compelling, I may wait up to six months to release.  I consider this project to be in "maintenence mode" so the vast majority of the releases will be simple bug fixes.  Got a bug fix?  I accept pull requests

However, I did decide to implement a "gee wiz" feature in 7.1.  To honor the fact that Windows 8 has gone back to square corners for the window frames, I implemented round corners in the substance window frames!  7.1 has already been pushed to the maven repo, bit I am currently lacking in the free evenings to throw togeather release notes and put together the webstart demo so round corners can be shown off.

Now for the road ahead.  I see maybe two or three releases before Java 8 ships.  Possibly one if there are not enough bad bugs.  These will be the last releases to be compiled against Java 6.  Once Java 8 ships I will compile against Java 7 and Java 6 will no longer be supported.  Hence Substance will support only the current and previous release of Java.

With that said, I think there is a new episode of Ninjago my kids want me to queue up on the Tivo.  Really, it's for my kids.

Insubstantial 7.0 release

Now that everyone's brain is fried at JavaOne, it seems like a suitable time to spin the next quarterly release of Insubstantial.

What is new in this release?

This release will officially support Java 7.  I've ran it locally and since Substance doesn't do Lucene indexing, all is good.  There is also a new Skin called Cerulean, which is just a slightly rearranged Nebula skin with darker window borders.

I've also began cleaning up some of the code base.  I've removed Batik (and by extension SVG suppport) because I consider the project dead.  By a 'dead' project I mean one without a release, even a bug fix release, in over 3 years.  I've also removed svnkit, and by extension the SVN breadcrumb bar, because of it's very specific utlity.  That is the domain of an applicaiton, not of a library.  If the community needs it I can dig up the code and do a separate jar for those features.  But as part of the core they were causing significant classpath bloat.  

I am also no longer embedding laf-widget and laf-plugin, but these are needed at runtime.  If you use maven to exclude these, you will need to stop excluding them.  If you weren't excluding them in maven, they will magically show up all by themselves!  If you use the jars directly you will need to add these two jars to your bundles now.

As for bug fixes a full bug list can be found at the github page.  Highlights are

There are also some bug fixes relating to the packaging of trident and JDK7 support.

How do I get it?

The best way is to use them directly from the maven repository (via Gradle, Maven, Ant+Ivy, or other maven repository aware build tool). 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.0
laf-plugin [ jar | sources | javadoc ]
A swing component enhancement framework.
com.github.insubstantial:laf-plugin:7.0
laf-widget [ jar | sources | javadoc ]
Swing component enhancements.
com.github.insubstantial:laf-widget:7.0
substance [ jar | lite | tools | sources | javadoc ]
A custom look and feel for Swing.
com.github.insubstantial:substance:7.0
flamingo [ jar | sources | javadoc ]
A Ribbon component and other supporting components.
com.github.insubstantial:flamingo:7.0
substance-flamingo [ jar | sources | javadoc ]
Substance customizations to some Flamingo components.
com.github.insubstantial:substance-flamingo:7.0
substance-swingx [ jar | sources | javadoc ]
Substance customizations to some SwingX components.
com.github.insubstantial:substance-swingx:7.0

What's on the horizon?

The next two releases will be 7.1 and 7.2, corresponding to 2012Q1 and 2012Q2.  They will support both Java 6 and Java 7.  The 7.5 release will drop support for Java 6 and be compiled soup to nuts on Java 7, that will be 2012Q3.  This also corresponds roughly with the EOL of the freely available JavaSE 6.

The contents of all of these releases will princapally be community provided patches.  Keep them coming!

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.

 

1 of 1


Posterous theme by Cory Watilo