Let's say you're a big gun DX station, and you can pick out three or four callsigns in a pileup, but you just can't remember them all.<br><br>I've created a little Win-Test LUA script called "StackCalls" to attempt to solve the "scratchpad" problem.<br>

<br>The script below lets you enter as many calls at once as you like and stacks them in the partner window.  By default, calls are stacked in reverse order (last one at the top), then the last call enetered is loaded into the logging window, ready for you to call back.  The rest of the callsigns heard remain "stacked" in the partner window, and may be grabbed via Alt-1, Alt-2, or double click.  To simply remove a callsign from the Partner window, you can use Ctrl-Double click.<br>

<br>You also have the option of stacking callsigns in the order entered (First in First Out), rather than in reverse order (Last in First Out).<br><br>How to install:<br><ol><li>Save StackCalls.wts (below) in your Scripts directory (to see this directory, in Win-Test, do File | Explore | /scripts directory)</li>

<li>Tools | Scripts Manager</li><li>Highlight StackCalls and click the [Properties] button<br></li><li>Click the [Define] button<br></li><li>Press [F12] or [Ctrl-C] or whatever key you wish to use to activate StackCalls</li>

<li>If you want callsigns to be stacked in the order entered, enter<br>Argument:  "FIFO"  (<i>with</i> the quotes),<br>otherwise enter no argument<br></li><li>Press [OK]</li><li>Press [OK] again</li></ol>How to use:<br>

<ol><li>Windows | Partner (once, to keep the Partner window visible; my attempt at automating this did not work)</li><li>Press [F12] or whatever key you assigned to StackCalls</li><li>In the pop-up window, type as many callsigns as you like and press Enter</li>

<li>Note that all the callsigns are now loaded in the partner window, one per line, except for the last one entered, which should be in the logging window (unless there was already a callsign in the logging window)<br></li>

<li>Use Alt-1 to pick off the next most recent call, or any other you wish</li><li>Press Alt-1 multiple times to pop every callsign off the stack.<br></li></ol>I hope this helps.<br><br>For more details of how to use the Partner Window, see <a href="http://docs.win-test.com/wiki/Menu:Windows#Partner">this page</a> in the Win-Test Wiki.<br>

<br>73,<br>Bob, N6TV<br><b><br>StackCalls.wts</b>:<br><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">-- Stack Calls - Stack multiple callsigns in partner window so that they can be</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">-- grabbed one at a time with Alt-1, Alt-2, etc.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">--</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">-- Assign to:  F12, Ctrl-C, etc.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">--</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">-- Argument = none for LIFO (last in, first out) - default</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">--            "FIFO" (in quotes) for first in, last out</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">-- Time-stamp:  "29 September 2010 03:23 UTC"</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">-- Written by N6TV</span><br style="font-family: courier new,monospace;">

<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">local lifo = true  -- Assume last in, first </span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">if wtArg ~= nil and string.upper(wtArg) == "FIFO" then</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   lifo = false</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">end</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">-- Prompt for callsigns</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">local callsigns = wtApp:InputText("Enter callsigns:", wtCurrentScript, "")</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">local callsign = nil</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">-- If user didn't simply press Escape or Cancel or enter nothing</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">if callsigns ~= nil and callsigns ~= "" then</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   -- Make Partner Window visible</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">   -- wtApp:ShowWindow(WT_WND_PARTNER)</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   if lifo then</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      -- We want last in, first out, so first we have to reverse the string of callsigns</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      callsigns = string.reverse(callsigns)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">   end</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   -- If there's already a callsign in the logging window, save it in the stack</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">   if wtQso:IsCallsignEmpty() == false then</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      -- Type Alt-Enter to save it the partner window</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      wtApp:SendKeyCode(269, WT_KEY_ALT)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   end</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   -- For each callsign entered in the box (alphnumeric characters (%w) and slashes)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">   for callsign in string.gmatch(callsigns, "[%w/]+") do</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      -- Clear the callsign field in the logging window</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      wtApp:SendFKey("F11")</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      </span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      if lifo then</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">         -- Unreverse the callsign</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">         callsign = string.reverse(callsign)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      end</span><br style="font-family: courier new,monospace;">

<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      -- Type the callsign in the logging window</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      wtApp:SendKey(callsign)</span><br style="font-family: courier new,monospace;">

<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      -- Type Alt-Enter to load it into the partner window</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      wtApp:SendKeyCode(269, WT_KEY_ALT)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">   end</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   -- Finally, type Alt-1 to pop the last callsign heard, or to restore call that was already</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">   -- in the logging window if nothing was entered in the pop-up window.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   wtApp:SendKey("1", WT_KEY_ALT)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">end</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">-- No further keystroke processing</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">return -1</span><br style="font-family: courier new,monospace;"><br>