Document revision date: 30 March 2001

## DEC Text Processing Utility Reference Manual

Previous | Contents | Index

## GET_INFO (PROCEDURES)

### Format

> integer := GET_INFO (PROCEDURES, {"defined" |"minimum_parameters" |"maximum_parameters"}, string)

### Parameters

> #### "defined"

> Returns an integer (1 or 0) that indicates whether the specified procedure is user defined.

> #### "minimum_parameters"

> Returns an integer that is the minimum number of parameters required for the specified user-defined procedure.

> #### "maximum_parameters"

> Returns an integer that is the maximum number of parameters required for the specified user-defined procedure.

> #### string

> A string that is the name of the procedure about which you want information.

### Return Value

Returns the requested information about the integer you specify.

### Description

> The GET_INFO (PROCEDURES) procedure returns information about a specified procedure. GET_INFO (PROCEDURES) takes a string as a third parameter. The string specifies the name of the procedure about which you are requesting information.

> For general information about using all forms of GET_INFO built-in procedures, see the description of GET_INFO.

## GET_INFO (PROCESS)

### Format

> process := GET_INFO (PROCESS, {"current" |"first" |"last" |"next" |"previous"})

### Parameters

> #### "current"

> Returns the current process in DECTPU's internal list of processes. You can use GET_INFO (PROCESS, "current") only after you have used GET_INFO (PROCESS, "first") or GET_INFO (PROCESS, "last"). The built-in returns 0 if you do not use these GET_INFO built-ins in the correct order.

> #### "first"

> Returns the first process in DECTPU's internal list of processes; returns 0 if there is none.

> #### "last"

> Returns the last process in DECTPU's internal list of processes; returns 0 if there is none.

> #### "next"

> Returns the next process in DECTPU's internal list of processes; returns 0 if there are no more processes. Use "first" before "next".

> #### "previous"

> Returns the preceding process in DECTPU's internal list of processes; returns 0 if there is no previous process. Use "last" before "previous".

### Return Value

Returns the requested information about the process you specify.

### Description

> The GET_INFO (PROCESS) procedure returns a specified process in DECTPU's internal list of processes.

> For general information about using all forms of GET_INFO built-in procedures, see the description of GET_INFO.

## GET_INFO (process_variable)

### Format

> {buffer|integer} := GET_INFO (process_variable, {"buffer"|"pid"})

### Parameters

> #### "buffer"

> Returns the buffer associated with the process.

> #### "pid"

> Returns an integer that is the process identification number.

### Return Values

> #### buffer

> Returns requested information about the buffer you specify.

> #### integer

> Returns requested information about the integer you specify.

### Description

> The GET_INFO (process_variable) procedure returns information about a specified process.

> For general information about using all forms of GET_INFO built-in procedures, see the description of GET_INFO.

## GET_INFO (range_variable)

### Format

> {buffer|keyword} := GET_INFO (range_variable, {"buffer" |"unmodifiable_records" |"video"})

### Parameters

> #### "buffer"

> Returns the buffer in which the range is located.

> #### "unmodifiable_records"

> Returns 1 if the specified range contains one or more unmodifiable records; returns 0 if no unmodifiable records are present in the specified range.

> #### "video"

> Returns a keyword that is the video attribute of the range.

### Return Values

> #### buffer

> Returns requested information about the buffer you specify.

> #### keyword

> Returns requested information about the keyword you specify.

### Description

> The GET_INFO (range_variable) procedure returns information about a specified range.

> For general information about using all forms of GET_INFO built-in procedures, see the description of GET_INFO.

## GET_INFO (SCREEN)

### Format

