{"id":18544714,"url":"https://github.com/131/xterm2","last_synced_at":"2025-04-09T19:31:06.893Z","repository":{"id":57402370,"uuid":"66679730","full_name":"131/xterm2","owner":"131","description":"xterm, for the browser","archived":false,"fork":false,"pushed_at":"2016-09-18T08:59:19.000Z","size":1261,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-03T01:33:34.773Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/131.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-26T21:13:45.000Z","updated_at":"2023-07-25T12:37:55.000Z","dependencies_parsed_at":"2022-09-26T17:01:03.699Z","dependency_job_id":null,"html_url":"https://github.com/131/xterm2","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/131%2Fxterm2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/131%2Fxterm2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/131%2Fxterm2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/131%2Fxterm2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/131","download_url":"https://codeload.github.com/131/xterm2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223407794,"owners_count":17140563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T20:17:23.291Z","updated_at":"2024-11-06T20:17:23.981Z","avatar_url":"https://github.com/131.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xterm2\n\nxterm2 is a terminal front-end component written in JavaScript that works in the browser.  \nIt enables applications to provide fully featured terminals to their users and create great development experiences.\n\n\n## Fork(s)\n- This project is a lighweight, ES6 driven, module designed, fork of [xterm.js](https://github.com/sourcelair/xterm.js).\n- xterm.js is a fork of [Christopher Jeffrey term.js](https://github.com/chjj/term.js/)\n- Christopher Jeffrey term.js is a fork from [Fabrice Bellard's javascript vt100 for jslinux](http://bellard.org/jslinux/).\n\n**xterm2 is usable as a drop-in replacement of xterm, is all situation (client side, browserify, electron/nw.js) as it provides the same surface API \u0026 signatures.**\n\n\n## Differences with main project\n* lighweight\n* ES6 based \n* commonJS module design (so node / tests works without transpiling)\n* **sane API**\n* no 'build' system, this is just a library for your application to use\n\n\n* emit('reset') event on terminal reset\n\n## Installation / usage\n\n```\nnpm install xterm2\n# var Terminal = require('xterm2');\n```\n\n\n## Features\n- **Text-based application support**: Use xterm2 to work with applications like `bash`, `git` etc.\n- **Curses-based application support**: Use xterm2 to work with applications like `vim`, `tmux` etc.\n- **Mouse events support**: xterm2 captures mouse events like click and scroll and passes them to the terminal's back-end controlling process\n- **CJK (Chinese, Japanese, Korean) character support**: xterm2 renders CJK characters seamlessly\n- **IME support**: Insert international (including CJK) characters using IME input with your keyboard\n- **Modular, event-based API**: Lets you build addons and themes with ease\n\n## What xterm2 is not\n- xterm2 is not a terminal application that you can download and use on your computer\n- xterm2 is not `bash`. xterm2 can be connected to processes like `bash` and let you interact with them (provide input, receive output), see [demo](https://github.com/131/xterm2)\n\n\n## Real term binding demo\n\nTo launch the demo simply run:\n```\nnpm install\nnpm run demo\n```\nThen open http://localhost:3000/\n\n## Addons\n\nAddons are JavaScript modules that attach functions to the `Terminal` prototype to extend its functionality. There are a handful available in the main repository in the `addons` directory, you can even write your own (though they may break when the internals of xterm2 change across versions).\nSee the demo app for addon-usage sample.\n\n## Todo  / ongoing\n* Slice the internal logic \u0026 code between parser \u0026 terminal\n\n\n## License Agreement\n\nIf 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.\n\nxterm2 Copyright (c) 2016, Francois Leurent (MIT License)  \nxterm.js Copyright (c) 2014-2016, SourceLair, Private Company (MIT License)  \nxterm.js Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F131%2Fxterm2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F131%2Fxterm2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F131%2Fxterm2/lists"}