Commit graph

199 commits

Author SHA1 Message Date
Sam D
af68171528 Fix middle mouse click tab close (#2230) 2019-09-23 19:23:41 +02:00
Zachary Riedlshah
970a98f60b fix: prettier fullscreen for macOS
fixes #5
2019-09-11 04:20:06 +02:00
ArtBIT
72bc73ea76 Fix cols/rows in cursorFrame returned by onCursorMove (#3547)
Fixes #3542
2019-03-27 09:41:28 +01:00
Philippe Potvin
1127e8e7ae
Remove forgoten code (#3510) 2019-03-05 20:29:27 -05: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
b5eb437751 Use config.colors for 16 first ANSI colors 2017-09-05 18:29:37 +02:00
CHaBou
52bb0d9b3d
Fix term background and scrollbar 2017-09-04 21:42:43 +02:00
CHaBou
944f9d7e89
Merge branch 'master' into xterm
* master: (62 commits)
  1.4.3
  Disable ia32 linux releases (#2164)
  Fixed writing composed characters (#2158)
  Doc: Add yarn install to contribute instructions (#2117)
  Change "Close Session" shortcut on Linux/Windows  (#2160)
  Notice for plugins (#2114)
  Updated dependencies to the latest version (#2146)
  1.4.2
  Reverted class names to as they were before (#2139)
  1.4.1
  AppVeyor environment variables are now on the platform (#2137)
  Brought back the icon for closing tabs (#2136)
  Brought back keymap documentation to the website (#2133)
  1.4.0
  Don't build on master, except for releases (#2132)
  Ensured that `async-retry` is added to the bundle (#2131)
  Ensure correct update channel is displayed in About window (#2130)
  Retry loading it if config doesn't exist in auto updater (#2129)
  Write contents of default config to hyper.js (#2128)
  Use a string for setting the update channel (#2127)
  ...
2017-09-03 22:18:43 +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
Leo Lamprecht
0ee4fb6104 Updated dependencies to the latest version (#2146)
* Bumped dependencies to the latest version

* Bumped root lockfile

* Bumped app dependencies

* Fixed linting

* No command line switch needed anymore for native async/await

* Fixed color error

* Bumped Node.js versions for CI

* Downgraded hterm-umdjs

* Try to fix the AppVeyor build

* Made colors work again
2017-08-31 15:20:39 +02:00
Leo Lamprecht
5ceca9e200 Brought back the icon for closing tabs (#2136) 2017-08-30 21:51:45 +02:00
Andy
de8e70f935 Make builds work again and catch squirrel errors on windows (#2078)
* Catch errors for electron-squirrel-startup

* Made builds work again

* linting

* linting
2017-08-13 07:03:35 +02:00
Guillermo Rauch
b302962d44 latest 2017-08-02 12:05:47 -07:00
Andrej Mihaliak
5ec705000f Set line height same as font size (#1841)
fixes cut font on last line
2017-06-16 09:58:49 +02:00
Guillermo Rauch
6a1dcf9ef0 bunch of changes 2017-06-11 13:42:39 +03:00
Philippe Potvin
93b2229ff5 Implements Commands Key mapping (#1876)
Keymaps part 2
2017-06-02 20:03:47 -04:00
Philippe Potvin
0d63360011 wipe contents before \k (#1811) 2017-05-26 18:41:43 +02:00
Billy Shih
ca40869d5a Fix maximize on doubleclick (#1835) 2017-05-19 00:05:56 +02:00
Guillermo Rauch
c491f7d2e1 re-implement clear, make it not buggy, fix CMD+K (#1796) 2017-05-07 14:57:56 -07:00
CHaBou
6f2a77f655 Fix partial TermGroup decoration (#1705)
* Fix TermGroup decoration

* Fix partial getTermGroupProps calls
2017-03-27 12:40:42 -07:00
Matheus Fernandes
237595cec8
Revert "term: specify line-height in px"
This reverts commit b7362d18aa.

Reasoning: https://github.com/zeit/hyper/issues/1630
2017-03-10 14:34:45 -03:00
Guillermo Rauch
dc3b90028b Add perf optimizations (#1541)
* pass `uid` to term

* term: keep track of term instance references

* sessions: remvoe `write` object overhead

* hterm: cache measurement of codepoints for single char strings

* sessions: merge less eagerly when we receive a PTY_DATA action

* store: handle the side effect of writing to the terminal from a middleware

* terms: add terms instance cache

* lint
2017-02-23 08:10:05 -03:00
Henrik
ade9ad39fd add configurable uifontfamily (#1549)
* add configurable uifontfamily

* rm uifontfamily config default

* fix uifontfamily conf default
2017-02-18 00:15:55 -03:00
Guillermo Rauch
21bd2a7bf1 Merge branch 'master' of github.com:zeit/hyper 2017-02-17 21:34:52 -03:00
Guillermo Rauch
b7362d18aa term: specify line-height in px 2017-02-17 21:34:28 -03:00
Henrik
0ee48c9841 add hterm cursor blink support (#1547)
* add hterm cursor blink support

* update website with cursorblink doc
2017-02-17 21:11:23 -03:00
Henrik
368a426b01 fix tab text alignment issue (#1543) 2017-02-17 16:48:56 -03:00
Henrik
600f815dff set select color based on caret color (#1532) 2017-02-16 17:56:20 -03:00
Henrik
78709d93cf add better support for narrow tabs (#1527)
* add better support for narrow tabs

* add title for tabs
2017-02-16 15:41:04 -03:00
Thibaut Tiberghien
172d487055 Fix display of unicode characters (#1376)
* Fix display of unicode characters

* Fix unicode display issues and CJK cursor
2017-02-16 00:59:11 -03:00
Guillermo Rauch
6cda6cad96 Revert "Define widths for BEAM and UNDERLINE cursors (#1389)"
This reverts commit 4a085895e4.
2017-02-15 18:49:49 -03:00
Liudas Dzisevicius
270fe5bef9 [Windows] Add right click copy/paste (#1247)
* Add right click copy/paste

* Add quick edit config option
2017-02-15 17:22:09 -03:00
Stefan Ivic
ed282560fb [UI] Make scrollbar look the same on all platforms (#1442)
* [UI] Make scrollbar look the same on all platforms

Linux suffers from the same issue as other platforms where the scrollbar is that ugly electron style. 
This commit will fix this and make it look the same on all platforms and cut down code.

* linter : Use const instead of let

* naming : make the constant easy to understand

The previous code used a variable to define code specific to the os. 
Since we combined the code for all platforms it is not required anymore, so I changed the name to be more understandable to the person reading the code.

* [UI] Make scrollbar look the same on all platforms

Linux suffers from the same issue as other platforms where the scrollbar is that ugly electron style. 
This commit will fix this and make it look the same on all platforms and cut down code.

* linter : Use const instead of let

* naming : make the constant easy to understand

The previous code used a variable to define code specific to the os. 
Since we combined the code for all platforms it is not required anymore, so I changed the name to be more understandable to the person reading the code.
2017-01-27 23:16:41 -02:00
Louis-André Labadie
4a085895e4 Define widths for BEAM and UNDERLINE cursors (#1389) 2017-01-11 15:53:40 -08:00
Paul Betts
0ff1cb9584 Windows titlebar improvements (#1307)
* Make double-clicking on the titlebar work

* We don't actually need this

* Draw a Restore icon when the window is Maximized

* Update React State when BrowserWindow changes behind our back

* Cleanup

* Don't show the border if the window is maximized

* Fight with the linter
2017-01-10 21:45:49 -08:00