def Key::show_key_bindings
id = NcursesInterface::get_win_id('keys')
if id == -1
keys = NcursesInterface::get_key_bindings
w, h = $config['w'] - 40, $config['h'] - 5
h = keys.length + 3 if h > keys.length + 3
$wins << win = NcursesInterface::ListWindow::new({
'title' => $config['msg_keys_title'],
'key' => 'keys',
'coords' => [20, 3, w, h],
'colors' => $wins[NcursesInterface::get_win_id('item')].colors,
})
keys.each { |key, value|
title = ' ' + key + ' '*(w - key.length - value.length - 4) + value
win.items << { 'title' => title, 'key' => key }
}
win.draw_items
NcursesInterface::set_active_win(NcursesInterface::get_win_id('keys'))
else
if id == $a_win
$wins[id].close(true)
else
NcursesInterface::set_active_win(id)
end
end
end