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?
optionaltput:any
Defined in: packages/core/src/lib/program.ts:110
put?
optionalput: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?
optionalmouseEnabled: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?
optionalcursorHidden: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?
optionalisAlt: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?
optionaldestroyed:boolean
Defined in: packages/core/src/lib/program.ts:126
ret?
optionalret: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?
optionalgpm: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
staticglobal:Program|null=null
Defined in: packages/core/src/lib/program.ts:235
total
statictotal:number=0
Defined in: packages/core/src/lib/program.ts:236
instances
staticinstances: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()
staticbind(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
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
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
blink?
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:3017
Parameters
color
string
val?
boolean
Returns
any
setBackground()
setBackground(
color,val?):any
Defined in: packages/core/src/lib/program.ts:3022
Parameters
color
string
val?
boolean
Returns
any
deviceStatus()
deviceStatus(
param?,callback?,dec?,noBypass?):any
Defined in: packages/core/src/lib/program.ts:3048
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:3070
Parameters
callback?
(err, data?) => void
Returns
any
saveReportedCursor()
saveReportedCursor(
callback?):any
Defined in: packages/core/src/lib/program.ts:3074
Parameters
callback?
(err) => void
Returns
any
restoreReportedCursor()
restoreReportedCursor():
any
Defined in: packages/core/src/lib/program.ts:3089
Returns
any
insertChars()
insertChars(
param?):any
Defined in: packages/core/src/lib/program.ts:3101
Additions
Parameters
param?
number
Returns
any
cursorNextLine()
cursorNextLine(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3111
Parameters
param?
number
Returns
string | boolean | undefined
cursorPrecedingLine()
cursorPrecedingLine(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3120
Parameters
param?
number
Returns
string | boolean | undefined
cursorCharAbsolute()
cursorCharAbsolute(
param?):any
Defined in: packages/core/src/lib/program.ts:3128
Parameters
param?
number
Returns
any
insertLines()
insertLines(
param?):any
Defined in: packages/core/src/lib/program.ts:3143
Parameters
param?
number
Returns
any
deleteLines()
deleteLines(
param?):any
Defined in: packages/core/src/lib/program.ts:3150
Parameters
param?
number
Returns
any
deleteChars()
deleteChars(
param?):any
Defined in: packages/core/src/lib/program.ts:3157
Parameters
param?
number
Returns
any
eraseChars()
eraseChars(
param?):any
Defined in: packages/core/src/lib/program.ts:3164
Parameters
param?
number
Returns
any
charPosAbsolute()
charPosAbsolute(...
args):any
Defined in: packages/core/src/lib/program.ts:3171
Parameters
args
...number[]
Returns
any
HPositionRelative()
HPositionRelative(
param?):any
Defined in: packages/core/src/lib/program.ts:3185
Parameters
param?
number
Returns
any
sendDeviceAttributes()
sendDeviceAttributes(
param?,callback?):any
Defined in: packages/core/src/lib/program.ts:3229
Parameters
param?
string | number
callback?
(err, data?) => void
Returns
any
linePosAbsolute()
linePosAbsolute(...
args):any
Defined in: packages/core/src/lib/program.ts:3243
Parameters
args
...number[]
Returns
any
VPositionRelative()
VPositionRelative(
param?):any
Defined in: packages/core/src/lib/program.ts:3256
Parameters
param?
number
Returns
any
HVPosition()
HVPosition(
row?,col?):any
Defined in: packages/core/src/lib/program.ts:3268
Parameters
row?
number
col?
number
Returns
any
setMode()
setMode(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3369
Parameters
args
...any[]
Returns
string | boolean | undefined
decset()
decset(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3374
Parameters
args
...any[]
Returns
string | boolean | undefined
showCursor()
showCursor():
any
Defined in: packages/core/src/lib/program.ts:3379
Returns
any
alternateBuffer()
alternateBuffer():
any
Defined in: packages/core/src/lib/program.ts:3391
Returns
any
resetMode()
resetMode(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3479
Parameters
args
...any[]
Returns
string | boolean | undefined
decrst()
decrst(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3484
Parameters
args
...any[]
Returns
string | boolean | undefined
hideCursor()
hideCursor():
any
Defined in: packages/core/src/lib/program.ts:3489
Returns
any
cursor_invisible()
cursor_invisible():
any
Defined in: packages/core/src/lib/program.ts:3495
Returns
any
normalBuffer()
normalBuffer():
any
Defined in: packages/core/src/lib/program.ts:3499
Returns
any
enableMouse()
enableMouse():
void
Defined in: packages/core/src/lib/program.ts:3506
Returns
void
disableMouse()
disableMouse():
void
Defined in: packages/core/src/lib/program.ts:3629
Returns
void
setMouse()
setMouse(
opt,enable?):void
Defined in: packages/core/src/lib/program.ts:3642
Parameters
opt
any
enable?
boolean
Returns
void
setScrollRegion()
setScrollRegion(
top?,bottom?):any
Defined in: packages/core/src/lib/program.ts:3773
Parameters
top?
number
bottom?
number
Returns
any
saveCursorA()
saveCursorA():
any
Defined in: packages/core/src/lib/program.ts:3792
Returns
any
restoreCursorA()
restoreCursorA():
any
Defined in: packages/core/src/lib/program.ts:3801
Returns
any
cursorForwardTab()
cursorForwardTab(
param?):any
Defined in: packages/core/src/lib/program.ts:3814
Lesser Used
Parameters
param?
number
Returns
any
scrollUp()
scrollUp(
param?):any
Defined in: packages/core/src/lib/program.ts:3822
Parameters
param?
number
Returns
any
scrollDown()
scrollDown(
param?):any
Defined in: packages/core/src/lib/program.ts:3830
Parameters
param?
number
Returns
any
initMouseTracking()
initMouseTracking(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3841
Parameters
args
...number[]
Returns
string | boolean | undefined
resetTitleModes()
resetTitleModes(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3856
Parameters
args
...number[]
Returns
string | boolean | undefined
cursorBackwardTab()
cursorBackwardTab(
param?):any
Defined in: packages/core/src/lib/program.ts:3861
Parameters
param?
number
Returns
any
repeatPrecedingCharacter()
repeatPrecedingCharacter(
param?):any
Defined in: packages/core/src/lib/program.ts:3869
Parameters
param?
number
Returns
any
tabClear()
tabClear(
param?):any
Defined in: packages/core/src/lib/program.ts:3882
Parameters
param?
number
Returns
any
mediaCopy()
mediaCopy(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3898
Parameters
args
...(string | number)[]
Returns
string | boolean | undefined
mc0()
mc0():
any
Defined in: packages/core/src/lib/program.ts:3902
Returns
any
print_screen()
print_screen():
any
Defined in: packages/core/src/lib/program.ts:3907
Returns
any
mc5()
mc5():
any
Defined in: packages/core/src/lib/program.ts:3911
Returns
any
prtr_on()
prtr_on():
any
Defined in: packages/core/src/lib/program.ts:3916
Returns
any
mc4()
mc4():
any
Defined in: packages/core/src/lib/program.ts:3920
Returns
any
prtr_off()
prtr_off():
any
Defined in: packages/core/src/lib/program.ts:3925
Returns
any
mc5p()
mc5p():
any
Defined in: packages/core/src/lib/program.ts:3929
Returns
any
prtr_non()
prtr_non():
any
Defined in: packages/core/src/lib/program.ts:3934
Returns
any
setResources()
setResources(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3950
Parameters
args
...number[]
Returns
string | boolean | undefined
disableModifiers()
disableModifiers(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3967
Parameters
param?
string | number
Returns
string | boolean | undefined
setPointerMode()
setPointerMode(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:3979
Parameters
param?
string | number
Returns
string | boolean | undefined
softReset()
softReset():
any
Defined in: packages/core/src/lib/program.ts:3985
Returns
any
requestAnsiMode()
requestAnsiMode(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4004
Parameters
param?
string | number
Returns
string | boolean | undefined
requestPrivateMode()
requestPrivateMode(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4013
Parameters
param?
string | number
Returns
string | boolean | undefined
setConformanceLevel()
setConformanceLevel(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4027
Parameters
args
...number[]
Returns
string | boolean | undefined
loadLEDs()
loadLEDs(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4039
Parameters
param?
string | number
Returns
string | boolean | undefined
setCursorStyle()
setCursorStyle(
param?):any
Defined in: packages/core/src/lib/program.ts:4050
Parameters
param?
string | number
Returns
any
setCharProtectionAttr()
setCharProtectionAttr(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4089
Parameters
param?
number
Returns
string | boolean | undefined
restorePrivateValues()
restorePrivateValues(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4096
Parameters
args
...number[]
Returns
string | boolean | undefined
setAttrInRectangle()
setAttrInRectangle(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4105
Parameters
args
...number[]
Returns
string | boolean | undefined
savePrivateValues()
savePrivateValues(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4112
Parameters
args
...number[]
Returns
string | boolean | undefined
manipulateWindow()
manipulateWindow(...
args):any
Defined in: packages/core/src/lib/program.ts:4162
Parameters
args
...any[]
Returns
any
getWindowSize()
getWindowSize(
callback?):any
Defined in: packages/core/src/lib/program.ts:4173
Parameters
callback?
(err, data?) => void
Returns
any
reverseAttrInRectangle()
reverseAttrInRectangle(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4183
Parameters
args
...number[]
Returns
string | boolean | undefined
setTitleModeFeature()
setTitleModeFeature(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4196
Parameters
args
...number[]
Returns
string | boolean | undefined
setWarningBellVolume()
setWarningBellVolume(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4205
Parameters
param?
string | number
Returns
string | boolean | undefined
setMarginBellVolume()
setMarginBellVolume(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4214
Parameters
param?
string | number
Returns
string | boolean | undefined
copyRectangle()
copyRectangle(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4225
Parameters
args
...number[]
Returns
string | boolean | undefined
enableFilterRectangle()
enableFilterRectangle(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4240
Parameters
args
...number[]
Returns
string | boolean | undefined
requestParameters()
requestParameters(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4255
Parameters
param?
number
Returns
string | boolean | undefined
selectChangeExtent()
selectChangeExtent(
param?):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4263
Parameters
param?
number
Returns
string | boolean | undefined
fillRectangle()
fillRectangle(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4272
Parameters
args
...(string | number)[]
Returns
string | boolean | undefined
enableLocatorReporting()
enableLocatorReporting(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4288
Parameters
args
...number[]
Returns
string | boolean | undefined
eraseRectangle()
eraseRectangle(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4296
Parameters
args
...number[]
Returns
string | boolean | undefined
setLocatorEvents()
setLocatorEvents(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4311
Parameters
args
...number[]
Returns
string | boolean | undefined
selectiveEraseRectangle()
selectiveEraseRectangle(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4318
Parameters
args
...number[]
Returns
string | boolean | undefined
requestLocatorPosition()
requestLocatorPosition(
param?,callback?):any
Defined in: packages/core/src/lib/program.ts:4362
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:4381
Returns
any
insertColumns()
insertColumns(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4388
Parameters
args
...number[]
Returns
string | boolean | undefined
deleteColumns()
deleteColumns(...
args):string|boolean|undefined
Defined in: packages/core/src/lib/program.ts:4395
Parameters
args
...number[]
Returns
string | boolean | undefined
out()
out(
name, ...args):any
Defined in: packages/core/src/lib/program.ts:4399
Parameters
name
string
args
...any[]
Returns
any
sigtstp()
sigtstp(
callback?):void
Defined in: packages/core/src/lib/program.ts:4406
Parameters
callback?
() => void
Returns
void
pause()
pause(
callback?): () =>void
Defined in: packages/core/src/lib/program.ts:4417
Parameters
callback?
() => void
Returns
():
void
Returns
void
resume()
resume():
void
Defined in: packages/core/src/lib/program.ts:4454
Returns
void