Window Frames for system windows

Lex Spoon lex at cc.gatech.edu
Wed Jul 26 13:55:02 UTC 2000


Ultimately, the right answer seems to be to talk about centimeters
instead of pixels.  To be practical, though, this does require having a
certain resolution available; 70-100 dpi is probably not enough,
especially for text.

On the other hand, most people run their video cards way belowe what
they can actually do.  What a shame that people are *that* locked into
pixel-oriented graphics applications!

The whole situation is similar to the old "turbo" buttons that would let
people run their CPU at a fraction of its full speed.  This is necessary
when running programs that talk about cycles instead of seconds....

-Lex



"Jim Benson" <jb at speed.net> wrote:
> Bob,
> 
> I've thought about this for a couple of days, but I have not been able to
> come up with what a general purpose solution should do. As is usually the
> case, I keep running into the dichotomy of Squeak. It's big and it's small,
> with no real target machine. Maybe it has a big display, maybe it has a
> small display, or no display at all (though we can probably have pretty
> small minimumExtents on that one :) . So, when you set the minimumExtent to
> some value, it depends on what type of platform you're running on to
> determine what a reasonable default should be.
> 
> There are other examples of this strewn throughout the system. Minimum
> extent of system tools is one, default font size is another nasty one.
> 
> There is a major difference between things like 100 at 80 extents for browsers
> on a PDA vs. a 1600 at 1200 PC/workstation display. On a 1600 at 1200 display on a
> 21" monitor, working the menus is a real challenge due to the small font
> size, and you pretty much have to have magnifying glasses on to look at the
> default text sizes for any length of time. Yet on a 640 at 480 screen, it looks
> huge. Going forward, I would hope we have much larger displays with much
> higher resolution. Just adjusting your preferences would become a major
> challenge on higher resolution displays.
> 
> Another problem with the minimumExtent for SystemWindows is that all of the
> panes in some of the common windows do not honor the bounds of the
> SystemWindow. For example, look at a default PackageBrowser instantiated
> from a 'browse code' menu command in the file list, when the Preferences is
> set for inbound scrollbars. When an Explorer is sized to 200 at 200, the
> scrollbar overhangs the window frame. It seems to me that there has to be a
> minimum size in pixels that a pane must honor when being resized, or else
> the whole thing becomes a mess real quick.
> 
> To experienced Squeakers, that's not a *real* big deal because you can set
> all of your preferred font sizes and preferences just once, then save them
> to an external file using sophisticated Lex Spoon approved Squeak code.
> These external files may be later filed into other images to setup "your"
> preferred Preferences.
> 
> To the neophyte, however, to say that it's a challenge to set the font sizes
> is a major understatement. And there are only three default fonts ( if you
> count Comic Plain and Comic Bold as two fonts <grin> ) !!! Imagine if Squeak
> became like a modern application and had a reasonable number fonts!!! My
> guess is that you lose a lot of these folks right from the get go when they
> try to figure out how to change things in the appearance or preferences
> area. It's way too hard for what it does.
> 
> MinimumExtent is tricky. For example, when I bring up a browser on my rig, I
> resize it to a workable size. Every stinking time I have to browse
> something.
> 
> So then I started thinking things like "Well, how about if you had
> preferences for things like minimumExtent that they were calculated based on
> the current screen resolution and the extent of the native OS window that
> Squeak was running in?" Same thing with fonts on system startup. Then I just
> keep running back to the same questions, "How do I make Squeak act like a
> window manager without writing an entire window manager?" and "Preferences
> are not my friend, yet I keep wanting to add more?" Usually by then I get
> hopelessly confused, and lose interest.
> 
> Jim
> 
> 
> Bob wrote:
> 
> >
> > I think a useful approach here might be to start setting the minimumExtent
> for things. For browsers, you could do this in the places where
> SystemWindows were created for browsers by adding something like:
> >
> > window setProperty: #minimumExtent toValue: 200 at 200.
> >
> > since a System Browser running in a 100 at 80 space seems a bit too small to
> be useful. Alternatively, you could decide that any system window needed to
> be a certain size and include the setting in SystemWindow>>initialize.
> >





More information about the Squeak-dev mailing list