Skip to main content

Class: Program

Defined in: packages/core/src/lib/program.ts:74

Program - Low-level terminal I/O, escape sequences, and terminal control.

Remarks​

Program is the low-level interface between unblessed and the terminal. It provides:

  • I/O Management: Reads input, writes output via streams
  • Escape Sequences: Converts high-level commands to terminal codes
  • Terminal Capabilities: Loads and uses terminfo/termcap databases
  • Input Processing: Parses keyboard and mouse events
  • Buffer Management: Optimizes terminal output

Program is typically created and managed by Screen. You rarely instantiate it directly.

Examples​

import { Screen } from "@unblessed/node";

const screen = new Screen();
const program = screen.program; // Access Program instance

// Use Program methods directly
program.clear();
program.cup(5, 10); // Move cursor to row 5, col 10
program.write("Hello!");
program.enableMouse();
program.setMouse({ allMotion: true, sendFocus: true }, true);

program.on("mouse", (data) => {
console.log(`Mouse: ${data.action} at (${data.x}, ${data.y})`);
});
program.on("keypress", (ch, key) => {
console.log("Key:", key.full);

if (key.name === "q" || (key.ctrl && key.name === "c")) {
program.normalBuffer();
program.showCursor();
process.exit(0);
}
});

See​

  • Screen for high-level screen management
  • Runtime for platform abstraction

Extends​

  • EventEmitterBase

Indexable​

[key: string]: any

Constructors​

Constructor​

new Program(options?, legacyOutput?): Program

Defined in: packages/core/src/lib/program.ts:134

Parameters​

options?​

any

legacyOutput?​

any

Returns​

Program

Overrides​

EventEmitterBase.constructor

Properties​

runtime​

runtime: Runtime

Defined in: packages/core/src/lib/program.ts:75


options​

options: Record<string, any>

Defined in: packages/core/src/lib/program.ts:76


input​

input: ReadStream & object

Defined in: packages/core/src/lib/program.ts:77

Type Declaration​

_blessedInput?​

optional _blessedInput: number

_keypressHandler?​

optional _keypressHandler: any

_dataHandler?​

optional _dataHandler: any


output​

output: WriteStream & object

Defined in: packages/core/src/lib/program.ts:82

Type Declaration​

_blessedOutput?​

optional _blessedOutput: number

_resizeHandler?​

optional _resizeHandler: any


_logger?​

optional _logger: WriteStream

Defined in: packages/core/src/lib/program.ts:86


zero​

zero: boolean

Defined in: packages/core/src/lib/program.ts:87


useBuffer​

useBuffer: boolean

Defined in: packages/core/src/lib/program.ts:88


x​

x: number

Defined in: packages/core/src/lib/program.ts:89


y​

y: number

Defined in: packages/core/src/lib/program.ts:90


savedX​

savedX: number

Defined in: packages/core/src/lib/program.ts:91


savedY​

savedY: number

Defined in: packages/core/src/lib/program.ts:92


cols​

cols: number

Defined in: packages/core/src/lib/program.ts:93


rows​

rows: number

Defined in: packages/core/src/lib/program.ts:94


scrollTop​

scrollTop: number

Defined in: packages/core/src/lib/program.ts:95


scrollBottom​

scrollBottom: number

Defined in: packages/core/src/lib/program.ts:96


_terminal​

_terminal: string

Defined in: packages/core/src/lib/program.ts:97


isOSXTerm​

isOSXTerm: boolean

Defined in: packages/core/src/lib/program.ts:98


isiTerm2​

isiTerm2: boolean

Defined in: packages/core/src/lib/program.ts:99


isXFCE​

isXFCE: boolean

Defined in: packages/core/src/lib/program.ts:100


isTerminator​

isTerminator: boolean

Defined in: packages/core/src/lib/program.ts:101


isLXDE​

isLXDE: boolean

Defined in: packages/core/src/lib/program.ts:102


isVTE​

isVTE: boolean

Defined in: packages/core/src/lib/program.ts:103


isRxvt​

isRxvt: boolean

Defined in: packages/core/src/lib/program.ts:104


isXterm​

isXterm: boolean

Defined in: packages/core/src/lib/program.ts:105


tmux​

tmux: boolean

Defined in: packages/core/src/lib/program.ts:106


tmuxVersion​

tmuxVersion: number

Defined in: packages/core/src/lib/program.ts:107


_buf​

_buf: string

Defined in: packages/core/src/lib/program.ts:108


_flush()​

_flush: () => void

Defined in: packages/core/src/lib/program.ts:109

Returns​

void


tput?​

optional tput: any

Defined in: packages/core/src/lib/program.ts:110


put?​

optional put: any

Defined in: packages/core/src/lib/program.ts:111


_tputSetup?​

optional _tputSetup: boolean

Defined in: packages/core/src/lib/program.ts:112


_newHandler?​

optional _newHandler: any

Defined in: packages/core/src/lib/program.ts:113


_boundMouse?​

optional _boundMouse: boolean

Defined in: packages/core/src/lib/program.ts:114


_lastButton?​

optional _lastButton: string

Defined in: packages/core/src/lib/program.ts:115


_currentMouse?​

optional _currentMouse: any

Defined in: packages/core/src/lib/program.ts:116


mouseEnabled?​

