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 DECTPU 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 DECTPU 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 DECTPU 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, DECTPU 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 DECTPU 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)