Sha256: d559f944bb130ebfde34d2de01d3106bb669e81a703ad68a761221a5817ebb82

Contents?: true

Size: 534 Bytes

Versions: 12

Compression:

Stored size: 534 Bytes

Contents

require "curses"

Curses.init_screen
Curses.cbreak
Curses.noecho
Curses.stdscr.keypad = true
at_exit do
  Curses.close_screen
end

menu = Curses::Menu.new([
  Curses::Item.new("Apple", "Red fruit"),
  Curses::Item.new("Orange", "Orange fruit"),
  Curses::Item.new("Banana", "Yellow fruit")
])
menu.post

while ch = Curses.getch
  begin
    case ch
    when Curses::KEY_UP, ?k
      menu.up_item
    when Curses::KEY_DOWN, ?j
      menu.down_item
    else
      break
    end
  rescue Curses::RequestDeniedError
  end
end

menu.unpost

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
curses-1.4.4 sample/menu.rb
curses-1.4.4.beta.1 sample/menu.rb
curses-1.4.3 sample/menu.rb
curses-1.4.2 sample/menu.rb
curses-1.4.1 sample/menu.rb
curses-1.4.0 sample/menu.rb
curses-1.3.2-x86-mingw32 sample/menu.rb
curses-1.3.2-x64-mingw32 sample/menu.rb
curses-1.3.2 sample/menu.rb
curses-1.3.1-x64-mingw32 sample/menu.rb
curses-1.3.1-x86-mingw32 sample/menu.rb
curses-1.3.1 sample/menu.rb