Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chjj/term.js
A terminal written in javascript.
https://github.com/chjj/term.js
Last synced: 26 days ago
JSON representation
A terminal written in javascript.
- Host: GitHub
- URL: https://github.com/chjj/term.js
- Owner: chjj
- License: mit
- Created: 2013-08-08T14:32:09.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-03-25T20:44:31.000Z (8 months ago)
- Last Synced: 2024-10-15T22:02:50.241Z (28 days ago)
- Language: JavaScript
- Homepage:
- Size: 251 KB
- Stars: 1,550
- Watchers: 52
- Forks: 337
- Open Issues: 84
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# term.js
A full xterm clone written in javascript. Used by
[**tty.js**](https://github.com/chjj/tty.js).**⚠️ This project is no longer maintained ⚠️. For a maintained fork take a look at [sourcelair/xterm.js](https://github.com/sourcelair/xterm.js).**
## Example
Server:
``` js
var term = require('term.js');
app.use(term.middleware());
...
```Client:
``` js
window.addEventListener('load', function() {
var socket = io.connect();
socket.on('connect', function() {
var term = new Terminal({
cols: 80,
rows: 24,
screenKeys: true
});term.on('data', function(data) {
socket.emit('data', data);
});term.on('title', function(title) {
document.title = title;
});term.open(document.body);
term.write('\x1b[31mWelcome to term.js!\x1b[m\r\n');
socket.on('data', function(data) {
term.write(data);
});socket.on('disconnect', function() {
term.destroy();
});
});
}, false);
```## Tmux-like
While term.js has always supported copy/paste using the mouse, it now also
supports several keyboard based solutions for copy/paste.term.js includes a tmux-like selection mode (enabled with the `screenKeys`
option) which makes copy and paste very simple. `Ctrl-A` enters `prefix` mode,
from here you can type `Ctrl-V` to paste. Press `[` in prefix mode to enter
selection mode. To select text press `v` (or `space`) to enter visual mode, use
`hjkl` to navigate and create a selection, and press `Ctrl-C` to copy.`Ctrl-C` (in visual mode) and `Ctrl-V` (in prefix mode) should work in any OS
for copy and paste. `y` (in visual mode) will work for copying only on X11
systems. It will copy to the primary selection.Note: `Ctrl-C` will also work in prefix mode for the regular OS/browser
selection. If you want to select text with your mouse and copy it to the
clipboard, simply select the text and type `Ctrl-A + Ctrl-C`, and
`Ctrl-A + Ctrl-V` to paste it.For mac users: consider `Ctrl` to be `Command/Apple` above.
## Contribution and License Agreement
If you contribute code to this project, you are implicitly allowing your code
to be distributed under the MIT license. You are also implicitly verifying that
all code is your original work. ``## License
Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)