Fixing Squeak's Sesame Street Looking Windows

One of the things I dislike about the default Squeak image, in every version, including the new 3.9, is the Sesame Street looking windows. They're fat and ugly, even with the LookEnhancements package which can be loaded into 3.7 and above, and comes loaded by default in 3.9. This package goes a long way towards making Squeak look more professional, but it doesn't go far enough, and keeps these nasty looking fat 4 pixel borders that make it look like something built for children (which I guess, it is), but just looks old.

One of the things I love about Squeak, is that it doesn't need to please everyone, because there's nothing in the system I can't simply find the source code for, and fix. If I spend any time working in a Squeak I don't like, that's my own fault for not changing it.

So, in a 3.8 image, LookEnhancements is one of the first things I load, in 3.9 it's already there. Once loaded, here's a change set I apply to fix the windows after LookEnhancements has had a crack at them. All it does it slim down the window borders to 2, the splitter borders to 2, and adjusts the positions of the corner grips to match the newer slimmer sexier more professional looking windows. You may have to fiddle with the corner grip offsets depending on your choice of font sizes for the title, they're simply floated over the windows statically, not dynamically adjusted to compensate for changes.

Next, for those of you who develop on Windows, comes installing Andreas's Win32 Native Fonts package from SqueakMap. This almost gives Squeak a native look and feel on Windows. Personally, I prefer Verdana 12pt font for just about everything, so I change just about every font in the system to it. All of these changes are already in my image, but I thought I'd detail a little more some of the things I do to create it, and why.

After making these changes, if you look in preferences and turn off rounded window corners, rounded menu corners, and scrollbars narrow, you'll end up with a much nicer looking Squeak that actually looks suitable for adults who can still see. Squeak might have been made for kids originally, but Seaside has given it new life in the real world, where serious apps are written, and expectations for how an environment looks and feels, is a little higher than what a kid might require.

Comments (automatically disabled after 1 year)

Bernard Notarianni 3824 days ago

Thank you Ramon for sharing with us your "secrets" to build an adult looking image :-)

I would not say that adult have higher expectations for look and feel than kids, I would say they are different. I believe kids a more able than us to accept and adapt to something they are not used to. We are so used to Microsoft Windows look and feel that Squeak native look is too weird for us. I really believe is just a matter of personal taste and I can imagine that some other persons could think that native look and feel if very nice, especialy if you think it can be used by people coming from many different platforms (windows, Mac, Linux etc...) where expectations might be different.

Anyway, thanks again for building this image fitting very well the taste of old adult Windows chaps :-)

Moreover, your image is more than look and feel: I like very much your customization of the browser.

Ramon Leon 3824 days ago

Thanks, and you're right of course, kids are able to accept more, but it's somewhat related to the fact that they know less. They don't have the experience or expectations we have, right or wrong, we've been using computers for years and have come to expect certain looks and behaviors, even Mac, Linux, and Windows have more in common than they differ.

Users expect certain things from a window, on any OS, if Squeak violates those, it's wrong. It's wrong for the same reason that you don't build a car with the gas and break reversed, you don't build buildings where doors don't open.

Now, if Squeak had somehow surpassed the "window" as a metaphor, or replaced it, that'd be cool, but it didn't, it just did "windows" differently, for no good reason. Mostly it's a look thing, but it's a behavior thing as well, the default Squeak does nothing when I click the title bar, I hate that, mine maximizes.

Don't get me wrong, I love Squeak, but I also love that I can fix it, and make it right in my eyes, and in the end, I'm the only one I have to please. So I'm not dissing Squeak at all, I'm just showing you how I like it, but to each his own.

Dirk 3824 days ago

Any change to get these nice looking fonts into a MacOSX image?

Ramon Leon 3823 days ago

Have you tried the image, I honestly don't know that it doesn't already work. I don't have a Mac, so I can't help you much here.

Dirk 3823 days ago

Well, it does work. Much more readable this ways!

One question, when i open the SentorsaBrowser the only category i see is Pier-Security-Tests, the normal Package Browser shows them all....

Any hints?

Ramon Leon 3823 days ago

Yes, I've subclassed Cees de Groot's RefractoringBrowser, so I'll quote his description.

"The RefractoringBrowser comes up empty initially. You can add packages and class categories to show, and hide stuff again. Classes you search for will also be displayed, of course. In this way, you get a view on the image that shows just what you're working on, making for much quicker navigation."

So just right click over the category window and use the show package and show category options, or find a class, and it'll automatically show its category.

David Mitchell 3614 days ago

Getting a 404 on FixUglyWindows.cs

Is it still available?

Ramon Leon 3614 days ago

Sorry, it's back up now, thanks for letting me know.

about me|good books|popular posts|atom|rss