I wrote a system wide hotkey script to pop up a check list of open listers so I can click the one I want to bring to the foreground. The way it behaves is best described by example.
My starting point is two open listers A and B. I press the hotkey to run the script and click/check B on the pop up menu. This correctly brings lister B to the foreground - so far so good. When I press the hotkey a second time, the menu pops up and at the same time lister A jumps to the foreground. This happens immediately - i.e. before I have made a selection from the menu. If I select B from the menu then lister B replaces lister A in the foreground. Next time I press the hotkey, lister A jumps back in front.
Script code as follows. Tested with vanilla (except for the hotkey) Opus 11.8 on Windows 7 64-bit.
Regards, AB
[code]@language vbscript
Option Explicit
Function OnClick(ByRef ClickData) ' This is the executable code
Dim cdf, cmd, dlg, i, list, menu, s
Set list = DOpus.NewVector : Set menu = DOpus.NewVector
Set cdf = ClickData.Func : Set cmd = cdf.Command : Set dlg = cdf.Dlg
cmd.deselect = False
If DOpus.listers.count = 1 Then
s = DOpus.listers(0).title
Else
For i = 0 To DOpus.listers.count - 1
DOpus.listers(i).update
list(i) = DOpus.listers(i).title
DOpus.output "Listers(" & i & ") = " & list(i)
If i = 0 Then
menu(i) = 3
Else
menu(i) = 0
End If
Next
With dlg
.choices = list
.menu = menu
.show
i = dlg.result
End With
DOpus.output "dlg.show returned a value of " & i
If i > 0 Then s = list(i-1) Else s = ""
End If
If Not s = "" Then
s = "Go FINDTITLE " & """" & s & """"
DOpus.output s
cmd.runcommand s
End If
End Function[/code]