optional mouseEnabled: boolean

Defined in: packages/core/src/lib/program.ts:117


_boundResponse?​

optional _boundResponse: boolean

Defined in: packages/core/src/lib/program.ts:118


_rx?​

optional _rx: number

Defined in: packages/core/src/lib/program.ts:119


_ry?​

optional _ry: number

Defined in: packages/core/src/lib/program.ts:120


cursorHidden?​

optional cursorHidden: boolean

Defined in: packages/core/src/lib/program.ts:121


_saved?​

optional _saved: Record<string, any>

Defined in: packages/core/src/lib/program.ts:122


isAlt?​

optional isAlt: boolean

Defined in: packages/core/src/lib/program.ts:123


_title?​

optional _title: string

Defined in: packages/core/src/lib/program.ts:124


_exiting?​

optional _exiting: boolean

Defined in: packages/core/src/lib/program.ts:125


destroyed?​

optional destroyed: boolean

Defined in: packages/core/src/lib/program.ts:126


ret?​

optional ret: boolean

Defined in: packages/core/src/lib/program.ts:127


_resume()?​

optional _resume: () => void

Defined in: packages/core/src/lib/program.ts:128

Returns​

void


gpm?​

optional gpm: any

Defined in: packages/core/src/lib/program.ts:129


_resizeTimer?​

optional _resizeTimer: Timeout

Defined in: packages/core/src/lib/program.ts:130


_programIndex?​

optional _programIndex: number

Defined in: packages/core/src/lib/program.ts:131


global​

static global: Program | null = null

Defined in: packages/core/src/lib/program.ts:235


total​

static total: number = 0

Defined in: packages/core/src/lib/program.ts:236


instances​

static instances: Program[] = []

Defined in: packages/core/src/lib/program.ts:237


_bound​

static _bound: boolean = false

Defined in: packages/core/src/lib/program.ts:238


_exitHandler​

static _exitHandler: () => void | null = null

Defined in: packages/core/src/lib/program.ts:239


type​

type: string = "program"

Defined in: packages/core/src/lib/program.ts:275

Accessors​

programIndex​

Get Signature​

get programIndex(): number

Defined in: packages/core/src/lib/program.ts:280

Get the program's index in the instances array.

Returns​

number


terminal​

Get Signature​

get terminal(): string

Defined in: packages/core/src/lib/program.ts:446

Returns​

string

Set Signature​

set terminal(newTerminal): void

Defined in: packages/core/src/lib/program.ts:450

Parameters​
newTerminal​

string

Returns​

void


title​

Get Signature​

get title(): string

Defined in: packages/core/src/lib/program.ts:2069

Returns​

string

Set Signature​

set title(newTitle): void

Defined in: packages/core/src/lib/program.ts:2073

Parameters​
newTitle​

string

Returns​

void

Methods​

on()​

on(event, listener): this

Defined in: packages/core/src/lib/event-emitter-base.ts:48

Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.

server.on("connection", (stream) => {
console.log("someone connected!");
});

Returns a reference to the EventEmitter, so that calls can be chained.

By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

import { EventEmitter } from "node:events";
const myEE = new EventEmitter();
myEE.on("foo", () => console.log("a"));
myEE.prependListener("foo", () => console.log("b"));
myEE.emit("foo");
// Prints:
// b
// a

Parameters​

event​

string | symbol

listener​

(...args) => void

The callback function

Returns​

this

Since​

v0.1.101

Inherited from​

EventEmitterBase.on


addListener()​

addListener(event, listener): this

Defined in: packages/core/src/lib/event-emitter-base.ts:53

Alias for emitter.on(eventName, listener).

Parameters​

event​

string | symbol

listener​

(...args) => void

Returns​

this

Since​

v0.1.26

Inherited from​

EventEmitterBase.addListener


once()​

once(event, listener): this

Defined in: packages/core/src/lib/event-emitter-base.ts:61

Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

server.once("connection", (stream) => {
console.log("Ah, we have our first user!");
});

Returns a reference to the EventEmitter, so that calls can be chained.

By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

import { EventEmitter } from "node:events";
const myEE = new EventEmitter();
myEE.once("foo", () => console.log("a"));
myEE.prependOnceListener("foo", () => console.log("b"));
myEE.emit("foo");
// Prints:
// b
// a

Parameters​

event​

string | symbol

listener​

(...args) => void

The callback function

Returns​

this

Since​

v0.3.0

Inherited from​

EventEmitterBase.once


emit()​

emit(event, ...args): boolean

Defined in: packages/core/src/lib/event-emitter-base.ts:66

Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

Returns true if the event had listeners, false otherwise.

import { EventEmitter } from "node:events";
const myEmitter = new EventEmitter();

