module LessCurse
The LessCurse
module which gives you static access to your “Screen” and all the UI glory within it.
Constants
- VERSION
Public Class Methods
close_screen()
click to toggle source
# File lib/less_curse.rb, line 31 def self.close_screen FFI::NCurses.endwin # flushinp, delwin? end
debug_msg(msg)
click to toggle source
# File lib/less_curse.rb, line 65 def self.debug_msg msg logger.debug msg end
enter_loop!()
click to toggle source
# File lib/less_curse.rb, line 41 def self.enter_loop! loop do break if !handle_input screen.repaint end end
handle_input()
click to toggle source
Read from keyboard, handle keypress oneself or dispatch to focused widget.
# File lib/less_curse.rb, line 50 def self.handle_input key = FFI::NCurses.wgetch FFI::NCurses::stdscr debug_msg "key press: #{key} / keyname: #{FFI::NCurses::keyname key} / #{FFI::NCurses::KEY_CTRL_Q}" # That will let us break out of the loop return false if key == FFI::NCurses::KEY_CTRL_Q if @@actions[key] # Global actions first @@actions[key].call else screen.focused_widget.handle_input key end end
log_to!(file)
click to toggle source
# File lib/less_curse.rb, line 73 def self.log_to! file @@logger = Logger.new(file) end
logger()
click to toggle source
# File lib/less_curse.rb, line 69 def self.logger @@logger ||= LessCurse::NullLogger.new end
screen()
click to toggle source
# File lib/less_curse.rb, line 23 def self.screen @@screen ||= Screen.new end
show_screen()
click to toggle source
# File lib/less_curse.rb, line 27 def self.show_screen @@screen.show end
window(rectangle)
click to toggle source
# File lib/less_curse.rb, line 36 def self.window rectangle FFI::NCurses.newwin rectangle.size.height, rectangle.size.width, rectangle.position.y, rectangle.position.x end