Sha256: 8abac7cf07cbe0de0055faf8a8cbf8943be8482188402a65dac539713d8cc965

Contents?: true

Size: 555 Bytes

Versions: 3

Compression:

Stored size: 555 Bytes

Contents

#!/usr/bin/env ruby

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

3 entries across 3 versions & 1 rubygems

Version Path
curses-1.4.7 sample/menu.rb
curses-1.4.6 sample/menu.rb
curses-1.4.5 sample/menu.rb