OLD | NEW |
(Empty) | |
| 1 # xterm.js |
| 2 |
| 3 ![xterm.js build status](https://api.travis-ci.org/sourcelair/xterm.js.svg) [![G
itter](https://badges.gitter.im/sourcelair/xterm.js.svg)](https://gitter.im/sour
celair/xterm.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) |
| 4 |
| 5 Xterm.js is a terminal front-end component written in JavaScript that works in t
he browser. |
| 6 |
| 7 It enables applications to provide fully featured terminals to their users and c
reate great development experiences. |
| 8 |
| 9 ## Features |
| 10 - **Text-based application support**: Use xterm.js to work with applications lik
e `bash`, `git` etc. |
| 11 - **Curses-based application support**: Use xterm.js to work with applications l
ike `vim`, `tmux` etc. |
| 12 - **Mouse events support**: Xterm.js captures mouse events like click and scroll
and passes them to the terminal's back-end controlling process |
| 13 - **CJK (Chinese, Japanese, Korean) character support**: Xterm.js renders CJK ch
aracters seamlessly |
| 14 - **IME support**: Insert international (including CJK) characters using IME inp
ut with your keyboard |
| 15 - **Self-contained library**: Xterm.js works on its own. It does not require any
external libraries like jQuery or React to work |
| 16 - **Modular, event-based API**: Lets you build addons and themes with ease |
| 17 |
| 18 ## What xterm.js is not |
| 19 - Xterm.js is not a terminal application that you can download and use on your c
omputer |
| 20 - Xterm.js is not `bash`. Xterm.js can be connected to processes like `bash` and
let you interact with them (provide input, receive output) |
| 21 |
| 22 ## Real-world uses |
| 23 Xterm.js is used in several world-class applications to provide great terminal e
xperiences. |
| 24 |
| 25 - [**SourceLair**](https://www.sourcelair.com/): In-browser IDE that provides it
s users with fully-featured Linux terminals based on xterm.js |
| 26 - [**Microsoft Visual Studio Code**](http://code.visualstudio.com/): Modern, ver
satile and powerful open source code editor that provides an integrated terminal
based on xterm.js |
| 27 |
| 28 Do you use xterm.js in your application as well? Please [open a Pull Request](ht
tps://github.com/sourcelair/xterm.js/pulls) to include it here. We would love to
have it in our list. |
| 29 |
| 30 ## Browser Support |
| 31 |
| 32 Since xterm.js is typically implemented as a developer tool, only modern browser
s are supported officially. Here is a list of the versions we aim to support: |
| 33 |
| 34 - Chrome 48+ |
| 35 - Edge 13+ |
| 36 - Firefox 44+ |
| 37 - Internet Explorer 11+ |
| 38 - Opera 35+ |
| 39 - Safari 8+ |
| 40 |
| 41 Xterm.js works seamlessly in Electron apps and may even work on earlier versions
of the browsers but these are the browsers we strive to keep working. |
| 42 |
| 43 ## Demo |
| 44 |
| 45 To launch the demo simply run: |
| 46 |
| 47 ``` |
| 48 npm install |
| 49 npm start |
| 50 ``` |
| 51 |
| 52 Then open http://0.0.0.0:3000 in a web browser (use http://127.0.0.1:3000 if run
ning under Windows). |
| 53 |
| 54 ## Addons |
| 55 |
| 56 Addons are JavaScript modules that attach functions to the `Terminal` prototype
to extend its functionality. There are a handful available in the main repositor
y in the `addons` directory, you can even write your own (though they may break
when the internals of xterm.js change across versions). |
| 57 |
| 58 To use an addon, just include the JavaScript file after xterm.js and before the
`Terminal` object has been instantiated. The function should then be exposed on
the `Terminal` object: |
| 59 |
| 60 ```html |
| 61 <script src="node_modules/dist/xterm.js"></script> |
| 62 <script src="node_modules/addons/fit/fit.js"></script> |
| 63 ``` |
| 64 |
| 65 ```js |
| 66 var xterm = new Terminal(); |
| 67 // init code... |
| 68 xterm.fit(); |
| 69 ``` |
| 70 |
| 71 ## Releases |
| 72 |
| 73 Xterm.js follows a monthly release cycle roughly. |
| 74 |
| 75 The existing releases are available at this GitHub repo's [Releases](https://git
hub.com/sourcelair/xterm.js/releases), while the roadmap is available as [Milest
ones](https://github.com/sourcelair/xterm.js/milestones). |
| 76 |
| 77 ## Development and Contribution |
| 78 |
| 79 Xterm.js is maintained by [SourceLair](https://www.sourcelair.com/) and a few ex
ternal contributors, but we would love to receive contributions from everyone! |
| 80 |
| 81 To contribute either code, documentation or issues to xterm.js please read the [
Contributing document](CONTRIBUTING.md) before. |
| 82 |
| 83 The development of xterm.js does not require any special tool. All you need is a
n editor that supports JavaScript and a browser (if you would like to run the de
mo you will need Node.js to get all features). |
| 84 |
| 85 It is recommended though to use a development tool that uses xterm.js internally
, to develop for xterm.js. [Eating our own dogfood](https://en.wikipedia.org/wik
i/Eating_your_own_dog_food) has been proved extremely beneficial for this projec
t. Known tools that use xterm.js internally are: |
| 86 |
| 87 #### [SourceLair](https://www.sourcelair.com) |
| 88 |
| 89 Visit https://lair.io/sourcelair/xterm and follow the instructions. All developm
ent will happen in your browser. |
| 90 |
| 91 #### [Visual Studio Code](http://code.visualstudio.com/) |
| 92 |
| 93 [Download Visual Studio Code](http://code.visualstudio.com/Download), clone xter
m.js and you are all set. |
| 94 |
| 95 ## License Agreement |
| 96 |
| 97 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 al
l code is your original work. |
| 98 |
| 99 Copyright (c) 2014-2016, SourceLair, Private Company ([www.sourcelair.com](https
://www.sourcelair.com/home)) (MIT License) |
| 100 |
| 101 Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) |
OLD | NEW |