Commit graph

94 commits

Author SHA1 Message Date
ArtBIT
72bc73ea76 Fix cols/rows in cursorFrame returned by onCursorMove (#3547)
Fixes #3542
2019-03-27 09:41:28 +01:00
onecamp
8733ecc84a
Display the renderer type in the About dialog (#3441)
* Now displaying the renderer type in the About dialog

* Show the number of renderers per type in the About dialog

* Use values instead of entries (key is unused)

Co-Authored-By: onecamp <juancampa@gmail.com>
2019-01-24 18:46:39 -05:00
Igor Sadikov
0dc8fb9ed4 Restore termRef to avoid breaking change (#3437) 2019-01-24 16:02:34 -05:00
onecamp
fa2c9d6423
Verify that webgl2 is supported before using it (#3435)
* Verify that webgl2 is supported before using it

* First check if WebGLRenderingContext exists at all

* Move webgl warnings to getTermOptions
2019-01-24 14:22:53 -05:00
onecamp
519ca3e651
Fix webgl config (#3407)
* Fix location of webGLRenderer flag in default-config.js

* Fix incorrect check of webGLRenderer flag

* Explain that disabling WebGL enables transparent backgrounds

Co-Authored-By: juancampa <juancampa@gmail.com>

* Only use WebGL if background is opaque

The hardcoding to white was also removed in favor of a temporary hack in
xterm.js that uses either white-over-black or black-overwhite to
maximize contrast with the background color
2019-01-21 19:09:18 -05:00
Igor Sadikov
ea3e109fbb Fix and simplify resize handling using ResizeObserver (#3411) 2019-01-21 20:34:23 +01:00
Igor Sadikov
3881703e01 Fix xterm.js resource leaks in split pane (#3409) 2019-01-18 23:58:09 +01:00
CHaBou
b709a3a971
Add macOptionSelectionMode option (#3406)
Two possible value: 
* `'vertical'` (Default): enable column selection when Option key is hold
* `'force'`: force selection regardless of whether the terminal is in mouse events mode
2019-01-11 14:31:11 +01:00
Umberto Lentini
ba93421933 Fixed file paste (#3383)
Fixes #3340
2019-01-06 15:55:16 +01:00
Juan Campa
7a40fd7c97 WebGL renderer (using xterm.js fork) (#3368)
* Enabling webGL renderer

* Use @zeit/xterm fork of xterm

* Adding webGLRenderer config

* Fix linting issues

* Allow for hot-reloading of webGLRenderer

* Adding link to WebGL renderer issue we're working around

* Using NPM tarball instead of resolutions (which wasn't working

* Hard-coding selection color to white because nothing else is yet supported
2018-12-28 14:42:05 -08:00
CHaBou
6fc24376a2
Fix onCursorMove Term handler (#3330)
Fixes #3317
2018-12-15 22:30:58 +01:00
CHaBou
f3a2f0211d Update xterm to v3.8.0 (#3255) 2018-12-06 15:56:29 -08:00
Jarid Margolin
28f778037b Add scrollback option to config (#3038) 2018-05-29 12:11:21 +02:00
Ricardo Amaral
a14c55640c Add letter spacing configuration option (#3002) 2018-05-10 12:54:00 +02:00
Brad Dougherty
bba14f6324 Add line height config (#2858)
Fixes #2858
2018-04-21 00:22:34 +02:00
CHaBou
f40e32358d
Use xterm winptyCompat addon (#2811)
See https://github.com/xtermjs/xterm.js/pull/1096
2018-04-05 23:53:21 +02:00
CHaBou
f5d48ee38a
Use xterm webLinks addon (#2810)
Fixes #2809
2018-04-05 22:45:18 +02:00
CHaBou
984922d046
Fix Term theme hot reloading (#2771) 2018-03-22 20:59:07 +01:00
CHaBou
269bb8e65f
Improve rendering performance of chars with background (#2769)
Integrate https://github.com/xtermjs/xterm.js/pull/1327 (7c3a30f239)

Fixes #2592
2018-03-18 01:19:26 +01:00
Timothy
20173f0e86 Migrate styling to styled-jsx (#2761)
Fixes #2737
2018-03-17 13:51:36 +01:00
CHaBou
137db6cdd9
Subpixel with opaque background color 2018-02-18 13:28:26 +01:00
CHaBou
b73a328b6b Add fontWeight and fontWeightBold settings (#2669)
Fixes #2574
2018-02-14 14:09:02 +01:00
CHaBou
887fb5ac1a
Focus term if needed when restoring (#2658)
* Focus term if needed when restoring

* Fix Tab component warnings
2018-02-03 17:00:30 +01:00
CHaBou
f4e32eee49
Cursor api (#2629)
* Add onCursorMove API on Term
2018-01-22 18:12:03 +01:00
CHaBou
87d4c2b37e Fix selectAll command (#2436)
* Fix selectAll command

* Fix typo
2018-01-21 12:21:16 +01:00
Saad Malik
24587b2780 Mac: altIsMeta support (#2623)
* Reimplement altIsMeta supprt with new xterm library

* Update xterm fork to use xtermjs/xterm.js@616958e

* Use node 8 in travis, needed by source-map@0.7.0
2018-01-21 10:19:27 +01:00
CHaBou
f547f0299d Revert "Fix initial cursor blinking (#2614)" (#2617)
* Revert "Fix initial cursor blinking (#2614)"

This reverts commit 88c7b536a4.

* Use 3.0.2 xterm fork
2018-01-17 13:47:35 +01:00
CHaBou
88c7b536a4 Fix initial cursor blinking (#2614)
* Fix initial cursor blinking

This is a workaround for https://github.com/xtermjs/xterm.js/issues/1194

Fixes #2596

* Add related issue comment
2018-01-16 15:44:29 +01:00
Benjamin Woodruff
ac5c14adca Use xterm.js's fit addon when calling fitResize (#2594)
xterm.js doesn't use `this.term.charMeasure.width` when rendering. It
actually uses:

`Math.floor(this._terminal.charMeasure.width * window.devicePixelRatio)`

This is important, because character widths may be non-integer values,
which means that we can end up with an empty space on the right side of
the terminal window.

Instead of trying to match xterm's behavior, it's probably better if we
just use xterm's `fit` addon. This seems to behave better for me.

We might not want to land this as-is, becuase this addon forces an
annoying hard-coded 17px margin on the right side to compensate for a
scrollbar (see xtermjs/xterm.js#400), but at least for my use-cases,
this is still better than it was.
2018-01-15 18:36:02 +01:00
CHaBou
dd780e6fe7
Xterm v3 integration (#2573) 2018-01-09 17:33:24 +01:00
Daniel Imms
7be41e1e28 Use public API to remove xterm listeners (#2543) 2017-12-16 19:06:02 +01:00
Daniel Imms
421847315d Remove second open arg (#2544)
This was removed in xterm@3, see xtermjs/xterm.js#646
2017-12-11 17:17:01 -05:00
Daniel Imms
15a7e6ad9b Don't use open event on xterm (#2542) 2017-12-11 22:33:03 +01:00
CHaBou
2002baf39c Protect against Reload (#2433) 2017-11-06 12:26:56 +00:00
Derrick Pelletier
81c5829e1b quickEdit support (#2392) 2017-11-03 23:01:21 +01:00
CHaBou
2af575c3c0 Multiple keymaps and mousetrap (#2412)
* WIP

* WIP

* Wip

* Wip

* wip

* Refactor without normalize and plugin

* Replace extendKeymaps by decorateKeymaps

* WIP

* Add mousetrap

* Add first command over rpc

* More commands

* Add all commands

* Begin to hook commands

* Working multiple keymaps

* Use redux action to trigger command

* Use forked version of Mousetrap to capture key events

* Fix lint

* Add command in redux action to debug purpose

* ExecCommand from menu click

* Remove unused files

* Fix xterm should ignore catched events

* Re-enable IntelliSense checking

* Remove unused runes dep
2017-11-02 19:51:18 -07:00
Theodore Dubois
95f52e20e1 Fix typo (#2418) 2017-11-01 21:31:44 +00:00
Derrick Pelletier
0b57dc4158 copyOnSelect support in canary (#2390) 2017-10-25 00:06:46 +02:00
Derrick Pelletier
280f14e239 Pasting a copied file or dir provides full path to resource (#2364)
* Added a utility for processing clipboard data

* using paste processing utility in term component to expand filepath

* removed linux case

* moved active tab to guard so only process when active

* commenting paste event handler for clarity
2017-10-22 23:16:52 +02:00
CHaBou
7f1baff5e1 Fix keyboard event handling (#2331)
Implement Mousetrap-like keyboard handling
2017-10-05 20:40:02 +02:00
Guillermo Rauch
8283ce6825 add BC getTermDocument and a note about deprecation 2017-09-25 14:46:53 +02:00
Guillermo Rauch
de69aab095 Fixed broken resizing (#2273)
* simplify and fix resizing

* don't lint built bundles

* bump eslint
2017-09-24 12:06:17 +02:00
CHaBou
14036e9094
Clean out old code 2017-09-18 22:20:34 +02:00
CHaBou
46173019cd
Prevent xterm to emit focus event twice 2017-09-18 22:13:45 +02:00
CHaBou
f8366d010d
Upgrade React to v16
* Introduce 2 base components: Component and PureComponent. Before, we have only PureComponent but it was impossible to add a shoulComponentUpdate method (used for Terms).
2017-09-16 21:21:50 +02:00
CHaBou
1155bb54b1
Add prettier and resolve all lint errors 2017-09-10 16:04:13 +02:00
CHaBou
c91c025edd
Fix horizontal split and term resize 2017-09-09 13:42:19 +02:00
CHaBou
b656bba285 real xterm and keymap (#1983)
* Use real xterm and intercept shortcuts

* Update xterm.css for selection feature
2017-09-03 21:15:33 +02:00
Guillermo Rauch
b302962d44 latest 2017-08-02 12:05:47 -07:00
Guillermo Rauch
6a1dcf9ef0 bunch of changes 2017-06-11 13:42:39 +03:00