> {array |integer |keyword |learn_sequence |PRIMARY |program |SECONDARY |selection_name |string} := GET_INFO (SCREEN,

> {"active_area" |"ansi_crt" |"auto_repeat" |"avo" |"client_message" |"client_message_routine" |"cross_window_bounds" |"current_column" |"current_row" |"dec_crt" |"dec_crt2" |"dec_crt3" |"dec_crt4" |"decwindows" |"default_file" |"detached_action" |"detached_reason" |"edit_mode" |"eightbit" |"event", GLOBAL_SELECT |"first_input" |"first_input_routine" |"global_select", {PRIMARY |SECONDARY |selection_name} |"grab_routine", {GLOBAL_SELECT |INPUT_FOCUS} |"icon_name" |"input_focus" |"jump_scroll" |"length" |"line_editing"}

> {"motif" |"mouse" |"new_length" |"new_width" |"old_length" |"old_width" |"original_length" |"original_width" |"pixel_length" |"pixel_width" |"pop_up_parent_widget" |"prompt_length" |"prompt_row" |"read_routine", GLOBAL_SELECT |"screen_limits" |"screen_update" |"scroll" |"time", GLOBAL_SELECT |"ungrab_routine", {GLOBAL_SELECT |INPUT_FOCUS} |"visible_length" |"vk100" |"vt100" |"vt200" |"vt300" |"vt400" |"widget" |"width" |"xui"})

### Parameters

> #### "active_area"

> Returns an array that contains information on the location and dimensions of the application's active area; returns the integer 0 if there is no active area. The active area is the region in a window in which DECTPU ignores movements of the pointer cursor for purposes of distinguishing clicks from drags. When you press down a mouse button, DECTPU interprets the event as a click if the upstroke occurs in the active area with the downstroke. If the upstroke occurs outside the active area, DECTPU interprets the event as a drag operation.

> A DECTPU layered application can have only one active area at a time, even if the application has more than one window visible on the screen. An active area is valid only if you are pressing a mouse button. The default active area occupies one character cell. By default, the active area is located on the character cell pointed to by the cursor.

> For information on mouse button clicks, which are related to the concept of an active area, see the OSF/Motif Style Guide.

> GET_INFO (SCREEN, "active_area") returns five pieces of information about the active area in integer-indexed elements of the returned array. You need not use the CREATE_ARRAY built-in procedure before using GET_INFO (SCREEN, "active_area"); DECTPU assigns a properly structured array to the return variable you specify.

> The structure of the array is as follows:

> Array Element | Contents
> --- | ---
> array {1} | Window that contains the active area
> array {2} | Column that forms the leftmost edge of the active area
> array {3} | Row that forms the top edge of the active area
> array {4} | Width of the active area, expressed in columns
> array {5} | Height of the active area, expressed in rows

> #### "ansi_crt"

> Returns an integer (1 or 0) that indicates whether the terminal is an ANSI_CRT.

> #### "auto_repeat"

> Returns an integer (1 or 0) that indicates whether the terminal's autorepeat feature is on.

> #### "avo"

> Returns an integer (1 or 0) that indicates whether the ADVANCED_VIDEO attribute has been set for the terminal.

> #### "client_message"

> Returns a keyword that indicates whether DECTPU has received a KILL_SELECTION client message or a STUFF_SELECTION client message. If the call is used when there is no current client message, the integer 0 is returned.

> GET_INFO (SCREEN, "client_message") is used in a DECTPU layered or EVE layered application's client message routine. This routine provides the application's response to a client message received from another application.

> GET_INFO (SCREEN, "client_message") returns the KILL_SELECTION keyword when you are copying the primary global selection between DECwindows applications.

> GET_INFO (SCREEN, "client_message") returns the STUFF_SELECTION keyword when you are copying the secondary global selection between DECwindows applications. For more information, see SEND_CLIENT_MESSAGE.

> #### "client_message_routine"

> Returns the program or learn sequence designated as an application's client message action routine; returns 0 if none is designated.

> #### "cross_window_bounds"

> Returns an integer (1 or 0) that indicates whether the CURSOR_VERTICAL built-in procedure causes the cursor to cross a window boundary if the cursor is at the top or bottom of the window.

> #### "current_column"

> Returns an integer that is the number of the current column.

> #### "current_row"

> Returns an integer that is the number of the current row.

> #### "dec_crt"

