Zurgle Project Update

Jim Benson jb at speed.net
Wed Sep 26 04:49:29 UTC 2001


Andreas,



> Nice!

Thanks.

> There way only three things that I found a bit annoying:

Sounds like I'm getting out of this easy.

>
> * The title bars are too high for the default font - I think it would make
a
> lot of sense to adjust the height depending on the choosen font (the
current
> height looks just right for example with Comic 14pt)
>

This is adjustable, somewhat. The way this is *supposed* to work (grin) is
that the theme designer specifies what type of font and the font size that
is used with window, e.g. CypressFont size 15 bold. In Squeak world, of
course, we don't have that concept of other people telling us what to do and
abiding by their rules.

The "natural" size of the title bar is 30. You can change the size of the
top part of the frame by saying (where 28 is the new title bar height and
the frame is scaled accordingly):

| rect |
rect := 3 at 28 corner: 3 at 3.

WindowTheme current frameDimensions: rect ;
     lookDictionary at: #paneInset put: rect.

In short these statements define how the frame is dimensioned, and where the
content region, or pane rect, is placed. These are seperate so that you can
add things like tool bars and menu bars to window frames without overwriting
the pane rectangle.

This kind of breaks down eventually because you need to be more intelligent
about sizing your close, maximize, and minimize buttons. These buttons are
in Layout frames, but in this example those are fixed in size. Of course,
you can change that if *really* necessary ...


> * The bottom corners of windows should be rounded if the upper corners are
> rounded - it has a really weird feeling to me otherwise
>

Blame those people at Microsoft !!! Don't they have any aesthetic sense? You
can partly overcome this by turning window rounding back on (the demo code
turned it off, sorry). Remember, these themes are just bitmaps so they show
up the way that they are drawn.

> * Get rid of that menu bar!!! (or at least make it a pop-out thingy) It
was
> truly amazing to me how the mere presence of the menu bar almost
immediately
> took me out of the constructive feel of plain sheet of paper and back into
> the conservative WIMP style (perhaps that's intended?! ;-)
>

I'm blaming that on Rowledge, who made me dig that code up in the first
place. It's among the last lines in BuildLuna.st

MenuBarMorph newExample.

Just comment it out. I'll give you a metaphor. You like a clean sheet of
paper, as most artists do. You can do anything that you want on that paper,
no constraints. Others like to draw by the numbers, they need something to
get them started. They are intimidated by the clean sheet of paper, after
all, *anything* can go there. That's kind of what the menu bar is for.
Here's a true story:

I wrote a simple program in Squeak to take a text report, take key points of
information from the report and place them on a summary page. The rest of
the report was appended to the end of the summary page. I simplified the
World menu so about the only thing the user could basically do is select
'process report' and 'exit'. I was thinking to myself, "This is great, I can
just hack this report out real quick and ship it, be done with it". The
customer wanted it fast, so I loaded it on their server remotely. Smugly, I
called the user and told them the report generator was ready. (They were
excited, the vendor of the original program wanted $12,000 for this feature,
it took me about an hour to write ).

About four hours later, the customer called and told me that the report
generator was broken, and he couldn't get it to work. Doing this over the
phone is awkward, but I started asking the questions anyway. Of the four
hours, he had been staring at the screen wondering what to do for 3 hours
and 45 minutes (the other 15 he went and got a cup of coffee). Never
occurred to him to click the mouse, though to his credit he did hit the
space bar. As all good consultants to, I pretended to listen to him and be
gravely concerned.

Grabbed the menu bar code, put it in. Waited overnight to make it appear as
if something was happening (and that I was actually working - in the car
repair business they call this the sunshine treatment), then placed the
revised program on the machine. I called the user up, and he was estatic. He
said the program worked (I assumed it was because he knew how to work it
with a menu bar). He was ecstatic. The joke was on him though when I sent
them the bill.

Jim








More information about the Squeak-dev mailing list