Download VERY LARGE TELESCOPE
Transcript
HOS/Sequencer User Manual - 3 VLT-MAN-ESO-17220-0737 17 of these applications, and the list of global Tcl variables set by them can be found in the respective manpages of these extensions. 2. It initializes the Sequencer extensions: • it sets the version number and makes it available via the infox appversion command • it sets the global Tcl variable seq_ccsProcName to the string sequencer. This variable is used as the default process name for the seq_ccsInit command. • the global Tcl variable tcl_precision is initialized to a default value set at compilation time (see Makefile). This variable is used whenever a real is converted to a string, e.g. using the expr command or seq_dbReadSymbolic • it defines the global Tcl variable seq_library, by looking first if there is an environment variable named SEQ_LIBRARY; if not, it looks for the shell libraries relative to the working directory, the integration directory $INTROOT and finally the VLT root directory $VLTROOT. • it sets the global Tcl variable seq_ccsType, which reflects for what environment the Sequencer was built: full for CCS+RTAP, light for CCS-light, none if without CCS. • it defines the global Tcl variable seq_moduleId, and sets up the proper callbacks to ensure this is never modified to a too long or too short string. This variable is used as the module identifier in all errAdd calls • it sets the global Tcl variable seq_ccsCmdCheck to NO_CHECK • the Sequencer shell atomic commands are declared • the script file seqInit.tcl is evaluated. It is searched for on the path given by the global Tcl variable seq_library (see higher). The main task of this script is to insert $seq_library at the top of the list of paths searched automatically when an unknown command is given. This list is kept in the global Tcl variable auto_path. seqInit.tcl also determines your application window’s icon (appearing when you press your window manager’s iconify button on the application window), as follows: based on the the application name (e.g. seqWish or panel) a pixmap icon is searched for, with name <applicationName>Icon.xpm. If such colour icon exists, it will be used for the application (image name seqIcon, widget name .seqIcon). If not, a black and white bitmap with name <applicationName>Icon.xbm is searched for, which will end up as the application’s icon if found. If none of the two icons are found, no icon will be defined, and the default window manager’s icon will be used. This leaves the path open for easy definition of custom icons within the application’s initialization code. Remark that overloading an explicitly given icon with another one may require to give the instructions wm withdraw .; # unmap the window from the screen wm deiconify .; # or anything else which forces a re-mapping in order for the window manager to notify the change. The title for the icon window is anyway set by seqWish to <applicationName>@<hostName>. If during any of these activities an error occurs, the Sequencer shell will inform you and quit. 3. If the Sequencer shell is run interactively, a file named .seqShRc resp .seqWishRc in the user’s home directory will be sourced if it exists. This is intended as a facility to load development scripts, not as a means to support final applications, which should not rely like this on the user’s environment. From that point on, if there were no errors, user input is taken and evaluated.