commit 0b9c8bf71414570b09e1d89414f5ed5299d345c4
parent f31ee51a71830dd5fc9dc8da68c799e5a02f162d
Author: Christopher Corley <cscorley@ua.edu>
Date: Thu, 20 Mar 2014 11:42:19 -0500
Add config option for continuous scroll behavior
Add config option for continuous scroll behavior
Add continuous scroll option to default config
Diffstat:
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/lib/sup.rb b/lib/sup.rb
@@ -332,7 +332,8 @@ EOM
:slip_rows => 0,
:col_jump => 2,
:stem_language => "english",
- :sync_back_to_maildir => false
+ :sync_back_to_maildir => false,
+ :continuous_scroll => false
}
if File.exists? filename
config = Redwood::load_yaml_obj filename
diff --git a/lib/sup/modes/line_cursor_mode.rb b/lib/sup/modes/line_cursor_mode.rb
@@ -94,7 +94,7 @@ protected
call_load_more_callbacks buffer.content_height if @curpos >= lines - [buffer.content_height/2,1].max
return false unless @curpos < lines - 1
- if @curpos == botline - 3
+ if @curpos == botline - 3 and $config[:continuous_scroll]
# load more lines, one at a time.
jump_to_line topline + 1
@curpos += 1
@@ -104,6 +104,9 @@ protected
set_status
buffer.commit
end
+ elsif @curpos >= botline - 1
+ page_down
+ set_cursor_pos topline
else
@curpos += 1
unless buffer.dirty?
@@ -118,7 +121,8 @@ protected
def cursor_up
return false unless @curpos > @cursor_top
- if @curpos == topline + 3
+
+ if @curpos == topline + 3 and $config[:continuous_scroll]
jump_to_line topline - 1
@curpos -= 1
unless buffer.dirty?
@@ -127,6 +131,10 @@ protected
set_status
buffer.commit
end
+ elsif @curpos == topline
+ old_topline = topline
+ page_up
+ set_cursor_pos [old_topline - 1, topline].max
else
@curpos -= 1
unless buffer.dirty?
@@ -192,5 +200,4 @@ private
@load_more_q.push size if $config[:load_more_threads_when_scrolling]
end
end
-
end