Script menu commands

The Script menu offers the following commands for controlling scripts:

Edit Opens a submenu for opening script editors
      Edit 1, 2, ... Opens a window for editing a script.
Run Opens a submenu for running scripts.
     Run 1, 2, ... Runs a script.
Edit/Run One Line... Opens window to allow up to 5 one-line scripts.
Stop Stops script at next command.
End Stops script at end of loop or repeat.
Resume Resumes script at place where it stopped.
Toolbar Opens a toolbar with buttons for all scripts.
Set Height Sets the number of buttons and button height in the script toolbar.
Controls Opens dialog box to set conditions for stopping a script.
Load New Package... Loads all scripts from a file and makes that file be the current package.
Save Package Saves all scripts to the current package file.
Save Package As Saves all scripts to a new file and makes that the new current package.
Load Many Loads all scripts in a file into their given script numbers.
List Functions Lists all functions defined in scripts.
List Persistent Vars List sall persistent variables defined by scripts in the log window.
Clear Persistent Vars Clears all persistent variables defined by scripts.
Set Indent Size Sets number of spaces for automatic indenting in editor.
Show Indent Buttons Toggles whether to show buttons for adjusting indentation of lines in editor.
Use Monospaced Font Toggles whther to use an equally spaced font in the editor.
Open Editors on Start Toggles whether editing windows will be restored on program startup.
Run at Program Start... Toggles whether to run a script on program startup and lets you select script
Run at Program End... Toggles whether to run a script on program exit and lets you select script
Verbose Toggles echoing of each line at start of script.

For a list of available script entries, see Script Commands; for general information about scripts see About scripts.

Edit command (Script menu)

Use one of these commands to open a Script Editing Window for editing the given script. Use the left or right 'Editor ' arrows in the editing window to get to scripts numbered higher than 10.  You can also open an editor for an existing script by clicking with the right mouse button on a button for the script in the Script Toolbar or in the Camera & Script Control Panel, or by holding down the Ctrl key and pressing as usual with the left mouse button.

Run commands (Script menu - Run submenu)

Use one of these commands to run a selected script.  There is an entry for all of the currently available scripts.

Edit/Run One Line command (Script menu)

Use this command to open a small free-standing window in which you can enter a set of one-line commands and run them. The window allows up to 5 such scripts.  When you edit in one of the lines, its Run button becomes the default button for the window (as shown by the Run being in bold) and pressing Enter (Return) will run that script.  This window is resizable, so you can change the height to show just the number that you need, or change the length to accommodate longer entries.  The lines are preserved between sessions in the settings file.  The first time that you open the window, it will show one text box; subsequently it will restore its previous size and location.

