95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# File 'lib/fasten/ui/curses.rb', line 95
def ui_keyboard
return unless (key = stdscr.getch)
self.message = nil
if key == Curses::Key::LEFT
if jobs <= 1
self.message = "Can't remove 1 worker left, press [P] to pause"
else
self.jobs -= 1
self.message = "Decreasing jobs to #{jobs}"
end
elsif key == Curses::Key::RIGHT
self.jobs += 1
self.message = "Increasing jobs to #{jobs}"
elsif key == Curses::Key::DOWN
self.sel_index = sel_index ? [sel_index + 1, tasks.count - 1].min : 0
self.selected = tasks[sel_index]
elsif key == Curses::Key::UP
self.sel_index = sel_index ? [sel_index - 1, 0].max : tasks.count - 1
self.selected = tasks[sel_index]
elsif key == 'q'
self.message = 'Will quit when running tasks end'
self.state = :QUITTING
elsif key == 'p'
self.message = 'Will pause when running tasks end'
self.state = :PAUSING
elsif key == 'r'
self.state = :RUNNING
end
force_clear
end
|