// First listener
myEmitter.on("event", function firstListener() {
console.log("Helloooo! first listener");
});
// Second listener
myEmitter.on("event", function secondListener(arg1, arg2) {
console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on("event", function thirdListener(...args) {
const parameters = args.join(", ");
console.log(`event with parameters ${parameters} in third listener`);
});

console.log(myEmitter.listeners("event"));

myEmitter.emit("event", 1, 2, 3, 4, 5);

// Prints:
// [
// [Function: firstListener],
// [Function: secondListener],
// [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener

Parameters​

event​

string | symbol

args​

...any[]

Returns​

boolean

Since​

v0.1.26

Inherited from​

EventEmitterBase.emit


removeListener()​

removeListener(event, listener): this

Defined in: packages/core/src/lib/event-emitter-base.ts:70

Removes the specified listener from the listener array for the event named eventName.

const callback = (stream) => {
console.log("someone connected!");
};
server.on("connection", callback);
// ...
server.removeListener("connection", callback);

removeListener() will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

Once an event is emitted, all listeners attached to it at the time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

import { EventEmitter } from "node:events";
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();

const callbackA = () => {
console.log("A");
myEmitter.removeListener("event", callbackB);
};

const callbackB = () => {
console.log("B");
};

myEmitter.on("event", callbackA);

myEmitter.on("event", callbackB);

// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit("event");
// Prints:
// A
// B

// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit("event");
// Prints:
// A

Because listeners are managed using an internal array, calling this will change the position indices of any listener registered after the listener being removed. This will not impact the order in which listeners are called, but it means that any copies of the listener array as returned by the emitter.listeners() method will need to be recreated.

When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most recently added instance. In the example the once('ping') listener is removed:

import { EventEmitter } from "node:events";
const ee = new EventEmitter();

function pong() {
console.log("pong");
}

ee.on("ping", pong);
ee.once("ping", pong);
ee.removeListener("ping", pong);

ee.emit("ping");
ee.emit("ping");

Returns a reference to the EventEmitter, so that calls can be chained.

Parameters​

event​

string | symbol

listener​

(...args) => void

Returns​

this

Since​

v0.1.26

Inherited from​

EventEmitterBase.removeListener


off()​

off(event, listener): this

Defined in: packages/core/src/lib/event-emitter-base.ts:78

Alias for emitter.removeListener().

Parameters​

event​

string | symbol

listener​

(...args) => void

Returns​

this

Since​

v10.0.0

Inherited from​

EventEmitterBase.off


removeAllListeners()​

removeAllListeners(event?): this

Defined in: packages/core/src/lib/event-emitter-base.ts:83

Removes all listeners, or those of the specified eventName.

It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

Returns a reference to the EventEmitter, so that calls can be chained.

Parameters​

event?​

string | symbol

Returns​

this

Since​

v0.1.26

Inherited from​

EventEmitterBase.removeAllListeners


listeners()​

listeners(event): Function[]

Defined in: packages/core/src/lib/event-emitter-base.ts:88

Returns a copy of the array of listeners for the event named eventName.

server.on("connection", (stream) => {
console.log("someone connected!");
});
console.log(util.inspect(server.listeners("connection")));
// Prints: [ [Function] ]

Parameters​

event​

string | symbol

Returns​

Function[]

Since​

v0.1.26

Inherited from​

EventEmitterBase.listeners


listenerCount()​

listenerCount(event): number

Defined in: packages/core/src/lib/event-emitter-base.ts:92

Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

Parameters​

event​

string | symbol

Returns​

number

Since​

v3.2.0

Inherited from​

EventEmitterBase.listenerCount


eventNames()​

eventNames(): (string | symbol)[]

Defined in: packages/core/src/lib/event-emitter-base.ts:96

Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

import { EventEmitter } from "node:events";

const myEE = new EventEmitter();
myEE.on("foo", () => {});
myEE.on("bar", () => {});

const sym = Symbol("symbol");
myEE.on(sym, () => {});

console.log(myEE.eventNames());
// Prints: [ 'foo', 'bar', Symbol(symbol) ]

Returns​

(string | symbol)[]

Since​

v6.0.0

Inherited from​

EventEmitterBase.eventNames


setMaxListeners()​

setMaxListeners(n): this

Defined in: packages/core/src/lib/event-emitter-base.ts:100

By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

Returns a reference to the EventEmitter, so that calls can be chained.

Parameters​

n​

number

Returns​

this

Since​

v0.3.5

Inherited from​

EventEmitterBase.setMaxListeners


getMaxListeners()​

getMaxListeners(): number

Defined in: packages/core/src/lib/event-emitter-base.ts:105

Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.

Returns​

number

Since​

v1.0.0

Inherited from​

EventEmitterBase.getMaxListeners


prependListener()​

prependListener(event, listener): this

Defined in: packages/core/src/lib/event-emitter-base.ts:109

Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.

server.prependListener("connection", (stream) => {
console.log("someone connected!");
});

Returns a reference to the EventEmitter, so that calls can be chained.

Parameters​

event​

string | symbol

listener​

(...args) => void

The callback function

Returns​

this

Since​

v6.0.0

Inherited from​

EventEmitterBase.prependListener


prependOnceListener()​

prependOnceListener(event, listener): this

Defined in: packages/core/src/lib/event-emitter-base.ts:117

Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

server.prependOnceListener("connection", (stream) => {
console.log("Ah, we have our first user!");
});

Returns a reference to the EventEmitter, so that calls can be chained.

Parameters​

event​

string | symbol

listener​

(...args) => void

The callback function

Returns​

this

Since​

v6.0.0

Inherited from​

EventEmitterBase.prependOnceListener


rawListeners()​

rawListeners(event): Function[]

Defined in: packages/core/src/lib/event-emitter-base.ts:125

Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

import { EventEmitter } from "node:events";
const emitter = new EventEmitter();
emitter.once("log", () => console.log("log once"));

// Returns a new Array with a function `onceWrapper` which has a property
// `listener` which contains the original listener bound above
const listeners = emitter.rawListeners("log");
const logFnWrapper = listeners[0];

// Logs "log once" to the console and does not unbind the `once` event
logFnWrapper.listener();

// Logs "log once" to the console and removes the listener
logFnWrapper();

emitter.on("log", () => console.log("log persistently"));
// Will return a new Array with a single function bound by `.on()` above
const newListeners = emitter.rawListeners("log");

// Logs "log persistently" twice
newListeners[0]();
emitter.emit("log");

Parameters​

event​

string | symbol

Returns​

Function[]

Since​

v9.4.0

Inherited from​

EventEmitterBase.rawListeners


bind()​

static bind(program): void

Defined in: packages/core/src/lib/program.ts:241

For a given function, creates a bound function that has the same body as the original function. The this object of the bound function is associated with the specified object, and has the specified initial parameters.

Parameters​

program​

Program

Returns​

void


log()​

log(...args): boolean | undefined

Defined in: packages/core/src/lib/program.ts:287

Write to the log file if one was created.

Parameters​

args​

...any[]

Returns​

boolean | undefined


debug()​

debug(...args): boolean | undefined

Defined in: packages/core/src/lib/program.ts:294

Same as the log method, but only gets called if the debug option was set.

Parameters​

args​

...any[]

Returns​

boolean | undefined


_log()​

_log(pre, msg): boolean | undefined

Defined in: packages/core/src/lib/program.ts:299

Parameters​

pre​

string

msg​

string

Returns​

boolean | undefined


setupDump()​

setupDump(): void

Defined in: packages/core/src/lib/program.ts:307

Set up dump logging. Dumps all input and output to the log file.

Returns​

void


setupTput()​

setupTput(): void

Defined in: packages/core/src/lib/program.ts:387

Set up the terminfo database. Creates the tput object for terminal capability queries.

Returns​

void


setTerminal()​

setTerminal(terminal): void

Defined in: packages/core/src/lib/program.ts:457

Set the terminal type. Reloads terminfo.

Parameters​

terminal​

string

Returns​

void


has()​

has(name): any

Defined in: packages/core/src/lib/program.ts:466

Check if the terminal has a specific capability.

Parameters​

name​

string

Returns​

any


term()​

term(is): boolean

Defined in: packages/core/src/lib/program.ts:473

Check if the current terminal is of a specific type.

Parameters​

is​

string

Returns​

boolean


listen()​

listen(): void

Defined in: packages/core/src/lib/program.ts:480

Initialize the program. Sets up input and output listeners.

Returns​

void


_listenInput()​

_listenInput(): void

Defined in: packages/core/src/lib/program.ts:527

Returns​

void


_listenOutput()​

_listenOutput(): void

Defined in: packages/core/src/lib/program.ts:584

Returns​

void


destroy()​

destroy(): void

Defined in: packages/core/src/lib/program.ts:623

Returns​

void


key()​

key(key, listener): void

Defined in: packages/core/src/lib/program.ts:682

Parameters​

key​

string | string[]

listener​

(...args) => void

Returns​

void


onceKey()​

onceKey(key, listener): void

Defined in: packages/core/src/lib/program.ts:689

Parameters​

key​

string | string[]

listener​

(...args) => void

Returns​

void


removeKey()​

removeKey(key, listener): void

Defined in: packages/core/src/lib/program.ts:696

Parameters​

key​

string | string[]

listener​

(...args) => void

Returns​

void


bindMouse()​

bindMouse(): void

Defined in: packages/core/src/lib/program.ts:722

Returns​

void


_bindMouse()​

_bindMouse(s, buf): void

Defined in: packages/core/src/lib/program.ts:735

Parameters​

s​

string | Buffer<ArrayBufferLike>

buf​

Buffer

Returns​

void


enableGpm()​

enableGpm(): void

Defined in: packages/core/src/lib/program.ts:1122

Returns​

void


disableGpm()​

disableGpm(): void

Defined in: packages/core/src/lib/program.ts:1247

Returns​

void


bindResponse()​

bindResponse(): void

Defined in: packages/core/src/lib/program.ts:1255

Returns​

void


_bindResponse()​

_bindResponse(s): void

Defined in: packages/core/src/lib/program.ts:1268

Parameters​

s​

string | Buffer<ArrayBufferLike>

Returns​

void


response()​

Call Signature​

response(name?, text?, callback?, noBypass?): any

Defined in: packages/core/src/lib/program.ts:1823

Parameters​
name?​

string

text?​

string

callback?​

(err, data?) => void

noBypass?​

boolean

Returns​

any

Call Signature​

response(text, callback): any

Defined in: packages/core/src/lib/program.ts:1829

Parameters​
text​

string

callback​

(err, data?) => void

Returns​

any


write()​

write(text): boolean | undefined

Defined in: packages/core/src/lib/program.ts:1874

Write text to the output stream.

Parameters​

text​

string

Returns​

boolean | undefined


_owrite()​

_owrite(text): boolean | undefined

Defined in: packages/core/src/lib/program.ts:1879

Parameters​

text​

string

Returns​

boolean | undefined


_buffer()​

_buffer(text): true | undefined

Defined in: packages/core/src/lib/program.ts:1883

Parameters​

text​

string

Returns​

true | undefined


flush()​

flush(): void

Defined in: packages/core/src/lib/program.ts:1905

Flush the output buffer.

Returns​

void


_write()​

_write(text, _attr?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:1911

Parameters​

text​

string

_attr?​

any

Returns​

string | boolean | undefined


_twrite()​

_twrite(data): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:1921

Parameters​

data​

string

Returns​

string | boolean | undefined


print()​

print(text, attr?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:1959

Print text with optional attributes. Alias for write().

Parameters​

text​

string

attr?​

any

Returns​

string | boolean | undefined


_ncoords()​

_ncoords(): void

Defined in: packages/core/src/lib/program.ts:1963

Returns​

void


setx()​

setx(x): any

Defined in: packages/core/src/lib/program.ts:1973

Set the absolute x position of the cursor.

Parameters​

x​

number

Returns​

any


sety()​

sety(y): any

Defined in: packages/core/src/lib/program.ts:1981

Set the absolute y position of the cursor.

Parameters​

y​

number

Returns​

any


move()​

move(x, y): any

Defined in: packages/core/src/lib/program.ts:1988

Move the cursor to the given absolute position.

Parameters​

x​

number

y​

number

Returns​

any


omove()​

omove(x, y): void

Defined in: packages/core/src/lib/program.ts:1996

Move the cursor to the given absolute position (optimized).

Parameters​

x​

number

y​

number

Returns​

void


rsetx()​

rsetx(x): any

Defined in: packages/core/src/lib/program.ts:2031

Move cursor relatively on the x axis.

Parameters​

x​

number

Returns​

any


rsety()​

rsety(y): any

Defined in: packages/core/src/lib/program.ts:2040

Move cursor relatively on the y axis.

Parameters​

y​

number

Returns​

any


rmove()​

rmove(x, y): void

Defined in: packages/core/src/lib/program.ts:2049

Move cursor relatively by x and y.

Parameters​

x​

number

y​

number

Returns​

void


simpleInsert()​

simpleInsert(ch, i?, attr?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:2057

Insert a character at the current position.

Parameters​

ch​

string

i?​

number

attr?​

any

Returns​

string | boolean | undefined


repeat()​

repeat(ch, i): string

Defined in: packages/core/src/lib/program.ts:2064

Repeat a character i times.

Parameters​

ch​

string

i​

number

Returns​

string


copyToClipboard()​

copyToClipboard(text): boolean

Defined in: packages/core/src/lib/program.ts:2085

Copy text to clipboard (iTerm2 only). Returns true if successful.

Parameters​

text​

string

Returns​

boolean


cursorShape()​

cursorShape(shape, blink?): boolean

Defined in: packages/core/src/lib/program.ts:2096

Attempt to change cursor shape. Will not work in all terminals. Returns true if successful.

Parameters​

shape​

string

boolean

Returns​

boolean


cursorColor()​

cursorColor(color): boolean

Defined in: packages/core/src/lib/program.ts:2154

Attempt to change cursor color. Returns true if successful.

Parameters​

color​

string

Returns​

boolean


resetCursor()​

resetCursor(): boolean

Defined in: packages/core/src/lib/program.ts:2165

Attempt to reset cursor. Returns true if successful.

Returns​

boolean


getTextParams()​

getTextParams(param?, callback?): any

Defined in: packages/core/src/lib/program.ts:2178

Parameters​

param?​

string | number

callback?​

(err, data?) => void

Returns​

any


getCursorColor()​

getCursorColor(callback?): any

Defined in: packages/core/src/lib/program.ts:2192

Parameters​

callback?​

(err, data?) => void

Returns​

any


nul()​

nul(): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:2200

Normal

Returns​

string | boolean | undefined


bell()​

bell(): any

Defined in: packages/core/src/lib/program.ts:2205

Returns​

any


vtab()​

vtab(): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:2210

Returns​

string | boolean | undefined


form()​

form(): any

Defined in: packages/core/src/lib/program.ts:2216

Returns​

any


backspace()​

backspace(): any

Defined in: packages/core/src/lib/program.ts:2221

Returns​

any


tab()​

tab(): any

Defined in: packages/core/src/lib/program.ts:2228

Returns​

any


shiftOut()​

shiftOut(): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:2235

Returns​

string | boolean | undefined


shiftIn()​

shiftIn(): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:2240

Returns​

string | boolean | undefined


return()​

return(): any

Defined in: packages/core/src/lib/program.ts:2245

Returns​

any


feed()​

feed(): any

Defined in: packages/core/src/lib/program.ts:2251

Returns​

any


index()​

index(): any

Defined in: packages/core/src/lib/program.ts:2271

Esc

Returns​

any


reverseIndex()​

reverseIndex(): any

Defined in: packages/core/src/lib/program.ts:2279

Returns​

any


nextLine()​

nextLine(): any

Defined in: packages/core/src/lib/program.ts:2287

Returns​

any


reset()​

reset(): any

Defined in: packages/core/src/lib/program.ts:2296

Returns​

any


tabSet()​

tabSet(): any

Defined in: packages/core/src/lib/program.ts:2305

Returns​

any


saveCursor()​

saveCursor(key?): any

Defined in: packages/core/src/lib/program.ts:2311

Parameters​

key?​

string

Returns​

any


restoreCursor()​

restoreCursor(key?, hide?): any

Defined in: packages/core/src/lib/program.ts:2320

Parameters​

key?​

string

hide?​

boolean

Returns​

any


lsaveCursor()​

lsaveCursor(key?): void

Defined in: packages/core/src/lib/program.ts:2329

Parameters​

key?​

string

Returns​

void


lrestoreCursor()​

lrestoreCursor(key?, hide?): void

Defined in: packages/core/src/lib/program.ts:2339

Parameters​

key?​

string

hide?​

boolean

Returns​

void


lineHeight()​

lineHeight(): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:2356

Returns​

string | boolean | undefined


charset()​

charset(val?, level?): any

Defined in: packages/core/src/lib/program.ts:2361

Parameters​

val?​

string | number

level?​

number

Returns​

any


enter_alt_charset_mode()​

enter_alt_charset_mode(): any

Defined in: packages/core/src/lib/program.ts:2448

Returns​

any


as()​

as(): any

Defined in: packages/core/src/lib/program.ts:2451

Returns​

any


smacs()​

smacs(): any

Defined in: packages/core/src/lib/program.ts:2454

Returns​

any


exit_alt_charset_mode()​

exit_alt_charset_mode(): any

Defined in: packages/core/src/lib/program.ts:2458

Returns​

any


ae()​

ae(): any

Defined in: packages/core/src/lib/program.ts:2461

Returns​

any


rmacs()​

rmacs(): any

Defined in: packages/core/src/lib/program.ts:2464

Returns​

any


setG()​

setG(val?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:2484

Parameters​

val?​

string | number

Returns​

string | boolean | undefined


setTitle()​

setTitle(title): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:2512

OSC

Parameters​

title​

string

Returns​

string | boolean | undefined


resetColors()​

resetColors(param?): any

Defined in: packages/core/src/lib/program.ts:2529

Parameters​

param?​

string | number

Returns​

any


dynamicColors()​

dynamicColors(param): any

Defined in: packages/core/src/lib/program.ts:2540

Parameters​

param​

string

Returns​

any


selData()​

selData(a, b): any

Defined in: packages/core/src/lib/program.ts:2550

Parameters​

a​

string

b​

string

Returns​

any


cursorUp()​

cursorUp(param?): any

Defined in: packages/core/src/lib/program.ts:2563

CSI

Parameters​

param?​

number

Returns​

any


cursorDown()​

cursorDown(param?): any

Defined in: packages/core/src/lib/program.ts:2577

Parameters​

param?​

number

Returns​

any


cursorForward()​

cursorForward(param?): any

Defined in: packages/core/src/lib/program.ts:2591

Parameters​

param?​

number

Returns​

any


cursorBackward()​

cursorBackward(param?): any

Defined in: packages/core/src/lib/program.ts:2605

Parameters​

param?​

number

Returns​

any


cursorPos()​

cursorPos(row?, col?): any

Defined in: packages/core/src/lib/program.ts:2619

Parameters​

row?​

number

col?​

number

Returns​

any


eraseInDisplay()​

eraseInDisplay(param?): any

Defined in: packages/core/src/lib/program.ts:2644

Parameters​

param?​

string | number

Returns​

any


clear()​

clear(): any

Defined in: packages/core/src/lib/program.ts:2677

Returns​

any


eraseInLine()​

eraseInLine(param?): any

Defined in: packages/core/src/lib/program.ts:2693

Parameters​

param?​

string | number

Returns​

any


charAttributes()​

charAttributes(param, val?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:2783

Parameters​

param​

string | string[]

val?​

boolean

Returns​

string | boolean | undefined


text()​

text(text, attr): string

Defined in: packages/core/src/lib/program.ts:2792

Wrap the given text in terminal formatting codes corresponding to the given attribute name. The attr string can be of the form red fg or 52 bg where 52 is a 0-255 integer color number.

Parameters​

text​

string

attr​

string | string[]

Returns​

string


_attr()​

_attr(param, val?): string | null

Defined in: packages/core/src/lib/program.ts:2797

Parameters​

param​

string | string[]

val?​

boolean

Returns​

string | null


setForeground()​

setForeground(color, val?): any

Defined in: packages/core/src/lib/program.ts:3019

Parameters​

color​

string

val?​

boolean

Returns​

any


setBackground()​

setBackground(color, val?): any

Defined in: packages/core/src/lib/program.ts:3024

Parameters​

color​

string

val?​

boolean

Returns​

any


deviceStatus()​

deviceStatus(param?, callback?, dec?, noBypass?): any

Defined in: packages/core/src/lib/program.ts:3050

Parameters​

param?​

string | number

callback?​

(err, data?) => void

dec?​

boolean

noBypass?​

boolean

Returns​

any


getCursor()​

getCursor(callback?): any

Defined in: packages/core/src/lib/program.ts:3072

Parameters​

callback?​

(err, data?) => void

Returns​

any


saveReportedCursor()​

saveReportedCursor(callback?): any

Defined in: packages/core/src/lib/program.ts:3076

Parameters​

callback?​

(err) => void

Returns​

any


restoreReportedCursor()​

restoreReportedCursor(): any

Defined in: packages/core/src/lib/program.ts:3091

Returns​

any


insertChars()​

insertChars(param?): any

Defined in: packages/core/src/lib/program.ts:3103

Additions

Parameters​

param?​

number

Returns​

any


cursorNextLine()​

cursorNextLine(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3113

Parameters​

param?​

number

Returns​

string | boolean | undefined


cursorPrecedingLine()​

cursorPrecedingLine(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3122

Parameters​

param?​

number

Returns​

string | boolean | undefined


cursorCharAbsolute()​

cursorCharAbsolute(param?): any

Defined in: packages/core/src/lib/program.ts:3130

Parameters​

param?​

number

Returns​

any


insertLines()​

insertLines(param?): any

Defined in: packages/core/src/lib/program.ts:3145

Parameters​

param?​

number

Returns​

any


deleteLines()​

deleteLines(param?): any

Defined in: packages/core/src/lib/program.ts:3152

Parameters​

param?​

number

Returns​

any


deleteChars()​

deleteChars(param?): any

Defined in: packages/core/src/lib/program.ts:3159

Parameters​

param?​

number

Returns​

any


eraseChars()​

eraseChars(param?): any

Defined in: packages/core/src/lib/program.ts:3166

Parameters​

param?​

number

Returns​

any


charPosAbsolute()​

charPosAbsolute(...args): any

Defined in: packages/core/src/lib/program.ts:3173

Parameters​

args​

...number[]

Returns​

any


HPositionRelative()​

HPositionRelative(param?): any

Defined in: packages/core/src/lib/program.ts:3187

Parameters​

param?​

number

Returns​

any


sendDeviceAttributes()​

sendDeviceAttributes(param?, callback?): any

Defined in: packages/core/src/lib/program.ts:3231

Parameters​

param?​

string | number

callback?​

(err, data?) => void

Returns​

any


linePosAbsolute()​

linePosAbsolute(...args): any

Defined in: packages/core/src/lib/program.ts:3245

Parameters​

args​

...number[]

Returns​

any


VPositionRelative()​

VPositionRelative(param?): any

Defined in: packages/core/src/lib/program.ts:3258

Parameters​

param?​

number

Returns​

any


HVPosition()​

HVPosition(row?, col?): any

Defined in: packages/core/src/lib/program.ts:3270

Parameters​

row?​

number

col?​

number

Returns​

any


setMode()​

setMode(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3371

Parameters​

args​

...any[]

Returns​

string | boolean | undefined


decset()​

decset(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3376

Parameters​

args​

...any[]

Returns​

string | boolean | undefined


showCursor()​

showCursor(): any

Defined in: packages/core/src/lib/program.ts:3381

Returns​

any


alternateBuffer()​

alternateBuffer(): any

Defined in: packages/core/src/lib/program.ts:3393

Returns​

any


resetMode()​

resetMode(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3481

Parameters​

args​

...any[]

Returns​

string | boolean | undefined


decrst()​

decrst(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3486

Parameters​

args​

...any[]

Returns​

string | boolean | undefined


hideCursor()​

hideCursor(): any

Defined in: packages/core/src/lib/program.ts:3491

Returns​

any


cursor_invisible()​

cursor_invisible(): any

Defined in: packages/core/src/lib/program.ts:3497

Returns​

any


normalBuffer()​

normalBuffer(): any

Defined in: packages/core/src/lib/program.ts:3501

Returns​

any


enableMouse()​

enableMouse(): void

Defined in: packages/core/src/lib/program.ts:3508

Returns​

void


disableMouse()​

disableMouse(): void

Defined in: packages/core/src/lib/program.ts:3631

Returns​

void


setMouse()​

setMouse(opt, enable?): void

Defined in: packages/core/src/lib/program.ts:3644

Parameters​

opt​

any

enable?​

boolean

Returns​

void


setScrollRegion()​

setScrollRegion(top?, bottom?): any

Defined in: packages/core/src/lib/program.ts:3775

Parameters​

top?​

number

bottom?​

number

Returns​

any


saveCursorA()​

saveCursorA(): any

Defined in: packages/core/src/lib/program.ts:3794

Returns​

any


restoreCursorA()​

restoreCursorA(): any

Defined in: packages/core/src/lib/program.ts:3803

Returns​

any


cursorForwardTab()​

cursorForwardTab(param?): any

Defined in: packages/core/src/lib/program.ts:3816

Lesser Used

Parameters​

param?​

number

Returns​

any


scrollUp()​

scrollUp(param?): any

Defined in: packages/core/src/lib/program.ts:3824

Parameters​

param?​

number

Returns​

any


scrollDown()​

scrollDown(param?): any

Defined in: packages/core/src/lib/program.ts:3832

Parameters​

param?​

number

Returns​

any


initMouseTracking()​

initMouseTracking(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3843

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


resetTitleModes()​

resetTitleModes(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3858

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


cursorBackwardTab()​

cursorBackwardTab(param?): any

Defined in: packages/core/src/lib/program.ts:3863

Parameters​

param?​

number

Returns​

any


repeatPrecedingCharacter()​

repeatPrecedingCharacter(param?): any

Defined in: packages/core/src/lib/program.ts:3871

Parameters​

param?​

number

Returns​

any


tabClear()​

tabClear(param?): any

Defined in: packages/core/src/lib/program.ts:3884

Parameters​

param?​

number

Returns​

any


mediaCopy()​

mediaCopy(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3900

Parameters​

args​

...(string | number)[]

Returns​

string | boolean | undefined


mc0()​

mc0(): any

Defined in: packages/core/src/lib/program.ts:3904

Returns​

any


print_screen(): any

Defined in: packages/core/src/lib/program.ts:3909

Returns​

any


mc5()​

mc5(): any

Defined in: packages/core/src/lib/program.ts:3913

Returns​

any


prtr_on()​

prtr_on(): any

Defined in: packages/core/src/lib/program.ts:3918

Returns​

any


mc4()​

mc4(): any

Defined in: packages/core/src/lib/program.ts:3922

Returns​

any


prtr_off()​

prtr_off(): any

Defined in: packages/core/src/lib/program.ts:3927

Returns​

any


mc5p()​

mc5p(): any

Defined in: packages/core/src/lib/program.ts:3931

Returns​

any


prtr_non()​

prtr_non(): any

Defined in: packages/core/src/lib/program.ts:3936

Returns​

any


setResources()​

setResources(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3952

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


disableModifiers()​

disableModifiers(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3969

Parameters​

param?​

string | number

Returns​

string | boolean | undefined


setPointerMode()​

setPointerMode(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:3981

Parameters​

param?​

string | number

Returns​

string | boolean | undefined


softReset()​

softReset(): any

Defined in: packages/core/src/lib/program.ts:3987

Returns​

any


requestAnsiMode()​

requestAnsiMode(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4006

Parameters​

param?​

string | number

Returns​

string | boolean | undefined


requestPrivateMode()​

requestPrivateMode(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4015

Parameters​

param?​

string | number

Returns​

string | boolean | undefined


setConformanceLevel()​

setConformanceLevel(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4029

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


loadLEDs()​

loadLEDs(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4041

Parameters​

param?​

string | number

Returns​

string | boolean | undefined


setCursorStyle()​

setCursorStyle(param?): any

Defined in: packages/core/src/lib/program.ts:4052

Parameters​

param?​

string | number

Returns​

any


setCharProtectionAttr()​

setCharProtectionAttr(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4091

Parameters​

param?​

number

Returns​

string | boolean | undefined


restorePrivateValues()​

restorePrivateValues(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4098

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


setAttrInRectangle()​

setAttrInRectangle(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4107

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


savePrivateValues()​

savePrivateValues(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4114

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


manipulateWindow()​

manipulateWindow(...args): any

Defined in: packages/core/src/lib/program.ts:4164

Parameters​

args​

...any[]

Returns​

any


getWindowSize()​

getWindowSize(callback?): any

Defined in: packages/core/src/lib/program.ts:4175

Parameters​

callback?​

(err, data?) => void

Returns​

any


reverseAttrInRectangle()​

reverseAttrInRectangle(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4185

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


setTitleModeFeature()​

setTitleModeFeature(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4198

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


setWarningBellVolume()​

setWarningBellVolume(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4207

Parameters​

param?​

string | number

Returns​

string | boolean | undefined


setMarginBellVolume()​

setMarginBellVolume(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4216

Parameters​

param?​

string | number

Returns​

string | boolean | undefined


copyRectangle()​

copyRectangle(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4227

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


enableFilterRectangle()​

enableFilterRectangle(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4242

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


requestParameters()​

requestParameters(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4257

Parameters​

param?​

number

Returns​

string | boolean | undefined


selectChangeExtent()​

selectChangeExtent(param?): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4265

Parameters​

param?​

number

Returns​

string | boolean | undefined


fillRectangle()​

fillRectangle(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4274

Parameters​

args​

...(string | number)[]

Returns​

string | boolean | undefined


enableLocatorReporting()​

enableLocatorReporting(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4290

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


eraseRectangle()​

eraseRectangle(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4298

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


setLocatorEvents()​

setLocatorEvents(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4313

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


selectiveEraseRectangle()​

selectiveEraseRectangle(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4320

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


requestLocatorPosition()​

requestLocatorPosition(param?, callback?): any

Defined in: packages/core/src/lib/program.ts:4364

Parameters​

param?​

string | number

callback?​

(err, data?) => void

Returns​

any


req_mouse_pos()​

req_mouse_pos(): any

Defined in: packages/core/src/lib/program.ts:4383

Returns​

any


insertColumns()​

insertColumns(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4390

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


deleteColumns()​

deleteColumns(...args): string | boolean | undefined

Defined in: packages/core/src/lib/program.ts:4397

Parameters​

args​

...number[]

Returns​

string | boolean | undefined


out()​

out(name, ...args): any

Defined in: packages/core/src/lib/program.ts:4401

Parameters​

name​

string

args​

...any[]

Returns​

any


sigtstp()​

sigtstp(callback?): void

Defined in: packages/core/src/lib/program.ts:4408

Parameters​

callback?​

() => void

Returns​

void


pause()​

pause(callback?): () => void

Defined in: packages/core/src/lib/program.ts:4419

Parameters​

callback?​

() => void

Returns​

(): void

Returns​

void


resume()​

resume(): void

Defined in: packages/core/src/lib/program.ts:4456

Returns​

void