Commit graph

328 commits

Author SHA1 Message Date
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
Jakub Chatrný
a3db3670be Add div wrappers around window controls svg elements (#3392)
Fixes #3372
2019-01-06 15:53:10 +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
Juan Campa
dd68286c5f Upgrade Electron to v4 (#3329)
* Bumping electron to 3.0.10

* Updating node version in travis and appveyor

* Fixing incorrect require of electron-fetch

* Fix zoom to match previous versions

Additionally I'm removing a call to disable pinch-zoom, it's disable by
default since Electron 2 (https://electronjs.org/releases#2.0.0)

* Bumping electron to 4.0.0-beta.8

* Bumping electron to 4.0.0-beta.9

* Work around for Copy accelerator not firing on electron v4

* Fixing header/titlebar in MacOS

* Upgrading to electron 4.0.0 and node-pty 0.8.0

* Adding yarn.lock changes for electron 4.0.0

* Adding comments for editor:copy workaround. Scaling issue is only on Linux

* Upgrading node-abi to support electron 4.0.0

* popup now takes an object as input
2018-12-25 18:15:25 -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
Prashant Andani
436c37e89e Code cleanup (#3131) 2018-10-13 16:35:51 +02:00
CHaBou
bc6101e98f
Fix module hijacking (#3067)
Regression was introduced by #2866. Release version of Hyper failed to start.
2018-06-11 08:43:57 +02:00
Jarid Margolin
28f778037b Add scrollback option to config (#3038) 2018-05-29 12:11:21 +02:00
Jiahao Lu
16f163daf3 Adjust clickable region of control buttons (#3017)
On Windows, the close button (rather than the border) is expected to be hit when someone clicks the top-right corner of the screen if a window is maximized.
2018-05-23 22:59:19 +02:00
Timo Welde
f75895a176 Fix plugin module hijacking on main process (#2866)
Fixes some plugin loading (like hyperline)
2018-05-15 15:58:36 +02:00
CHaBou
0199c44915
Fix double action on keymap after a reload (#3006)
Fixes #3004
2018-05-12 15:39:51 +02:00
Ricardo Amaral
a14c55640c Add letter spacing configuration option (#3002) 2018-05-10 12:54:00 +02:00
Sonny
f64e3e0204 Adding ability to send error object to notify() (#2955) 2018-05-02 10:10:44 +02:00
Brad Dougherty
bba14f6324 Add line height config (#2858)
Fixes #2858
2018-04-21 00:22:34 +02:00
Timothy
b680b9e02e Improve update notification contrast (#2791) 2018-04-20 17:03: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
f6a1ba114a Make SESSION_REQUEST/TERM_GROUP_REQUEST hackable (#2777)
`cwd` should be lazy evaluated to let plugins override it
2018-03-21 12:40:56 +01:00
CHaBou
dc33d4846b
Fix color configuration with an array (#2729)
Fixes #2728
2018-03-21 10:00:29 +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
Ben Creasy
7838a10d1a Set showHamburgerMenu enabled by default on Linux (#2666) 2018-03-18 00:59:25 +01:00
CHaBou
429710328a
Integrate xterm v3.2 (#2768)
* Add xterm3.2

Fixes #2751
2018-03-18 00:24:26 +01:00
Timothy
20173f0e86 Migrate styling to styled-jsx (#2761)
Fixes #2737
2018-03-17 13:51:36 +01:00
Lescenco Andrei Bogdan
82c7afbeec Reset splits either side of a divider to an even ratio on double click of the divider #2687 (#2692)
* auto resize panes when dbl click on separator is triggered

* use const instead of let
2018-02-23 12:31:18 +00:00
CHaBou
137db6cdd9
Subpixel with opaque background color 2018-02-18 13:28:26 +01:00
CHaBou
8ebdaebdfa Change default colors (#2670) 2018-02-14 14:09:26 +01:00
CHaBou
b73a328b6b Add fontWeight and fontWeightBold settings (#2669)
Fixes #2574
2018-02-14 14:09:02 +01:00
Cyril Damas
0105d6baf2 Add ssh url scheme handling (#2516) 2018-02-12 21:20:45 +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
Philippe Potvin
dc3155f190
Fix update notification link (#2637)
* distinct urlTags vs notes

* lint fix
2018-01-24 13:23:06 -05: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
Benjamin Staneck
9df56a7fe0 Update electron to v1.7.10 and other dependencies (#2583)
* Update electron to v1.7.10

Changelog: https://github.com/electron/electron/releases/tag/v1.7.10

* Update yarn-standalone.js to v1.3.2

Changelog: https://github.com/yarnpkg/yarn/releases/tag/v1.3.2

* Update various dependencies

* update electron-builder, electron-rebuild and prettier

* Use the recommended way to install yarn on travis

See https://yarnpkg.com/lang/en/docs/install-ci/#travis-tab
2018-01-21 10:21:41 +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
97fe79bda4
Put offscreen terms far far away (#2619) 2018-01-17 23:24:10 +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
CHaBou
f56ea10fb0 Fix offscreen term size calculation (#2612)
* Fix offscreen term size calculation

* Use positioning rather than opacity
2018-01-15 23:22:54 +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
Renato Campos
cb8b72a319 Added keymap to rebind the 'break' command - Issue #2432 (#2531)
* fixed documentation of roleCommands

* Added keymap for break/interrupt command

* added break keymap for linux and darwin

* fixed lint errors
2017-12-18 17:17:20 +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
1e6acfc109 Fix color for char under focused BLOCK cursor (#2521) 2017-12-04 22:28:40 +01:00
Albin Ekblom
da10f01a00 Fixed the cursor's color (#2520)
* 🐛 Fix underline cursor color

* 🐛 Fix unfocused box when cursor is underline

* 🐛 Fix BAR color and make BAR and UNDERLINE transparent when not in focus

* 🐛 Bring back the box when unfocused

* 🐛 Add cursorColor to unfocused underline and bar
2017-12-04 22:15:45 +01:00
CHaBou
1fbc85760b
Use same hazel endpoint to notify update to Linux users (#2497)
Add a pseudo auto-updater for Linux

Fixes #2476
2017-11-29 14:26:24 +01:00
CHaBou
d148c486f5
Load/Unload theme without restarting (#2458) 2017-11-29 14:22:29 +01:00
CHaBou
81709073cf
Keymaps are now updated without restarting (#2455)
* Reload keymaps without restarting

* Reattach key listeners when config have changed
2017-11-15 00:55:21 +01:00
CHaBou
8ce71b9d88
Fix component decoration in renderer (#2454)
* Fix decorateNotification

* Fix typo

* Fix plugin decoration in renderer
2017-11-13 16:02:49 +01:00
CHaBou
0f4c41f89a
Fix cursorShape propagation (#2437)
Fixes #2248
2017-11-08 22:24:32 +01:00
CHaBou
3a3ee013f7
Enhance plugin installation (#2440) 2017-11-08 22:24:15 +01:00
CHaBou
97308bd8e5 Add shell alias commands (#2426) 2017-11-06 20:27:25 +00:00
CHaBou
2002baf39c Protect against Reload (#2433) 2017-11-06 12:26:56 +00:00
Benjamin Staneck
8fc75b15ff Unify wording and spelling in config and other places (#2422) 2017-11-04 23:19:02 +01:00
Derrick Pelletier
81c5829e1b quickEdit support (#2392) 2017-11-03 23:01:21 +01:00
Ricky Miller
62e29effbf Add context menu (#2001) 2017-11-03 21:24:41 +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
Benjamin Staneck
f8bc2884b7 Update dependencies (#2416) 2017-11-01 14:44:43 +01:00
KevinRLeC
0dd18ba5b3 Removing call to undefined function on resize (#2396) 2017-10-25 22:10:45 +02: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
Evan
e29651bbe3 Fix typo in comment (#2383)
Pointless typo fix
2017-10-21 21:56:41 +02:00
CHaBou
9c9a307958
Merge branch 'master' into canary 2017-10-05 20:49:20 +02:00
CHaBou
7f1baff5e1 Fix keyboard event handling (#2331)
Implement Mousetrap-like keyboard handling
2017-10-05 20:40:02 +02:00
CHaBou
bcf1157b37 Add new keymaps to jump between tabs (#2330) 2017-10-05 20:39:39 +02:00
CHaBou
d3a015466a Move Date.now() into actions to have pure reducers (#2324)
Reducers shouldn't have side effect. Date.now() is a side effect and should be done in action creators.
2017-10-04 00:18:55 +02:00
Nelson Henrique
8eb4541eea fix single tab title (#2289)
* fix single tab title

* fix single tab margin/padding
2017-10-02 16:49:05 +01:00
Guillermo Rauch
8283ce6825 add BC getTermDocument and a note about deprecation 2017-09-25 14:46:53 +02:00
Guillermo Rauch
19f53550ea pty data events related perf improvements 2017-09-25 14:44:43 +02:00
Guillermo Rauch
5ab064ff64 remove outdate comment 2017-09-25 14:31:21 +02:00
Guillermo Rauch
0ed146c7d9 remove redux logger since it slows down pty events in development 2017-09-25 14:00:27 +02:00
Guillermo Rauch
57cb32de7e avoid double requestAnimationFrame loop since xterm already has one 2017-09-25 14:00:11 +02:00
Guillermo Rauch
b775e23c3c Revert "improve writing performance by avoiding redux for pty events"
This reverts commit 44dfb0faf8.
2017-09-25 13:55:04 +02:00
Guillermo Rauch
44dfb0faf8 improve writing performance by avoiding redux for pty events 2017-09-25 00:48:52 +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
d3cd9aee00
Merge branch 'master' into canary 2017-09-20 01:39:55 +02:00
Wilson Tayar
4c71c99325 Normalize keymap internals (#2227)
Fix #2195: normalizing keybindings using localeCompare to include non english keyboards as well
2017-09-20 01:36:06 +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
f8c19b0ef2
Merge branch 'master' into v2 2017-09-17 23:08:33 +02:00
CHaBou
e0d793eeeb Revert "Normalize keymap internals" (#2225)
This reverts commit 751c06e437.
2017-09-17 21:53:37 +01:00
CHaBou
7733067deb
Merge branch 'master' into v2 2017-09-17 10:48:16 +02:00
Wilson Tayar
751c06e437 Normalize keymap internals (#2210)
Fix #2195
2017-09-17 10:43:58 +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
9bd410f1e4
Make Hyper more robust against plugins
* Add some try/catch
* Support React@16 error boundaries for render decorated components
2017-09-13 22:55:54 +02:00
CHaBou
3e632577e5
Merge branch 'master' into xterm-linted
* master:
  Fix yarn.lock (#2194)
  Fix for keymapping bug on Linux and Windows (#2189)
  Set session CWD only if there is an active session (#2191)
  Upgrade Electron to v1.7.6 (#2193)
  Fix plugin path in dev mode (#2192)
2017-09-11 23:14:13 +02:00
Harrison Harnisch
b5f06759ee Set session CWD only if there is an active session (#2191) 2017-09-11 15:06:44 +02:00
CHaBou
1155bb54b1
Add prettier and resolve all lint errors 2017-09-10 16:04:13 +02:00
CHaBou
a9bb9b697b
Add depreaction warning for hterm css
* Notify user when its config conatins deprecated CSS classes
* Add warning in devtools console about plugins using deprecated classes
2017-09-10 11:35:39 +02:00
CHaBou
c91c025edd
Fix horizontal split and term resize 2017-09-09 13:42:19 +02:00