home *** CD-ROM | disk | FTP | other *** search
- Path: grafix.xs4all.nl!john.hendrikx
- Date: Wed, 17 Apr 96 22:16:38 GMT+1
- Newsgroups: comp.sys.amiga.programmer
- Distribution: world
- Subject: Stealing the input-focus
- MIME-Version: 1.0
- Content-Type: text/plain; charset=iso-8859-1
- Content-Transfer-Encoding: 8bit
- From: john.hendrikx@grafix.xs4all.nl (John Hendrikx)
- Message-ID: <john.hendrikx.4t47@grafix.xs4all.nl>
- Organization: Private
-
- In a message of 16 Apr 96 Yvon Rozijn wrote to All:
-
- >> (long thread about requesters stealing input focus)
-
- >> This still can't help against the case where it accepts a key press that
- >> was intended to go to a completely different window.
-
- YR> Actually, you can *never* avoid this, even if you don't use keyboard
- YR> control at all. Suppose I want to click a button in a requester, I
- YR> position the mouse pointer, and the split second before I to press the
- YR> mouse button, another requester pops up in front. I will actually be
- YR> clicking the wrong gadget.
-
- YR> The only solution would be never to allow requesters to pop up in front
- YR> of other windows, but that seems to contradict the nature of requesters.
-
- I think a nice solution might be to add ways for programs to draw the users
- attention but without interrupting whatever the user is doing at the moment. A
- nice solution for example could be to have some sort of gadget on for example
- the screen bar which tells you whether another program wants your attention
- (maybe with a 'beep' or something). Pressing that gadget (or using the global
- hotkey) would bring you to the application wanting your attention. It should
- be done in such a way that these calls for the users attention are stacked, so
- if more than one application wants your attention you can click the
- attention-gadget again to bring up the next application.
-
- This behaviour could be different if the application currently having the focus
- is single-threaded (so the user couldn't be doing any other things at the
- time). In that case a requester could be popped up immediately as usual.
-
- As an example, say I'm typing a message in CygnusED (like I'm doing now) and
- DOpus wants to tell me that during the moving of files (which is going on in
- the background) it found a file which needs to be unprotected before it can be
- deleted. DOpus doesn't have the input-focus, so it first has to attract my
- attention, so it tells the system to 'add' an attention-gadget to the screenbar
- of CygnusED (actually it is added to all screenbars) and gives me a beep. I
- could then finish typing the paragraph and then press the hotkey or click that
- gadget to pop DOpus to front, which has been waiting for me in the background
- to satisfy the requester. Even if I didn't hear the beep I would still get a
- visual clue that some application needs my attention by looking at the
- screenbar.
-
- Any comments?
-
- Grtz John
- -- Via Xenolink 1.985B5, XenolinkUUCP 1.1
-