The Form and Menu Language

Overview of the built-in utilities

Below is a brief summary of the FMLI built-in utilities. There are manual pages for each in section 1fmli.

The echo utility outputs its operands.

The fmlcut utility is used to cut out selected fields of each line of a file. It has essentially the same functionality as the UNIX utility cut. It has been included as an FMLI built-in utility for performance reasons.

The fmlgrep utility is used to search for a certain pattern in a file. It has essentially the same functionality as the UNIX utility grep. It has been included as an FMLI built-in utility for performance reasons.

The fmlexpr utility evaluates its arguments as an expression, thus providing arithmetic and logical operations on integers, logical operations on strings, and some pattern matching facilities. It evaluates a single expression and writes the result to standard output. It has essentially the same functionality as the UNIX utility expr. It has been included as an FMLI built-in utility for performance reasons.

The fmlmax utility is used to either determine the position of the field in a form or to determine the longest out of a number of strings. It is useful for the redesign of forms layout when the autolayout descriptor has been set to TRUE.

The getitems utility takes as its only argument a delimiter string. It returns a list of the currently selected items, separated by the delimiter supplied.

The getfrm utility returns the current frame number. It takes no arguments.

The indicator utility allows you to control the Working indicator and bell, and allows you to define your own indicators on the banner line.

The message utility outputs its operands to the FMLI message line. The -t option outputs a ``transient'' message (lasts until another key is pressed), the -f option outputs a ``frame permanent'' message (lasts as long as the frame is current), and the -p option outputs a ``permanent'' message (lasts until another message is displayed, and reappears after that message clears). The terminal bell can also be made to sound.

The pathconv utility converts an alias to a full pathname. It can also produce a shortened version of a pathname suitable for use as a frame title.

readfile, longline
The readfile utility reads the file passed as its argument and writes it to standard output. If the system's locale is other than C, readfile tries to read <dirname>/$LANG/<file> if the $LANG subdirectory exists or <dirname>/<file> otherwise. After a call to readfile, a call to longline will return the length (including carriage return) of the longest line in the previously read file. The longline utility can also take a filename argument, in which case it will return the length of the longest line in that file.

The regex utility performs regular expression matching on its string input (utilizing regex. The regex utility is useful to dynamically generate the contents of a frame (see examples in ``Frame definition files''.) It can be used to approximate many of the capabilities of cut(1), paste(1), and grep(1), and some of the capabilities of sed(1).

The reinit utility takes as an argument the name of an initialization file. It is used to make global changes to the FMLI session while staying in the current application.

The run utility is used to invoke an executable in full-screen mode.

set, unset
These utilities set and unset variables either in the FMLI process, the UNIX system environment, or in files.

The setcolor utility allows you to redefine an existing color, or define new colors if your terminal allows more than the eight colors already defined in FMLI.

The shell utility is used to run a command using the UNIX system shell. Although it is not often needed in an FMLI application, it is useful when an application has an executable with the same name as an FMLI built-in or to run a UNIX system shell built-in.

The test utility checks to see if a condition is true. test is useful in conditional statements. It has essentially the same format as test in the UNIX system shell.
Five other built-ins allow a frame or several frames (that is, form frames, menu frames, or text frames) to communicate to an external process through a pipe. The Form and Menu Language Interpreter will send strings to the external process and interpret the process's output accordingly. This capability is referred to as ``co-processing,'' and the built-in co-processing utilities are as follows:

The cocreate utility initializes communication to an independent co-process using named pipes.

The cosend utility sends strings from FMLI to the co-process. The -n option performs a ``no wait'' condition that sends text, but does not block for a response.

The cocheck utility checks the incoming pipe for information. It returns TRUE or FALSE.

The coreceive utility performs a ``no wait'' read on the pipe. It takes a process ID as an argument.

The codestroy utility terminates the communication.
For more information about how these co-processing utilities are used, see the coproc(1fmli) manual page.
Next topic: Conditional statements
Previous topic: Built-in utilities

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004