From a534f7ad19d594ee37ed616f603c358bcc5e7166 Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com> Date: Sun, 21 Apr 2019 10:00:34 -0400 Subject: [PATCH] Reduced refreshing frequency slightly. --- lib/aethyr/core/render/display.rb | 13 ++++++++----- lib/aethyr/core/render/window.rb | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/aethyr/core/render/display.rb b/lib/aethyr/core/render/display.rb index bd3f9e4..407a6d8 100644 --- a/lib/aethyr/core/render/display.rb +++ b/lib/aethyr/core/render/display.rb @@ -299,7 +299,9 @@ CONF @windows[:input].clear @windows[:input].window_text.mvaddstr(y,x,string) if echo? @windows[:input].window_text.move(y,x+cursor_pos) if echo? - update + #update + @windows[:input].update + Ncurses.doupdate(); next if not @scanner.process_iac ch = @windows[:input].window_text.getch @@ -372,15 +374,16 @@ CONF cursor_pos = [0, cursor_pos-1].max when Ncurses::KEY_RIGHT cursor_pos = [max_len, cursor_pos + 1, string.length].min - # similar, implement yourself ! - # when Ncurses::KEY_ENTER, ?\n, ?\r - # return string, cursor_pos, ch # Which return key has been used? + when Ncurses::KEY_UP + @windows[:main].buffer_pos += 1 + when Ncurses::KEY_DOWN + @windows[:main].buffer_pos -= 1 when 13 # return @windows[:input].clear self.selected = :input @windows[:main].send("≫≫≫≫≫ #{string}") if echo? @windows[:main].buffer_pos = 0 - update + @windows[:main].update return string#, cursor_pos, ch # Which return key has been used? #when Ncurses::KEY_BACKSPACE when 127, "\b".ord, Ncurses::KEY_BACKSPACE # backspace diff --git a/lib/aethyr/core/render/window.rb b/lib/aethyr/core/render/window.rb index 0bbaced..8e7933c 100644 --- a/lib/aethyr/core/render/window.rb +++ b/lib/aethyr/core/render/window.rb @@ -110,11 +110,13 @@ class Window else render(message, add_newline: add_newline) end + update end def buffer_pos= new_pos @buffer_pos = new_pos if new_pos <= @buffer_size && new_pos <= @buffer_lines.length - @text_height && new_pos >= 0 render_buffer + update end def self.split_message(message, cols = @text_width) @@ -249,8 +251,6 @@ class Window if @use_color regular_format.revert(@window_text) end - - update end def color_encode(code) -- GitLab