« 1/13/07 House Party Pics and Tracks | Main | Break it up, bucko »

January 30, 2007

Native Form Widgets Getting Closer

I've been working hard on new native form widgets for Mac OS X. I am pretty far along and thing are looking great, but I've run up against some difficult layout problems that are going to take some more time to solve the right way. It is now clear to me why nobody wrote a kick-ass native form widgets implementation for Mac OS X before. It is really hard! The biggest problem so far is that theme support via Mozilla's nsITheme API is not very good. Our layout code only implements support for nsITheme in the specific places where Windows and maybe GTK need it.

There are a bunch of other issues with form control vertical alignment and popup button rendering that are specific to Mac OS X and fixing those without hacks is going to be tricky, but I think taking the time to do this the right way is definitely the way to go. If we go with the hacks it is just going to cause more pain in the future, and we might never get around to undoing them. That is pretty much the story of Mozilla on Mac OS X up until now, and it is time to change that.

I'm a little burned out on native theme stuff for now, I think I'm going to take a short break and work on some other cocoa widget bugs.

Posted by josh at January 30, 2007 10:19 PM

Comments

But they already look much better :-). Despite the obvious and not-so-obvious little problems.
And I'm with you on the dropmarker button. That thing needs a global make-over. An author can't even style it properly -on any platform- if needed/wanted.

I still run Camino with your first patch applied (I know I shouldn't).

Keep on the good work.

Posted by: philippe at February 13, 2007 6:04 PM

Does this also apply to the tabs in Preferences? Will these use more native controls instead of the 10.2 style tabs?

Posted by: Pat at February 14, 2007 7:47 AM

You're doing a great job!

Posted by: Brutal at February 16, 2007 4:33 AM

great work dude! i'm looking forward to trying this out.

~gav

Posted by: gav at February 26, 2007 5:10 PM