> Returns an integer (1 or 0) that indicates whether the terminal is a DEC_CRT. For more information on this terminal characteristic, see the SET TERMINAL command in your VMS overview documentation.

> #### "dec_crt2"

> Returns an integer (1 or 0) that indicates whether the terminal is a DEC_CRT2. For more information on this terminal characteristic, see the SET TERMINAL command in your OpenVMS overview documentation.

> #### "dec_crt3"

> Returns an integer (1 or 0) that indicates whether the terminal is a DEC_CRT3. For more information on this terminal characteristic, see the SET TERMINAL command in your VMS overview documentation.

> #### "dec_crt4"

> Returns an integer (1 or 0) that indicates whether the terminal is a DEC_CRT4. For more information on this terminal characteristic, see the SET TERMINAL command in your VMS overview documentation.

> #### "decwindows"

> Returns 1 if your system is running the DECwindows Motif updater version of DECTPU. Returns 0 if you are using the character-cell updater. For more information about the DECwindows version of DECTPU, see the Guide to the DEC Text Processing Utility.

> #### "default_file"

> Returns the name of the X resource file merged into the display's database during editor initialization or by SET (DEFAULT_FILE).

> #### "detached_action"

> Returns the current detached action routine. If no such routine is designated, returns the UNSPECIFIED keyword.

> #### "detached_reason"

> Returns a bit-encoded integer indicating which of the five possible detached states the cursor is in.

> Compaq recommends that you use the DECTPU predefined constants rather than the actual integers to refer to the reasons for detachment. Table 2-5 shows the correspondence of constants, integers, and reasons.

> Table 2-5 Detached Cursor Flag Constants
> Constant | Value | Reason
> --- | --- | ---
> TPU$K_OFF_LEFT | 1 | The editing point is off the left side of the current window.
> TPU$K_OFF_RIGHT | 2 | The editing point is off the right side of the current window.
> TPU$K_INVISIBLE | 4 | The editing point is on a record that is invisible in the current window.
> TPU$K_DISJOINT | 8 | The current buffer is not mapped to the current window.
> TPU$K_UNMAPPED | 16 | No current window exists.
> TPU$K_NO_UPDATE | 32 | The current window is a no-update window.

> You can set TPU$K_INVISIBLE in combination with either the TPU$K_OFF_LEFT or TPU$K_OFF_RIGHT flags.

> You can set TPU$K_NO_UPDATE in conjunction with any other detached reason, with the exception of TPU$K_UNMAPPED. Use of TPU$K_UNMAPPED is a detached cursor situation because, with its use, the cursor does not accurately reflect the editing point within the current buffer. Applications that use "no_update" windows should trap the TPU$K_UNMAPPED detached cursor reason, and position to a normal window. EVE traps this condition in its detached cursor action routine and sets its position to the topmost normal window.

> #### "edit_mode"

> Returns an integer (1 or 0) that indicates whether the terminal is set to edit mode.

> #### "eightbit"

> Returns an integer (1 or 0) that indicates whether the terminal uses 8-bit characters.

> #### "event"

> Use with DECwindows only.

> When you use "event" as the second parameter, you must specify the GLOBAL_SELECT keyword as the third parameter. GLOBAL_SELECT indicates that GET_INFO is to supply information about a global selection.

> If called from within a global selection grab or ungrab routine, GET_INFO (SCREEN, "event", GLOBAL_SELECT) identifies the global selection that was grabbed or lost. GET_INFO (SCREEN, "event", GLOBAL_SELECT) returns a keyword if the global selection was the primary or secondary selection. The built-in returns a string naming the global selection if the grab or ungrab involves a global selection other than the primary or secondary selection.

> If called from within a routine that responds to requests for information about a global selection, GET_INFO (SCREEN, "event", GLOBAL_SELECT) returns an array. The array contains the information an application needs to respond to the request for information about the global selection. The array contains the following information:

> array {1} | The PRIMARY keyword, the SECONDARY keyword, or a string. This element identifies the global selection about which information was requested.
> array {2} | A string. This element identifies the global selection property about which information has been requested.

