window hold_slider
Synopsis
/window [<window>] hold_slider [<number>]
Description
Set how much of a window's output you acknowledge each time you press Enter while window hold_mode is on. With no window selector, use the current window. <number> is a percentage from 0 through 100 of the window's scrolling output height, excluding status bars and toplines.
Traditionally, ircII let a full page scroll between acknowledgments with Enter, while EPIC could freeze output until you used scrollback bindings. This setting supports both styles:
100allows a full page of advancement per acknowledgment, the traditional ircII behavior.0prevents Enter from advancing the held view, the traditional EPIC behavior. You can still use scroll_forward to advance held output, or turn hold mode off.- Intermediate values advance part of a page, retaining some overlap for reading.
The actual advancement is number × output_rows / 100, rounded down to whole rows and stopped at the end of available output. For a 21-row output area, 50 advances 10 rows. Small percentages can round down to zero, as does any percentage in a zero-height output area.
The send_line binding, normally Enter, performs this advancement in the input window when you submit a line, including an empty line. It does not automatically advance another window merely because your command selects that window. The same slider calculation is used when initially enabling hold mode. Changing the slider while already holding does not itself advance or release output.
Defaults and arguments
New windows copy set hold_slider, whose compiled default is 100. Changing that /set value affects subsequently created windows; this operation overrides the value for one existing window.
Without an argument, report the current value. A query or successful change reports Window hold slider is <number>. Values converting to less than 0 or greater than 100 report Hold slider must be 0 to 100! and leave the setting unchanged. Use ordinary decimal integers; the current numeric parser also accepts base notation and numeric prefixes, and nonnumeric text can convert to zero.
There are no other options. Additional words are processed as subsequent window operations. /window -hold_slider is a no-op. The operation works on invisible windows, does not enable hold mode, and sends no IRC request. It does not control the independent amount used by scrollback bindings.
Examples
/window hold_slider 100
/window 3 hold_slider 50
/window 3 hold_slider
/window 3 hold_slider 0
Use full-page advancement in the current window, half-page advancement in window 3, report window 3's setting, or disable its Enter-based advancement.
History
This operation first appeared in EPIC4-1.1.13.
Source references
source/window.c:new_window,windowcmd_hold_slider,windowcmd_hold_mode, andunhold_a_windowimplement the default, range, and percentage calculations;window_scrollback_forwardshandles independent forward scrolling.source/input.c:send_lineperforms Enter's hold advancement.source/vars.candinclude/config.h: registerhold_sliderwithout a change callback and define its compiled default.source/ircaux.c:my_atolimplements numeric conversion.