Path: utzoo!utgpu!water!watmath!clyde!att!pacbell!ames!pasteur!ucbvax!decwrl!hplabs!hpda!hp-sde!hpfcdc!hpfclp!diamant From: diamant@hpfclp.SDE.HP.COM (John Diamant) Newsgroups: comp.windows.misc Subject: Re: DOS & MS-windows Vs. Unix & X experience + MS-windows Flame Message-ID: <10700006@hpfclp.SDE.HP.COM> Date: 30 May 88 04:31:45 GMT References: <10799@apple.Apple.Com> Organization: HP SDE, Fort Collins, CO Lines: 31 jrg@Apple.COM (John R. Galloway) writes: > Certainly the window manager would have to check to be sure the dialog box > would be positioned off screen. Yet this is unlikely since the entire > string of events was started by a menu, as long as it is positioned so > that it leaves enough room, and the dialog boxes are well designed (perhaps > with the OK button on the left, or right) this should be a rare occurence. In the case you were talking about, the events were keyed by a user action on the mouse, so you are correct. I am trying to consider the general case of popup dialog boxes. There are certainly cases where the dialog box pops up by itself due to system errors (disk full, etc) where the mouse sprite may be over in a corner because it is not being used at the moment. Maybe the answer is to do as you suggest and pop the dialog box up under the sprite for user initiated actions, but for modal dialog boxes caused by system errors, pop them up central to the application or screen. Or, alternately, simply always attempt to pop the dialog box up under the sprite, and if it would be paritally off screen, then move it fully onscreen. What I don't like about these approaches is that it is easy to learn a response that you can just always click no matter where you are to get the box to go away (because normally you're in the right place), but it wouldn't be consistently true. Also, moving the mouse sprite over the dialog box is generally considered to have poor human factors. John Diamant Software Development Environments Hewlett-Packard Co. ARPA Internet: diamant@hpfclp.sde.hp.com Fort Collins, CO UUCP: {hplabs,hpfcla}!hpfclp!diamant