message [-t] [ -b [num]] [-o] [-w] [string]
message [-f] [ -b [num]] [-o] [-w] [string]
message [-p] [ -b [num]] [-o] [-w] [string]
The message command puts string out on the FMLI message line. If there is no string, the stdin input to message will be used. The output of message has a duration (length of time it remains on the message line). The default duration is "transient": it or one of two other durations can be requested with the mutually-exclusive options below.
Messages displayed with message -p will replace (change the value of) any message currently displayed or stored via use of the permanentmsg descriptor. Likewise, message -f will replace any message currently displayed or stored via use of the framemsg descriptor. If more than one message in a frame definition file is specified with the -p option, the last one specified will be the permanent duration message.
The string argument should always be the last argument.
-t Explicitly defines a message to have transient duration. Transient messages remain on the message line only until the user presses another key or a CHECKWORLD occurs. The descriptors itemmsg , fieldmsg , invalidmsg , choicemsg , the default-if-not-defined value of oninterrupt , and FMLI generated error messages (that is, from syntax errors) also output transient duration messages. Transient messages take precedence over both frame messages and permanent messages.
-f Defines a message to have "frame" duration. Frame messages remain on the message line as long as the frame in which they are defined is current. The descriptor framemsg also outputs a frame duration message. Frame messages take precedence over permanent messages.
-p Defines a message to have "permanent" duration. Permanent messages remain on the message line for the length of the FMLI session, unless explicitly replaced by another permanent message or temporarily superseded by a transient message or frame message. A permanent message is not affected by navigating away from, or by closing, the frame which generated the permanent message. The descriptor permanentmsg also outputs a permanent duration message.
-b[num] Rings the terminal bell num times, where num is an integer from 1 to 10. The default value is 1. If the terminal has no bell, the screen will flash num times instead, if possible.
-o Forces message to duplicate its message to stdout .
-w Turns on the working indicator.
Example 1: A sample output of message on the message line:
When a value entered in a field is invalid, ring the bell 3 times and then display Invalid Entry: Try again! on the message line:
invalidmsg=`message -b 3 "Invalid Entry: Try again!"`
Display a message that tells the user what is being done:
done=`message EDITOR has been set in your environment` close
Display a message on the message line and stdout for each field in a form (a pseudo-"field duration" message).
fieldmsg="`message -o -f "Enter a filename."`"
Display a blank transient message (effect is to "remove" a permanent or frame duration message).
done=`message ""` nop
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
If message is coded more than once on a single line, it may appear that only the right-most instance is interpreted and displayed. Use sleep(1) between uses of message in this case, to display multiple messages.
message -f should not be used in a stand-alone backquoted expression or with the init descriptor because the frame is not yet current when these are evaluated.
In cases where `message -f "string"` is part of a stand-alone backquoted expression, the context for evaluation of the expression is the previously current frame. The previously current frame can be the frame that issued the open command for the frame containing the backquoted expression, or it can be a frame given as an argument when fmli was invoked. That is, the previously current frame is the one whose frame message will be modified.
Permanent duration messages are displayed when the user navigates to the command line.