Class: Sijka::CursesInitializer

Inherits:
Object
  • Object
show all
Defined in:
lib/sijka/curses_initializer.rb

Class Method Summary collapse

Class Method Details

.callObject



6
7
8
# File 'lib/sijka/curses_initializer.rb', line 6

def call
  init_curses
end

.init_cursesObject



10
11
12
13
14
15
16
17
# File 'lib/sijka/curses_initializer.rb', line 10

def init_curses
  Curses.init_screen
  Curses.nonl
  Curses.noecho
  Curses.curs_set 0

  set_curses_trap
end

.onsig(signal) ⇒ Object



25
26
27
28
# File 'lib/sijka/curses_initializer.rb', line 25

def onsig(signal)
  Curses.close_screen
  exit signal
end

.set_curses_trapObject



19
20
21
22
23
# File 'lib/sijka/curses_initializer.rb', line 19

def set_curses_trap
  %w[HUP INT QUIT TERM].each do |sig|
    trap(sig) { |s| onsig(s) } if trap(sig, 'IGNORE') != 'IGNORE'
  end
end