James Hunkins writes:

> Anyone have any ideas of how I can lock a window so that it can't be
> picked to the top under SMSQ/E if the mouse clicks on a visible part of
> it?  It sounds like there might not be an official way to do this but
> creative ways are always entertaining.
>
> QDT often calls other programs which run in separate windows.  The
> calling window is locked to the degree where it is kind of in standby
> and will not accept any user input.  But if you accidentally click on
> the original window, it currently pops to the top and may accidentally
> cover the window that is accepting input.
>
> Any suggestions will be more than welcome.

Provided Ive understood the situation correctly, ie QDT is the calling job
that has accidentally been picked to the top, you can:

    Execute somejob, getting it's ID (eg FEX / EXF or FEP)
    read pointer, trapping pointer-in-window (vector 32)
    if somejob's gone then
        continue normal QDT operations
    else
        re-pick somejob to top of pile
    endif

An EasyPtr program to test the concept goes:

    100 OUTL
    110 id = FEP("calc")
    120 REPeat
    130  RDPT#0; 32
    140  PTOP id
    150 END REPeat

You'll see it is impossible to pick the window of the calling job until you
quit Calc.

HTH

Per

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

Reply via email to