neo-neo-bblessed
Version:
A fork of neo-blessed (which is a fork of blessed) with bug fixes and maintenance.
58 lines (49 loc) • 1.19 kB
text/typescript
import * as blessed from '../lib/blessed';
// Create a screen object.
const screen = blessed.screen();
// Create a box perfectly centered horizontally and vertically.
const box = blessed.box({
top: 'center',
left: 'center',
width: '50%',
height: '50%',
content: 'Hello {bold}world{/bold}!',
tags: true,
border: {
type: 'line',
},
style: {
fg: 'white',
bg: 'magenta',
border: {
fg: '#ffffff',
},
hover: {
bg: 'green',
},
},
});
// Append our box to the screen.
screen.append(box);
// If our box is clicked, change the content.
box.on('click', function (data) {
box.setContent('{center}Some different {red-fg}content{/red-fg}.{/center}');
screen.render();
});
// If box is focused, handle `enter` and give us some more content.
box.key('enter', function () {
box.setContent(
'{right}Even different {black-fg}content{/black-fg}.{/right}\n'
);
box.setLine(1, 'bar');
box.insertLine(1, 'foo');
screen.render();
});
// Quit on Escape, q, or Control-C.
screen.key(['escape', 'q', 'C-c'], function (ch, key) {
return process.exit(0);
});
// Focus our element.
box.focus();
// Render the screen.
screen.render();