1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00

Removed /SET term_scroll_fast - looks like il/dl commands work fine with

scrolling region at least in xterm and linux console, so it looks nice and
is fast.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2028 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2001-11-16 10:05:21 +00:00 committed by cras
parent 4322da78aa
commit c2e2d606e6
6 changed files with 18 additions and 56 deletions

View File

@ -193,13 +193,6 @@ void term_force_colors(int set)
/* don't do anything with curses */
}
/* Setup scrolling - if fast is TRUE, we'll use the fastest method to
scroll, if it's FALSE, we'll use the one that looks cleanest. */
void term_setup_scroll(int fast)
{
/* don't do anything with curses */
}
/* Clear screen */
void term_clear(void)
{

View File

@ -170,13 +170,6 @@ void term_force_colors(int set)
terminfo_setup_colors(current_term, set);
}
/* Setup scrolling - if fast is TRUE, we'll use the fastest method to
scroll, if it's FALSE, we'll use the one that looks cleanest. */
void term_setup_scroll(int fast)
{
terminfo_setup_scroll(current_term, fast);
}
/* Clear screen */
void term_clear(void)
{

View File

@ -92,7 +92,6 @@ static void read_settings(void)
{
int old_colors = term_use_colors;
term_setup_scroll(settings_get_bool("term_scroll_fast"));
if (settings_get_bool("term_force_colors")) {
if (!term_use_colors) {
term_force_colors(TRUE);
@ -117,7 +116,6 @@ void term_common_init(void)
#endif
settings_add_bool("lookandfeel", "colors", TRUE);
settings_add_bool("lookandfeel", "term_force_colors", FALSE);
settings_add_bool("lookandfeel", "term_scroll_fast", FALSE);
term_use_colors = term_has_colors() && settings_get_bool("colors");
read_settings();

View File

@ -40,9 +40,6 @@ void term_resize_dirty(void);
int term_has_colors(void);
/* Force the colors on any way you can */
void term_force_colors(int set);
/* Setup scrolling - if fast is TRUE, we'll use the fastest method to
scroll, if it's FALSE, we'll use the one that looks cleanest. */
void term_setup_scroll(int fast);
/* Clear screen */
void term_clear(void);

View File

@ -161,7 +161,7 @@ static void _set_cursor_visible(TERM_REC *term, int set)
#define scroll_region_setup(term, y1, y2) \
if ((term)->TI_csr != NULL) \
tput(tparm((term)->TI_csr, y1, y2)); \
else \
else if ((term)->TI_wind != NULL) \
tput(tparm((term)->TI_wind, y1, y2, 0, (term)->width-1));
/* Scroll (change_scroll_region+parm_rindex+parm_index / csr+rin+indn) */
@ -209,6 +209,11 @@ static void _scroll_region_1(TERM_REC *term, int y1, int y2, int count)
/* Scroll (parm_insert_line+parm_delete_line / il+dl) */
static void _scroll_line(TERM_REC *term, int y1, int y2, int count)
{
/* setup the scrolling region to wanted area -
this might not necessarily work with il/dl, but at least it
looks better if it does */
scroll_region_setup(term, y1, y2);
if (count > 0) {
term->move(term, 0, y1);
tput(tparm(term->TI_dl, count, count));
@ -220,6 +225,9 @@ static void _scroll_line(TERM_REC *term, int y1, int y2, int count)
term->move(term, 0, y1);
tput(tparm(term->TI_il, -count, -count));
}
/* reset the scrolling region to full screen */
scroll_region_setup(term, 0, term->height-1);
}
/* Scroll (insert_line+delete_line / il1+dl1) */
@ -484,36 +492,6 @@ void terminfo_cont(TERM_REC *term)
terminfo_input_init(term);
}
/* Setup scrolling - if fast is TRUE, we'll use the fastest method to
scroll, if it's FALSE, we'll use the one that looks cleanest. */
void terminfo_setup_scroll(TERM_REC *term, int fast)
{
int region_1;
if ((term->TI_csr || term->TI_wind) && term->TI_rin && term->TI_indn) {
/* this is excellent - if only terminals supported it.. */
term->scroll = _scroll_region;
return;
}
region_1 = (term->TI_csr || term->TI_wind) && term->TI_ri && term->TI_ind;
if (!fast && region_1) {
/* we prefer pretty */
term->scroll = _scroll_region_1;
} else if (term->TI_il && term->TI_dl) {
/* either we prefer fast, or can't do pretty */
term->scroll = _scroll_line;
} else if (region_1) {
/* we prefer fast, but can't do it */
term->scroll = _scroll_region_1;
}
if (term->scroll == NULL && (term->TI_il1 && term->TI_dl1)) {
/* the final slowest and ugliest method we can use */
term->scroll = _scroll_line_1;
}
}
void terminfo_stop(TERM_REC *term)
{
/* reset colors */
@ -573,8 +551,15 @@ static int term_setup(TERM_REC *term)
_set_cursor_visible : _ignore_parm;
/* Scrolling */
terminfo_setup_scroll(term, FALSE);
if (term->scroll == NULL) {
if ((term->TI_csr || term->TI_wind) && term->TI_rin && term->TI_indn)
term->scroll = _scroll_region;
else if (term->TI_il && term->TI_dl)
term->scroll = _scroll_line;
else if ((term->TI_csr || term->TI_wind) && term->TI_ri && term->TI_ind)
term->scroll = _scroll_region_1;
else if (term->scroll == NULL && (term->TI_il1 && term->TI_dl1))
term->scroll = _scroll_line_1;
else if (term->scroll == NULL) {
fprintf(term->out, "Terminal doesn't support scrolling\n");
return 0;
}

View File

@ -93,10 +93,6 @@ void terminfo_core_deinit(TERM_REC *term);
terminal capabilities don't contain color codes */
void terminfo_setup_colors(TERM_REC *term, int force);
/* Setup scrolling - if fast is TRUE, we'll use the fastest method to
scroll, if it's FALSE, we'll use the one that looks cleanest. */
void terminfo_setup_scroll(TERM_REC *term, int fast);
/* Terminal was resized - ask the width/height from terminfo again */
void terminfo_resize(TERM_REC *term);