SET(SCROLLING) Controls either of two scrolling characteristics, depending on the format used. The first format shown in the SYNTAX section controls values for the scroll margins (the points at the top and bottom of a window that trigger vertical scrolling). Note that setting top and bottom scroll margins has no effect on the cursor's horizontal movement during scrolling--the cursor remains in the same column during this operation. The second format controls whether scrolled text is repainted all at once (jump scrolling) or a line at a time (smooth scrolling). Note that you can set TPU scrolling behavior to the jump setting or the smooth setting regardless of whether the terminal scrolling mode is set to the jump setting or the smooth setting. For example, if you set the terminal to SMOOTH SCROLL and set TPU scrolling mode to the jump setting, text slides smoothly out of the window, but new text is not repainted until all currently specified scroll operations are completed. Syntax SET (SCROLLING, window, {OFF | ON}, integer1, integer2, integer3) or SET (SCROLLING, {JUMP | SMOOTH}) Parameters window The window in which scrolling limits are to be set. OFF Disables scrolling. The screen is repainted each time a scroll would otherwise occur. ON Enables scrolling. integer1 The offset from the top screen line of the window, identifying the top limit of an area in which the cursor can move as it tracks the current character position. If the cursor moves above this screen line, lines in the window scroll down so the cursor stays within the limits of the cursor area. integer2 The offset from the bottom screen line of the window, identifying the bottom limit of an area in which the cursor can move as it tracks the current character position. If the cursor moves below this screen line, lines in the window scroll up so the cursor stays within the limits of the cursor area. integer3 An integer specifying how many lines from the top or bottom of the cursor area (defined by integer1 and integer2) the cursor should be positioned when a window is scrolled. For example, if the bottom of the cursor area is 14 and integer3 is 0, when text is scrolled up, the cursor is put on screen line 14. If integer3 is 3, the cursor is put on screen line 11. JUMP A keyword indicating that TPU should not repaint scrolled text until all currently specified scroll operations are completed. When scrolling is set to jump mode, scrolled text appears to jump from one point in the window to another. Scrolling is faster in jump mode, but the text in the window may look odd during repainting. To determine if the scrolling mode has been set to the jump setting, use the built-in GET_INFO (SCREEN, "jump_scroll"). A return value of 1 indicates that the jump setting is in effect. SMOOTH A keyword indicating that, during scrolling, TPU should repaint each new line of text as it is brought into the window. When scrolling is set to smooth mode, the text appears to slide smoothly in and out of the window. This setting is the default. To determine if the scrolling mode has been set to the smooth setting, use the built-in GET_INFO (SCREEN, "jump_scroll"). A return value of 0 indicates that the smooth setting is in effect. Examples 1. SET (SCROLLING, main_window, ON, 0, 0, 2); Causes the main window to scroll as follows: when the cursor reaches the top or bottom of the window, lines are moved off the screen to make room for new lines. The cursor is positioned on a line that is offset 2 lines from the either the top or bottom, depending on the direction in which you are scrolling. 2. SET (SCROLLING, main_window, ON, 0, 0, 21); Does the same thing as Example 1 -- except, if the main window is 21 lines long, the cursor is repositioned at the top or bottom of the window, depending on the direction in which you are scrolling. Thus, each time a scrolling occurs, an entire window's worth of text appears. 3. SET (SCROLLING, JUMP); Causes TPU to refrain from repainting any new lines of text during scrolling until all currently specified scroll operations have been completed. Related topics GET_INFO(SCREEN) SCROLL SET(CROSS_WINDOW_BOUNDS) SET(FORWARD) SET(REVERSE)