icewm is not my favourite window manager

Update: I’m a fucking idiot. Turns out I was calling JFrame.setDefaultLookAndFeelDecorated(true); when I should have been calling JDialog.setDefaultLookAndFeelDecorated(true);. All fixed now.

There is a complex interaction between X Windows window managers and Java’s look and feel manager. And it is currently driving me crazy.

Our project choose the “Ice”, aka “icewm” as our window manager. We choose it because

  1. It is very lightweight
  2. It was relatively easy to strip out all the stuff we don’t want
  3. It had translation files so it would automatically display in all the languages we support

On the downside, it also looks very “Windows 3.1″ish, and it’s stupid as hell. The thing that’s currently driving me nuts is that when you use*Dialog to display simple dialogs, Ice insists on putting close and iconify icons on the dialog. Two problems with that

  • The icons overlap the title meaning you can’t read the last word in the title.
  • If you’re dumb enough to actually iconify the dialog, it’s damn near impossible to find it again, and since it is modal, you’re basically stuck until you can figure out where it went.

So here I am trying to figure out how to make JOptionPane tell Ice to stop doing this. JOptionPane.setDefaultLookAndFeelDecorated(true) doesn’t seem to do anything. I discovered in my own dialogs that use my own subclass of JDialog, I can achieve something a little less horrible by calling setUndecorated(true); and getRootPane().setWindowDecorationStyle(JRootPane.FRAME); which gets rid of Ice’s title bar and replaces it with a Java-style title bar that only has a close icon on it.

I downloaded the JDK source code to see if there was anyway I could do something similar in JOptionPane. There are a couple of methods in JOptionPane that look promising, but of course Sun made them private so I can’t override them. I could replace JOptionPane entirely, but that’s probably a gross violation of the license that I downloaded the JDK source under.

I’m hoping that next release I can convince the powers that be to switch to XFCE or something else that looks a little more modern and perhaps will listen to the window manager hints from Java.


Flying is about to get a lot more expensive

Over the last couple of years, the membership of the flying club has reduced by 25%. Maintenance is more expensive as ridiculous lawsuits have forced parts manufacturers and mechanics to spend more on lawyers and insurance, and stupid TSA rules have constrained our flying and our access to planes and airports and added expenses. Fuel costs have spiraled higher and higher. And IFR flying we practically requires an approach capable GPS, which we’ve only added to one of our planes. We’ve tried to reduce costs by selling one of our planes.

Also in that time, it’s become more expensive and harder to insure complex six seater aircraft. When this first became and issue, we had 12 people flying our Lance and 3 people considering moving up, and the insurance company only wanted to write a policy with 8 named pilots on it. We decided that the best way to pare that “Lance list” down a bit was to put a small “Lance Surcharge” for the people who wanted to be on the list. Unfortunately, even with the small surcharge we imposed, the list immediately dropped down to 7 people, and over time it’s dropped to 5.

A couple of weeks ago we re-ran the numbers, and the numbers told us two things:

  • The monthly dues needed to be raised
  • The small “Lance Surcharge” is not enough to cover all the expenses of the Lance.

In the past, all members of the club have carried the expenses of all the planes, because the planes were club assets. But with only 5 people allowed to fly the plane, it seems that it’s only fair to put more of the onus on the costs of that plane on those people. And the awful truth is that if you put all the onus on those 5 people, one or more might drop off the Lance list, and then the costs will be spread among 4 people, or 3 people. And then there is the issue of the ancient engine – the Lance’s engine is way over TBO, and will probably need replacing within the year, and that’s going to cost around $35,000.

We haven’t actually figured out what to do, but in the mean time we’ve increased the normal monthly dues by $20 and doubled the Lance Surcharge. And we’re putting the Lance up for sale to see if there is any interest.

Then there is the issue of the other flying club. I wrote about them before. Their current “Lance List” has 5 or 6 people on it, and their monthly fees plus “Lance Surcharge” ends up being double what our current fees are. If we make our Lance Surcharge close to what it would take to actually support the aircraft, it would get pretty close to their total fees. And for our money, we’re getting a worse Lance – theirs has an almost new engine, and a Garmin 530W GPS. If I’m going to pay that sort of money, I want to get the best Lance I can get for the money.

Sigh. I wish good load hauling aircraft weren’t rarer than hens teeth. If only we could get a decent Cherokee 6 for a decent price. The 6 has the roominess and load hauling ability of a Lance, but without retractable gear. That means you lose some speed, but you gain insurability, and lower maintenance costs. Even better, because it would be insurable without a named pilot policy, we wouldn’t need a separate list and surcharge for it. But Piper didn’t make very many of them, and the ones that are out there are selling for $40,000 more than an equivalent Lance for those very reasons.

Dammit, NO!

Pilot dead

A Snowbirds pilot has died. Their season only just started – I saw a story about their sign-off show only a week or so ago. Oh man, I know it’s terrible either way, but I selfishly hope it’s not one of the ones who signed my laptop.

Second paddle of the season. Overdid it a bit.

I went up the left branch of the creek after the weir, up to Old Browncroft Blvd. 4.4 miles round trip. The air was a little below 70 degrees and the water still a bit cold, and I wore my wet suit with no shirt underneath, and my PFD. The PFD isn’t very good, and it rides up above my fat stomach and ends up rubbing against my jaw as I paddle. The wet suit rubs a bit under the arms but I’m pretty sure it would be fine if I wore a t-shirt.

I tried hard to paddle with good technique, but I don’t think I did a very good job. My elbows are quite sore now. When I got to the turn around point, my left shoulder and right fore-arm were sore and I thought I’d have to take it easy on the way home, but with the current behind me I actually ended up doing some good hard paddling and I wasn’t sore when I got home.

If you look at the Google Maps Pedometer map on the link above, you’ll see that I went into a large area of open water. I think of it as “the lake”, but it’s not really one. The shores of “the lake” provide a lot of mud flats, and on the flats there were dozens of sandpipers. There seemed to be two types of them, some really tiny ones about the size of a goldfinch, and some about half way between that and a killdeer, but I wouldn’t swear to that. I also saw some highly aggressive red wing blackbirds – some attacking each other, and some chasing off some small falcon-form birds like a Merlin or a Kestrel. I guess the females are coming soon. This area also attracts vultures, which is not very encouraging when you’re struggling, and they were out today.

Speaking of birds, what is it about Great Blue Herons that make them so stupid? They see a boat coming upstream, so they “escape” by flying up further upstream, only to have to fly off again 5 minutes later as you get closer. Why is it so hard for them to figure out that they just have to fly around behind you? Bird brains!

On the trip back, I discovered a “gaggle” of young girls in kayaks harassing a swan. There were about 8 or 9 of them, and they had the swan surrounded and were sort of chasing it around. The poor thing had its wings up in a threat display, but there were too many for it to attack or get away from. I didn’t see an obvious leader, so I yelled at them to leave the damn swan alone before they killed it, and paddled on home. When I got to Bay Creek, I asked about this group and the guy working there said that they were supposed to be with an instructor, and he’d speak to them when they got back.