🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

@shamansir/everblessed

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@shamansir/everblessed

A high-level terminal interface library for node.js.

latest
Source
npmnpm
Version
0.3.1
Version published
Maintainers
1
Created
Source

reblessed

THIS FORK ONLY CONTAINS FIXES & ROUGH PATCHES TO MAKE chjj/blessed AND THEN reblessed USABLE IN NIX-OS BUILDS

NOT FOR EVERYDAY USAGE, NO IMPROVEMENTS OVER kenan238/reblessed, EVEN DOWNGRADES

If you'd like to request a feature, make a new issue

reblessed-npm reblessed-stars reblessed-forks reblessed-stars reblessed-issues

A curses-like library with a high level terminal interface API for node.js.

reblessed

The library's official author, "chjj", seems to have abandoned the project, as the last commit was in 2016. All forks have also died, so I took matters into my own hands and forked the project.

Blessed is a fantastic project, so I revived this masterpiece from the dead under the name "Re-Blessed", as I wasn’t able to find any other TUI libraries that had exactly what a TUI application needed!

Install

Latest release

npm install everblessed

Latest source code

git clone git@github.com:shamansir/everblessed.git

Example

This will render a box with line borders containing the text 'Hello world!', perfectly centered horizontally and vertically.

NOTE: It is recommend you use either smartCSR or fastCSR as a reblessed.screen option. This will enable CSR when scrolling text in elements or when manipulating lines.

const everblessed = require('everblessed');

// Create a screen object.
const screen = everblessed.screen({
  smartCSR: true
});

screen.title = 'my window title';

// Create a box perfectly centered horizontally and vertically.
const box = everblessed.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: '#f0f0f0'
        },
        hover: {
            bg: 'green'
        }
    }
});

// Append our box to the screen.
screen.append(box);

// Add a png icon to the box
const icon = everblessed.image({
    parent: box,
    top: 0,
    left: 0,
    type: 'overlay',
    width: 'shrink',
    height: 'shrink',
    file: __dirname + '/my-program-icon.png',
    search: false
});

// If our box is clicked, change the content.
box.on('click', (data) => {
    box.setContent('{center}Some different {red-fg}content{/red-fg}.{/center}');
    screen.render();
});

// If box is focused, handle `enter`/`return` and give us some more content.
box.key('enter', (ch, key) => {
    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'], (ch, key) => {
    return process.exit(0);
});

// Focus our element.
box.focus();

// Render the screen.
screen.render();

Documentation

Go to the WIKI tab

Contribution and License Agreement

If you contribute code to this project, you are implicitly allowing your code to be distributed under the MIT license. You are also implicitly verifying that all code is your original work. </legalese>

New license

See LICENSE.md

Original License

Copyright (c) 2013-2015, Christopher Jeffrey. (MIT License)

See LICENSE for more info.

Keywords

blessed

FAQs

Package last updated on 14 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts