module Rurses

Constants

SPECIAL_KEYS
VERSION

Public Instance Methods

curses() click to toggle source
# File lib/terminal-notes/rurses.rb, line 20
def curses
  FFI::NCurses
end
get_key() click to toggle source
# File lib/terminal-notes/rurses.rb, line 36
def get_key
  case (char = curses.getch)
  when curses::KeyDefs::KEY_CODE_YES..curses::KeyDefs::KEY_MAX
    SPECIAL_KEYS[char]
  when curses::ERR
    nil
  when 1
    :CTRL_A
  when 5
    :CTRL_E
  when 10
    :ENTER
  when 11
    :CTRL_K
  when 14
    :CTRL_N
  when 23
    :CTRL_W
  when 24
    :CTRL_X
  when 127
    :BACKSPACE
  else
    char.chr
  end
end
program(modes: [ ]) { |stdscr| ... } click to toggle source
# File lib/terminal-notes/rurses.rb, line 24
def program(modes: [ ])
  @stdscr = Window.new(curses_ref: curses.initscr, standard_screen: true)
  @stdscr.change_modes(modes)
  yield(@stdscr)
ensure
  curses.endwin
end
stdscr() click to toggle source
# File lib/terminal-notes/rurses.rb, line 32
def stdscr
  @stdscr
end
update_screen() click to toggle source
# File lib/terminal-notes/rurses.rb, line 63
def update_screen
  curses.doupdate
end