tomc@mntgfx.mentor.com (Tom Carstensen) (03/10/88)
I Understand what most of the SIZE bits means to Multifinder, excepts for the bit labled 'Juggler Aware' (with ResEdit 1.1b3) and also the bit Background only. What do these mean. There is already a bit for accept suspend/resume events, so what it the Juggler Aware bit for? :------------------------------------------------------------: : Tom Carstensen Usenet: tomc@mntgfx.MENTOR.COM : : Mentor Graphics Delphi: CARSTENSEN : : GEnie: XPC23637 : : : : . . . about the world we live in, and live in general. : : - Depeche Mode : :------------------------------------------------------------:
steele@unc.cs.unc.edu (Oliver Steele) (03/12/88)
tomc@mntgfx.mentor.com (Tom Carstensen) writes: >I Understand what most of the SIZE bits means to Multifinder, >excepts for the bit labled 'Juggler Aware' (with ResEdit 1.1b3) >and also the bit Background only. What do these mean. There >is already a bit for accept suspend/resume events, so what >it the Juggler Aware bit for? Accept-suspend/resume means "Pass me those app4events and I'll put my stuff in the clipboard and take it out without you're having to fake me out with desk accessories." Juggler/MF-aware means "I'll also activate/deactivate my front window, or call SystemEvent if it's a desk accessory when I get a suspend/resume." If only Suspend/Resume is set, MF also passes separate activate/deactivate events. Background-only means "Start me up and I'll do my stuff and call {Get,Wait}NextEvent periodically, but don't send me any events because I'm just an Eplethnet daemon or whatever, and return immediately to the launching application." Set this and your application will never come to the foreground. It's undocumented and I can't quite figure out how to work it so that the menu bar comes back to life after the background-only application is run; try it with an app that blinks a square on the screen somewhere every half second and you'll see how it works and what I mean. Disable-option apparently doesn't do anything. Certainly not the obvious thing involving DAs that you'd guess from the name. ---------------------------------------------------------------------------- Oliver Steele ...!uunet!mcnc!unc!steele steele@cs.unc.edu "I worry about anyone under eighteen who isn't a cynic -- and anyone over eighteen who is." -- Spider Robinson
lsr@Apple.COM (Larry Rosenstein) (03/12/88)
In article <1988Mar9.111506.1858@mntgfx.mentor.com> tomc@mntgfx.mentor.com (Tom Carstensen) writes: >I Understand what most of the SIZE bits means to Multifinder, >excepts for the bit labled 'Juggler Aware' (with ResEdit 1.1b3) >and also the bit Background only. What do these mean. There >is already a bit for accept suspend/resume events, so what >it the Juggler Aware bit for? Juggler Aware means that the application will deactivate its frontmost window when it gets a suspend event and reactivate it on a resume. If this bit is not set, MultiFinder will do something to force the application to deactivate the window, which will rquire extra time for the context switch. Before MultiFinder, an application only had to worry about clipboard conversion when it received a suspend event. -- Larry Rosenstein, Object Specialist Apple Computer, Inc. 20525 Mariani Ave, MS 32E Cupertino, CA 95014 AppleLink:Rosenstein1 domain:lsr@Apple.COM UUCP:{sun,voder,nsc,decwrl}!apple!lsr
saf@moss.ATT.COM (03/14/88)
The bits in the SIZE resource for MF are: 14 - accepts suspend/resume events 12 - accepts background null events 11 - aware of MF Turning on suspend/resume gets you a suspend event so you can convert your scrap to universal format - then next time you ask for an event, you go to sleep. This is for efficiency - MF will work around it if you can't handle syspend/resume. Background nulls imply that you will call for an event about 10 times a second - this allows the foreground job to stay responsive. I'm guessing but I imagine failure to set this will keep you asleep unless you are on top (i.e., the current job). MF awareness is tricky - you have to treat suspend/resume as implying activate/deactivate ONLY if you are they top-most job. If a DA is on top, you have to pass the appropriate activate/deactivate event to it using SystemEvent(). I found that just setting "background" and the minimum/preferred sizes lets "well-behaved" code run just fine under MF. Note that CurrentA5 will NOT be valid any more!!! You have to make your own. If you've never heard of CurrentA5 don't worry about it. It's an assembly language thing used by interrupt handlers. Steve Falco moss!saf saf@moss.ATT.COM