home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 7602 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  2.8 KB

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