> The GET_INFO (SCREEN, "event") built-in returns 0 if the built-in is not responding to a grab, an ungrab, or a selection information request.

> For more information about grabbing and ungrabbing a global selection, see the VMS DECwindows Guide to Application Programming.

> #### "first_input"

> Use with DECwindows only.

> Returns integer 1 if DECTPU has received its first key or button event; otherwise returns 0.

> #### "first_input_routine"

> Use with DECwindows only.

> Returns the program or learn sequence that implements the application's first input action routine. Returns 0 if no input action routine is set.

> #### "global_select"

> Use with DECwindows only.

> Returns the integer 1 if DECTPU currently owns the specified global selection; returns 0 if it does not.

> You must specify one of the following parameters as a third parameter to GET_INFO (SCREEN, "global_select"):

> PRIMARY | Keyword that directs DECTPU to get information on the primary global selection
> SECONDARY | Keyword that directs DECTPU to get information on the secondary global selection
> selection_name | String that identifies the global selection about which DECTPU is to get information

> For more information about grabbing and ungrabbing a global selection, see the VMS DECwindows Guide to Application Programming.

> #### "grab_routine"

> Use with DECwindows only.

> Returns the program or learn sequence designated as the application's global selection or input focus grab routine. Returns the integer 0 if the requested grab routine is not present.

> You must specify one of the following keywords as a third parameter to GET_INFO (SCREEN, "grab_routine"):

> GLOBAL_SELECT | Keyword indicating that GET_INFO is to return the global selection grab routine
> INPUT_FOCUS | Keyword indicating that GET_INFO is to return the input focus grab routine

> #### "icon_name"

> Use with DECwindows only.

> Returns the string used as the layered application's name in the DECwindows icon box.

> #### "input_focus"

> Use with DECwindows only.

> Returns an integer (1 or 0) that indicates whether DECTPU currently owns the input focus. Input focus is the ability to process user input from the keyboard.

> #### "jump_scroll"

> Returns an integer (1 or 0) that indicates whether the SET (SCROLLING, JUMP) built-in procedure has been used to direct DECTPU to use the JUMP mode of scrolling (that is, to perform all currently specified scrolling before repainting the screen).

> #### "length"

> Returns an integer that is the current length of the screen (in rows).

> #### "line_editing"

> Returns information that indicates whether you are using the insert or overstrike method of line editing; returns 0 if you are using neither method. In DECwindows DECTPU, this parameter always returns 0.

> #### "motif"

> Returns 1 if DECTPU is using the VMS Motif screen updater TPU$MOTIFSHR; returns 0 if any other screen updater is in use.

> #### "mouse"

> Returns an integer (1 or 0) that indicates whether DECTPU's mouse support capability is turned on.

> #### "new_length"

> Use with DECwindows only.

> Returns an integer that is the length (in rows) of the screen after the resize action routine is executed.

> Resize action routines should use the length returned by GET_INFO (SCREEN, "new_length") to determine the length of their windows. If the call is made outside a resize action routine, this length is the same as the current length of the screen.

> #### "new_width"

> Use with DECwindows only.

> Returns an integer that is the width (in columns) of the screen after the resize action routine is executed.

> Resize action routines should use the length returned by GET_INFO (SCREEN, "new_width") to determine the width of their windows. If the call is made outside a resize action routine, this width is the same as the current width of the screen.

> #### "old_length"

> Use with DECwindows only.

> Returns an integer that is the length (in rows) of the screen before the most recent resize event.

> The "old_length" value is initially set to the length of the screen at startup. This value is reset after DECTPU processes a resize event and before DECTPU executes the resize action routine.

> #### "old_width"

> Use with DECwindows only.

> Returns the width (in columns) of the screen before the most recent resize event.

> The "old_width" value is initially set to the width of the screen at startup. This value is reset after DECTPU processes a resize event and before DECTPU executes the resize action routine.

> #### "original_length"

> Returns an integer that is the number of lines the screen had when DECTPU was invoked.

> #### "original_width"

