class BBS::Windows::Info

A centered window for messages, splash screens, info displays.

BBS::Windows::Info.open(app,
  title: ' Welcome ',
  width: 70, height: 17,
  body: [
    { text: banner_line, style: :accent },
    "plain label with optional \e[1;33mraw ANSI\e[0m",
    :spacer,
    :rule,
    { kv: [['Online users', '5'], ['Ruby', RUBY_VERSION]] },
  ],
  buttons: [{ label: '&Continue', primary: true }]
)

When scroll: true, body items are flattened into a single ScrollView filling the inner area. Use this for long, paginated content lists.

Body item types:

String

label with the :window_text style

:spacer, '', nil

blank row

:rule

horizontal line

{ text:, style:, align: }

styled label

{ kv: [[k, v], ...], label_width: }

key/value rows

{ widget:, height: }

arbitrary widget (non-scroll only)

BBS::Widget

as-is, its own height or 1 row (non-scroll only)

Default buttons: a single centered [ Close ] if buttons: is nil.