From: johnsd2@jec325.its.rpi.edu (Daniel Norman Johnson)
Subject: Re: Why Macs are better (and the others aren't)
Reply-To: johnsd2@rpi.edu
Organization: Rensselaer Polytechnic Institute, Troy, NY.
Date: Wed, 7 Oct 1992 16:14:35 GMT

In article <TOMSTER.92Oct6215518@bigwpi.WPI.EDU>, tomster@bigwpi.WPI.EDU (Thomas Richard Dibble) writes:
|> In article <1_rzbm#@rpi.edu> johnsd2@vccsouth07.its.rpi.edu (Daniel Norman Johnson) writes:
|> 
|>    In article <1992Oct05.025346.25485@NeoSoft.com>, peter@NeoSoft.com (Peter da Silva) writes:
|>    |> You need to have a "current input stream", but it's not the same thing
|>    |> as a "foreground application". The primary application of interest is
|>    |> often not the one that owns the currently active window.
|> 
|>    Well, the names have been changed to protect the innocent, as they say. :)
|> 
|>    To be blatant, in the Mac, "current input stream" DOES equal "foreground
|>    application". Its the way the event manager works.
|> 
|> Well, *MY* understanding of what Peter is trying to say is this: 'foreground'
|> denotes that it is getting a larger share of processor time than 'background'.

Oh, well why didn't he SAY so? :) Actually, I think that since we were talking
about user interface at the time (weren't we? Im not sure anymore), its
a safe bet that he was talking about which app the user was interacting
with. (on some systems, this isn't necessarily the foreground app/window,
as you no doubt know. :) )

|> 'current input stream' means that key/mouse strokes are given to that app
|> first (but not necissarily *only* that app, if the app doesn't need it ... ).

You are mistaken. Without patching traps, there is NO way for a Macintosh
app in the background to recieve keydown, keyup, autokey, mousedown
or mouseup events. Period. They can track where the mouse is with nullEvents
but thats IT. If the frontmost app doesn't use the events, nobody does.

|> For instance, say I was running a large spreadsheet and just set it to
|> calculating.  I need to get this done as fast as possible.  But I want to get
|> a quick game of Tetris in as well.  I don't care much about the game.  It
|> can run slowly and I really won't notice or care.  But having that spreadsheet
|> going at half speed while 2/3 of the processor time is spent moving Tetris
|> blocks down the screen -- *that* would annoy me.
|> If 'foreground' necessarily equals 'current input stream', I can either
|> play Tetris or get the spreadsheet done fast.  It would be great if I could
|> change these things around easily and on the fly.

Yes, it would. Now we are in to multitaskingland. :) The reason that
background apps are supposed to (tho not forced to) take up less
cpu time is that if they did not, the responsiveness of the foreground
app would plummet, because there would be no way to switch to the
foreground app when the mouse button was pushed (For instance).

Its usually not a serious problem however. It seems to me that
Tetris would be amazingly annoying if it was jerky. But to each
his own. (and I still want pre-emptive multitasking)

-- 
			- Dan Johnson
And God said "Jeeze, this is dull"... and it *WAS* dull. Genesis 0:0

These opinions have had all identifiying marks removed, and are untraceable.
You'll never know whose they are.