> Returns an integer that is the width of the screen when DECTPU was invoked.

> #### "pixel_length"

> Use with DECwindows only.

> Returns the length (height) of the current display device in pixels. If you use this parameter on a character-cell terminal, you get the error message TPU$_REQUIRESDECW.

> #### "pixel_width"

> Use with DECwindows only.

> Returns the width of the current display device in pixels. If you use this parameter on a character-cell terminal, you get the error message TPU$_REQUIRESDECW.

> #### "pop_up_parent_widget"

> Use with DECwindows only.

> Returns the Motif parent widget for application pop-up widgets. You must specify the parent widget when you create pop-up widgets that use the CREATE_WIDGET built-in procedure.

> #### "prompt_length"

> Returns an integer that is the number of lines in the prompt area.

> #### "prompt_row"

> Returns an integer that is the screen line number at which the prompt area begins.

> #### "read_routine"

> Use with DECwindows only.

> Returns the program or learn sequence that DECTPU executes when it owns a global selection and another application has requested information about that selection. If the application has not specified a global selection read routine, 0 is returned.

> You must specify the GLOBAL_SELECT keyword as the third parameter to GET_INFO (SCREEN, "read_routine"). GLOBAL_SELECT indicates that GET_INFO is to return the global selection read routine.

> #### "screen_limits"

> Returns an integer-indexed array that specifies the minimum and maximum screen length and width.

> An integer-indexed array uses four elements to specify the minimum and maximum screen width and length. The array indices and the contents of their corresponding elements are as follows:

> Array Element | Contents
> --- | ---
> array {1} | Minimum screen width, in columns. This value must be at least 0 and less than or equal to the maximum screen width. The default value is 0.
> array {2} | Minimum screen length, in lines. This value must be at least 0 and less than or equal to the maximum screen length. The default value is 0.
> array {3} | Maximum screen width, in columns. This value must be greater than or equal to the minimum screen width and less than or equal to 255. The default value is 255.
> array {4} | Maximum screen length, in lines. This value must be greater than or equal to the minimum screen length and less than or equal to 255. The default value is 255.

> #### "screen_update"

> Returns an integer (1 or 0) that indicates whether screen updating is turned on.

> #### "scroll"

> Returns an integer (1 or 0) that indicates whether the terminal has scrolling regions. For more information on scrolling regions, see the description of the SET (SCROLLING) built-in procedure.

> #### "time"

> Use with DECwindows only.

> Returns a string in OpenVMS delta time format that indicates the amount of time after requesting global selection information that DECTPU waits for a reply. When the time has expired, DECTPU assumes the request will not be answered.

> You must specify the GLOBAL_SELECT keyword as the third parameter to GET_INFO (SCREEN, "time").

> #### "ungrab_routine"

> Use with DECwindows only.

> Returns the program or learn sequence that DECTPU executes when it loses ownership of a global selection or of the input focus. Returns 0 if the requested ungrab routine is not present.

> You must specify one of the following keywords as a third parameter to GET_INFO (SCREEN, "ungrab_routine"):

> GLOBAL_SELECT | Keyword indicating that GET_INFO is to return the global selection ungrab routine
> INPUT_FOCUS | Keyword indicating that GET_INFO is to return the input focus ungrab routine

> #### "visible_length"

> Returns an integer that is the page length of the terminal.

> #### "vk100"

> Returns an integer (1 or 0) that indicates whether the terminal is a GIGI.

> #### "vt100"

> Returns an integer (1 or 0) that indicates whether the terminal is in the VT100 series.

> #### "vt200"

> Returns an integer (1 or 0) that indicates whether the terminal is in the VT200 series.

> #### "vt300"

> Returns an integer (1 or 0) that indicates whether the terminal is in the VT300 series.

> #### "vt400"

> Returns an integer (1 or 0) that indicates whether the terminal is in the VT400 series.

> #### "widget"

> Use with DECwindows only.

> Previous | Next | Contents | Index

> | privacy and legal statement |
> 6020PRO_013.HTML