class BBS::Menubar

A horizontal strip at the top of the screen with named drop-down menus. Each menu has a label like &File (the letter after the & is the hotkey, so Alt-F opens it) and a list of MenuItem entries. F10 opens the first menu; the arrow keys, Enter, Esc, the item hotkeys and the mouse work inside an open one.

An Application fills it with its menu DSL (BBS::Application::MenubarBuilder#menu):

menubar do
  menu("&File") do
    item("&Open", shortcut: "F3") { |item| open_file }
    separator
    item("E&xit", shortcut: "Alt-X") { :halt }
  end
end

The bar itself never takes the keyboard focus (focusable? is false); the application passes events to handle_event first.