terminal-menu / 0.3.2 last updated 2 years ago created on Jun 13th 2013

Install

npm install --save terminal-menu

Clone

git clone git@github.com:substack/terminal-menu.git

dependencies

main resumer 0.0.0 MIT
charm 0.1.2 MIT
inherits 2.0.1 ISC

maintainers

substack substack

versions 6 total

0.3.2 2 years ago substack
0.3.1 2 years ago substack
0.3.0 2 years ago substack
0.2.0 2 years ago substack
0.1.0 2 years ago substack
0.0.0 3 years ago substack
228 Downloads yesterday.

readme

terminal-menu

retro ansi terminal menus for serious 80s technicolor business

terminal menu

example

var menu = require('/')({ width: 29, x: 4, y: 2 });
menu.reset();
menu.write('SERIOUS BUSINESS TERMINAL\n');
menu.write('-------------------------\n');

menu.add('ADD TRANSACTION INVOICE');
menu.add('BUSINESS INTELLIGENCE');
menu.add('ACCOUNTS PAYABLE');
menu.add('LEDGER BOOKINGS');
menu.add('INDICATOR CHART METRICS');
menu.add('BACKUP DATA TO FLOPPY DISK');
menu.add('RESTORE FROM FLOPPY DISK');
menu.add('EXIT');

menu.on('select', function (label) {
    menu.close();
    console.log('SELECTED: ' + label);
});
menu.createStream().pipe(process.stdout);

methods

var createMenu = require('terminal-menu')

var menu = createMenu(opts)

Create a menu with opts:

  • opts.width - menu width in columns
  • opts.x - top-left corner x offset, default: 1
  • opts.y - top-left corner y offset, default: 1
  • opts.fg - foreground color, default: 'white'
  • opts.bg - background color, default: 'blue'
  • opts.padding.left - left padding in columns
  • opts.padding.right - right padding in columns
  • opts.padding.top - top padding in rows
  • opts.padding.bottom - bottom padding in rows

The menu can be driven around with the arrow keys and j/k, vi-style. To quit out of the menu, hit ^C or q.

menu.add(label)

Create a new selectable menu item with the string label.

menu.write(msg)

Write a message to the menu.

menu.createStream()

Return the stream to be piped to a terminal.

menu.reset()

Reset the terminal, clearing all contents.

menu.close()

Unregister all listeners and put the terminal back to its original state.

install

With npm do:

npm install terminal-menu

license

MIT

Resolving all dependencies.. This could take a while as our cache is not yet fully warmed up.