More good stuff.

Holding onto your stuff here and made some notes for myself. Moving onto my next QDT piece since I am trying to get an update ready for the upcoming show and every minute right now seems to count. Staying with the behavior I last described (as per your previous suggestion - works as you advertised) but what you propose here points me to a way that I think I can tune it the rest of the way. Want to think about the side affects first though (got to love the creativity of software users :) ).

Will place with this a bit later.

Cheers,
jim

On Oct 1, 2004, at 5:00 AM, P Witte wrote:

James Hunkins writes:

<>
The not so good side affect is say the user moves the called program
away to a better spot on the screen, so that the calling program is
uncovered.  Now just moving the cursor over the calling program pops
the top program to the top and [now for the bad part], the cursor pops
over to top program.  Pretty disconcerting (and definitely against the
concept followed throughout the pointer environment), not to mention,
with a lot of screen real-estate, you might not see where the cursor
went.  Looking forward to the emails and phone calls for that.

Well, you asked for it ;)

Here is a more developed version of the tester I posted previously. It works
slightly differently in that you have to DO the calling program to re-pick
the called program to the top, but you can fmodify this behaviour using
various tests and fiddling the termination vector.


Requires ptrmen_cde from EasyPtr to be LRESRed (included with my Msprv,
available on my website http://knoware.mysite.freeserve.com/index.html)
In place of FEP('Files') use your own program, eg id = FEX(<path>Fred_exe).


100 OUTL
110 DIM pr%(16): REMark Pointer Record
120 tv% = 1:     REMark Termination vector
130 id = FEP("Files")
140 REPeat
150  RDPT tv%
160  PVAL pr%:   REMark Read last event
170  IF pr%(5) = 2 OR pr%(7) = 61 THEN
180   REMark On DO or "Wake", ..
190   IF JobLives(id) THEN
200    REMark  pick to top
210    PTOP id
212    REMark Or PTOP id \ (ie Pick and Wake)
220   ELSE
230    REMark Resume normal services
240    EXIT
250   END IF
260  END IF
270 END REPeat
280 :
290 DEFine FuNction JobLives(jid)
300 LOCal nj, n
310 IF jid = 0: RETurn 1
320 REPeat nj
330  n = NXJOB(n, 0)
340  IF n = 0 OR n = jid: EXIT nj
350 END REPeat nj
360 RETurn n
370 END DEFine JobLives
380 :

Of course, this is only a sketch. Special conditions may apply (eg Job 0),
and you may want to develop different versions for different cases. My point
is, you can - by a lot of hard work - usually emulate, to some degree, the
effect you want to achieve. Far from satisfactory (and certainly not fool
proof), but its available now! and better than nothing.


Per

_______________________________________________
QL-Users Mailing List
http://www.quanta.org.uk/mailing.htm


_______________________________________________ QL-Users Mailing List http://www.quanta.org.uk/mailing.htm

Reply via email to