#### Universal Switch List

The following is a list of "universal" switches seen in NeXtMidas. A "universal" switch is a switch that is common across a wide range of commands. These switches are typically handled by NeXtMidas proper and not by a specific command. (Most explain files omit universal switches.)

General
Switch | Description | Default
--- | --- | ---
`/BG` | Run command in BackGround. | `FALSE`
`/CMDCLOSETIMEOUT=<seconds>` | Provides a way to specify how long to wait for a command to complete (i.e. CLOSE) for MidasBean.close(). It is rare that this switch is needed. Since NeXtMidas 3.1.1. | 1.0
`/CMDOPENTIMEOUT=<seconds>` | Provides a way to run commands in a pipe section to NOT wait for a very slow starting command's open() to complete before running next command in the pipe section. It is rare that this switch is needed. Graphical commands SHOULD NOT be executed on Java's EventDispatchThread (i.e AWT/Swing Thread or EDT) as a general rule of thumb since graphical primitives can wait on the EDT to display/attach panels, etc. which will then cause a deadlock. But if you must do so, this switch is provided as a crude way to set a wait timeout for the command to initialize and open before continuing. Note: The issue with using a timeout is that a subsequent command that depend on a previous command to create a file/pipe/resource may fail if the previous command's init/open had timeouts before it finish opening it's resource. Since NeXtMidas 2.7.4. | -1 for effectively infinite
`/ID=<id>` | Associate an ID to a primitive for message passing, registry, etc. | Based on name of command
`/MSGID=<id>` | Sets the ID of the registry entry that will process messages sent by this command. Using `/MSGID=MAIN` will send all messages to the macro's `processMessage` procedure. | none
`/POLL=<seconds>` | Time between rereads of a file (in seconds). | `0.0125 (1/80th of a second)`
`/QUIET` | Deprecated: Use `/VERBOSE=FALSE`. | n/a
`/S=<sup>` | Specify the support of the command (M,P,...) when a command is both a macro and a primitive (limited support). | Based on commands.cnf
`/VERBOSE` | Produce more screen output. | `FALSE` (in a macro) `TRUE` (at the shell prompt)
Macros & Pipes
Switch | Description | Default
`/MFN=<name>` | Internal Use Only: Override the macro file name. | n/a
`/MSGDEBUG=<MessageToStringMask>` | Enable debugging printout of messages processed (e.g. received) by macro. Default for just specifying as a state switch is NAME|INFO|DATA|QUALS|FID|TID. Since NeXtMidas 2.7.1. | `NONE (i.e. OFF)`
`/PS=<bytes>` | Pipe Size in bytes. (See the `PS=` qualifier.) | `131072`
`/SHAREMASK=<mask>` | Specifies what is shared with parent (i.e. RESULTS). Since NeXtMidas 2.7.3. | `NONE`
`/TL=<elements>` | Transfer Length in logical elements. (This is a "common" switch, used by many primitives, see individual primitives for details.) | n/a
General Graphics
Switch | Description | Default
`/DISPLAY=` | Set the display mode (Icon,Back,Front,Maximized) for graphical command on startup. See also /ICON switch. (Since 3.1.1). | Based on panel config
`/EVENTFILTER=` | Set the window event filter mask for graphical commands on startup. Possible mask values are: NoMouse,NoKeyBoard,NoIconify,NoMove,NoRefresh,NoPushPop,NoMiddleMouse. The NoMiddleMouse option allows disabling the middle mouse button (MMB) clicks for GCONTROL, LIST, LIST2, PLOT, etc. which allows the configure menu to be disabled from operators. (Since 3.3.1). | `NONE`
`/ICON` | Make graphical command come up in iconified state. See also /DISPLAY= switch. (Since 3.1.0). | false
`/NOALTTITLE` | Prevent events such as mouseovers to change the title of the graphical window. (Since 3.3.0). | `false`
`/NOPUSHPOP` | Disable window push/pop out/in of panel. The /EVENTFILTER= switch takes precedence over this. | `false`
`/SHARETHEME` | Whether or not to have all graphical components share the same Theme. (Since 3.3.0). | `false`
`/THEME=<theme>` | Color theme, see PANEL explain file for more details. | `^ENV.THEME`
`/WDISP=<display>` | Override the display device for displaying a window. For example: `/WDISP=0` uses display #0 and `/WDISP=1` uses display #1. Number of available displays is platform-dependant. | Current display
`/WFS=<pixels>` | Window Font Size (pixels). | Based on theme
`/WIN=<window>` | Name of panel in registry to host a GPrimitive. | Based on panel config
`/WIN.<cmd>=` | Similar to /WIN. | Based on panel config
`/WIN.NEW` | Create window in new frame. | Based on panel config
`/WPOS=(x,y[,w,h])` | Set Window POSition and size of graphic. (x,y) upper-Left corner of plot [required] (w,h) width and height [optional] | Based on panel config
`/WTITLE=<title>` | Window TITLE | Name of macro