def NcursesInterface::main_loop
meth = 'NcursesInterface::main_loop'
timeout = $config['input_select_timeout']
$done = false
until $done
r = select [$stdin], nil, nil, timeout
if r && r.size > 0
c = Ncurses::getch
case c
when Ncurses::KEY_MOUSE
mev = Ncurses::MEVENT.new
Ncurses.getmouse(mev)
ev_str = Ncurses.constants.grep(/^BUTTON._/).find_all { |c_str|
mev.bstate & Ncurses.const_get(c_str)
}.map { |str| str.downcase }.join(',') || ''
$log.warn(meth) { "mouse event: #{mev.x}x#{mev.y}: #{ev_str}" }
else
$config['keys'][c].call($wins[$a_win],c) \
if c != Ncurses::KEY_RESIZE && $config['keys'].has_key?(c)
end
end
if $update_wins
$update_wins = false
Raggle::Interfaces::NcursesInterface::populate_feed_win
end
NcursesInterface::set_status $new_status if $new_status != $status
end
end