Command completion with tab or ` works in this window just as in a regular script editor.  In addition, Ctrl-A will select the whole line, after which can be deleted with the Delete key.  Ctrl-Z can be used to undo the last operation.

Stop command (Script menu)

Use this command to stop a running script.

End command (Script menu)

Use this command to stop a running script at the end of a loop or the end of the script (before repeating). In addition, when a script is run from the Navigator, the End command can be used while the script is stopped to terminate that script and let the Navigator go on to acquire at the next point.

Resume command (Script menu)

Use this command to resume a script that was stopped with the Stop or End command. If you want to start a script from the beginning, run it rather than resuming it. The next command in sequence will be executed if you stopped with End. If you stopped with STOP, the program will show you the line that it stopped on and ask whether you want to redo this command or go on to the next. In some cases a script that stops because of an error condition can be resumed from the point at which it stopped; the program will resume from either the current or next command as appropriate for the type of error.

Toolbar command (Script menu)

This command opens a small panel with buttons for all scripts, or as many are specified with the Set Length command. The buttons are wide enough to allow somewhat longer script names than in the Camera & Script Control Panel. Individual buttons will be enabled when a script is available to run or when it is open in an editing window. You can open an editor window for any existing script by holding down the Ctrl key while pressing the button. If you lose the toolbar behind other windows, invoke this menu command again to raise it. The program will remember this window's position and whether it is open between sessions.

Set Height command (Script menu)

Use this command to set the number of buttons in the script toolbar, and their height in pixels.  Initially, the toolbar will have 10 buttons.  The button height can be increased if the buttons seem too narrow to select reliably, or decreased to fit more buttons on the screen.  Enter a height of 0 to return to the initial height.  The spacing between buttons may also be decreased when the height is decreased, especially when

Controls command (Script menu)

Use this command to open the Script Controls dialog box in order to set conditions for stopping a script. The script can be stopped when the stage reaches a certain tilt angle, image intensity falls below a certain level, image shift exceeds a certain amount, montage error is too large, or the script has repeated a given number of times.

Load New Package command (Script menu)

Use this command to load a package of scripts from a file and make that file be the 'current script package file', which is loaded and saved along with the settings file.  As of SerialEM 3.8, scripts are no longer saved in the settings file but in a separate file, with the name of that file saved in the settings file.  This means that you can have multiple packages of scripts without having to store them in different settings files, and also that you can have multiple settings files all using the same scripts.  You will be asked whether you want to save the current package first, in case it has changed.  If a script is empty in the newly loaded package, an existing script in that position will be cleared out.

Save Package command (Script menu)

Use this command to save all scripts, including one-line scripts, to the current package file.

Save Package As command (Script menu)

Use this command to save all scripts to a new file, which becomes the current package file whose name is saved with the settings.

Load Many command (Script menu)

Use this command to load multiple scripts from a file and place them into their respective script numbers, leaving any other existing scripts unchanged and not changing which file is considered the current script package.  These scripts must have been saved so that each one starts with a line with 'Macro' and the script number, and ends with the line 'EndMacro'.  This is the way scripts were stored in settings files and now in script package files, so this command can be used to read only the scripts from a settings file. However a single script saved from the editing window cannot be read with this command because it does not have these starting and ending lines.

List Functions command (Script menu)

Use this command to get a list in the log window of all functions defined in all scripts.  The function name will be followed by the number of arguments and 0 or 1 for whether it takes a string argument.

Clear Persistent Vars command (Script menu)

Use this command to clear all of the persistent variables that have been defined by previously run scripts.  This will make a stopped script non-resumable.

Set Indent Size command (Script menu)

Use this command to set the number of spaces that the script editor will use for auto-indenting when Tab or ` (the back-tick character) is typed.  This spacing is added at the first line of a block starting with IF, LOOP, ELSE, or Function, and taken away when such a block ends.  Enter 0 to prevent auto-indenting.

Show Indent Buttons command (Script menu)

Use this command to toggle between showing and hiding the three buttons at the bottom of the editor window for adjusting indentation in selected lines.  The change will not take effect until you resize or reopen windows.  These buttons were added to help with scripting in Python but could be useful for regular scripting too.

Use Monospaced Font command (Script menu)

Use this command to toggle between using the regular proportional font and an equally-spaced font in all editor windows.  If it is grayed out, it means that no monospaced font was available.  The program tries to access Lucida Console, Consolas, and Lucida Sans Typewriter, and if those fail it tries to use Courier New with a heavier weight.  However, it cannot tell if the system is going to use a Courier font even though it asked for a better one.  If you get a font you do not like, add the property 'ScriptMonospaceFont' with the exact name of a monospaced font available on your system, which it will try first..

Run at Program Start command (Script menu)

Use this command to choose a script to run when the program starts.  The menu entry shows up as checked when a script has been chosen.  When you select this command, a dialog will open with a drop-down list in which you can select the script by its name or number.  It is best to have a (short) name assigned to the script so that if scripts are rearranged, or a different set is loaded, the program will not run the wrong script.  This script may do complex operations.

Run at Program End command (Script menu)

Use this command to choose a script to run when the program exits, just as for previous command for a startup script.  This script is run after the program asks whether to save the Navigator and log and leaves Low Dose mode, if appropriate, and saves settings.  These steps will be skipped when the program re-enters its exit routine after the script is run.  While the script may do complex operations, the user should be warned if they are going to take more than a few seconds.

Open Editors on Start command (Script menu)

Use this command to control whether editor windows are restored to their last state when the program is restarted.  In addition, if this option is selected, editor windows will be opened or closed when a new settings file is read to match the state when those settings were saved.

Verbose command (Script menu)

Use this command to set the initial value of the verbose option when a script is started. With this option on, each script command will be echoed to the log before being executed. The option value can be changed by the Verbose command within a script.