Commit graph

404 commits

Author SHA1 Message Date
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
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
CHaBou
a348185cc5 Fixed writing composed characters (#2158)
Fixes #2140
2017-09-03 18:06:12 +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
Adam Bosco
d9dc415eff Normalize shell name before selecting URL-matching regex (#2070) 2017-08-10 10:45:02 -04:00
Guillermo Rauch
b302962d44 latest 2017-08-02 12:05:47 -07:00
CHaBou
db35faa431 Show plugin (name and version) loaded (#1826)
* Print plugin name and version in devtools
* Add plugins informations in About dialog
2017-06-19 23:02:53 +02: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
Albin Ekblom
0bf10f3768 Escape parentheses for dropped files/folders (#1935)
* Escape parentheses for dropped files/folders

Fixes #1933

* Cleanup regex

* Wrap dropped path in single-quote

* Escape single quote inside single quote

* Handle escaping with current shell

* Cleanup escape
2017-06-14 09:12:03 -07:00
Guillermo Rauch
6a1dcf9ef0 bunch of changes 2017-06-11 13:42:39 +03:00
Benjamin Staneck
b609366d76 Replace react-addons-pure-render-mixin by React.PureComponent (#1902)
react-addons-pure-render-mixin is deprecated so use React.PureComponent instead

* https://www.npmjs.com/package/react-addons-pure-render-mixin
* https://facebook.github.io/react/docs/react-api.html#react.purecomponent
2017-06-03 10:31:09 +02:00
Philippe Potvin
93b2229ff5 Implements Commands Key mapping (#1876)
Keymaps part 2
2017-06-02 20:03:47 -04:00
Benjamin Staneck
342580e730 Account for redux-logger 3.0 change (#1898) 2017-06-02 17:43:47 +02:00
Albin Ekblom
216c475c2b Use native Object.values()` (#1880) 2017-05-27 23:42:42 -04:00
Albin Ekblom
af43bbbfed Proxy ReactDOM for plugins (#1878)
* Proxy ReactDOM for plugins

* Update Module._load comment
2017-05-27 15:37:41 -04:00
Philippe Potvin
0d63360011 wipe contents before \k (#1811) 2017-05-26 18:41:43 +02:00
Guillermo Rauch
edd8667801 Revert "Fix unicode display: CJK, powerline, tmux (#1536)" (#1847)
This reverts commit 687df4ed06.
2017-05-19 16:52:36 -07:00
Thibaut Tiberghien
687df4ed06 Fix unicode display: CJK, powerline, tmux (#1536)
* Fix unicode display with braille compatibility

* Remove duplicated styling

* Clean up changes, fix CJK display only

* Remove exising hterm overides for unicode

* Add insertString override (no changes)

* Wrap unicode chars in individual spans

* fix linting

* Fix unicode encapsulation

* Fix multiple rendering of wide chars
2017-05-19 16:48:12 -07:00
Billy Shih
ca40869d5a Fix maximize on doubleclick (#1835) 2017-05-19 00:05:56 +02:00
Albin Ekblom
eeaf4be151 🔥 Cleanup call of php-escape-shell (#1821) 2017-05-13 10:19:03 -04:00
CHaBou
00693de12e Open Hyper config in the native desktop's default manner (#1784) 2017-05-08 20:00:58 -07:00
Guillermo Rauch
c491f7d2e1 re-implement clear, make it not buggy, fix CMD+K (#1796) 2017-05-07 14:57:56 -07:00
Zsolt Dollenstein
af21493e2b check for null/undefined session in addSessionData (#1698)
* check for null/undefined session in addSessionData

* Update sessions.js
2017-04-28 20:40:32 -04:00
CHaBou
f3594b3b14 Add displayName for each plugin HOC (#1735) 2017-04-12 11:22:51 -07:00
CHaBou
7a64c9ee8a Add onDecorated property to decorated components (#1680) 2017-03-27 17:07:55 -07:00
CHaBou
6f2a77f655 Fix partial TermGroup decoration (#1705)
* Fix TermGroup decoration

* Fix partial getTermGroupProps calls
2017-03-27 12:40:42 -07:00
Henrik
4ea3445464 add custom inner children (#1621) 2017-03-18 16:10:31 -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
Henrik
3793adabb5 fix echo issue in config pref (#1633)
* fix echo issue in config pref

* fix spacing inconsitency
2017-03-10 14:29:42 -03:00
Stefan Ivic
36f96abb1d windows: fix editing preferences on bash (#1571)
* windows: fix editing preferences on bash

* linter: fix the linting error

* cleanCode : move the code to a function

* cleanCode: move the constants to the function

* clean: remove unnecessary eslint comment

* clean: use platform instead of defining it
2017-02-24 20:50:20 -08: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
Guillermo Rauch
8ec362652c Merge branch 'master' of github.com:zeit/hyper 2017-02-18 00:56:01 -03:00
Guillermo Rauch
9f9da68408 use string based RPC for data events for better perf 2017-02-18 00:55:48 -03:00
Henrik
7a8591bfaf fix uifontfamily reducer (#1550) 2017-02-18 00:37:42 -03:00
Guillermo Rauch
361db6190e avoid layout recalculation upon scrollport resize 2017-02-18 00:27:29 -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
Guillermo Rauch
27cf69fea3 Revert "fix for line-height that makes emojis be perfectly aligned with text"
This reverts commit 19907ff8e0.
2017-02-17 17:21:55 -03:00
Guillermo Rauch
19907ff8e0 fix for line-height that makes emojis be perfectly aligned with text 2017-02-17 17:17:01 -03:00
Henrik
368a426b01 fix tab text alignment issue (#1543) 2017-02-17 16:48:56 -03:00
Guillermo Rauch
fe6e2977bd 8 times faster matching of enter key within incoming pty data
https://jsperf.com/exec-vs-match-vs-test-vs-search/5
2017-02-17 02:47:09 -03:00
Guillermo Rauch
75b37b7690 Merge branch 'master' of github.com:zeit/hyper 2017-02-17 02:43:05 -03:00
Guillermo Rauch
414503d63b add comment about optimization 2017-02-17 02:42:44 -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
CHaBou
75b5eb7d3f Fix replaceParent reducer on termgroup exit (#1494) 2017-02-16 14:24:35 -03:00
Martin van Driel
ada6807969 Fix xo linting errors (#1521) 2017-02-16 14:22:27 -03:00
Guillermo Rauch
2e58e568d6 @tibotiber unfortunately I have to undo this line because it was breaking vtop and braille characters 2017-02-16 02:16:59 -03:00
Guillermo Rauch
95141ac537 debounce session data events based on request animation frame 2017-02-16 02:16:41 -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
Matheus Fernandes
6842e8500a
Make quickEdit true by default on Windows 2017-02-15 18:51:13 -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
Matheus Fernandes
d4c1d08701 Revert "Open Preferences in Default JS Editor on Windows" (#1510) 2017-02-15 12:12:48 -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
Matheus Fernandes
b4943a05e9 🐛 Fix copy/paste shortcuts on Windows/Linux 🎉 (#1406) 2017-01-18 13:19:11 -02:00
Matheus Fernandes
232295a195 Add the cwd to the redux state (#1412) 2017-01-15 14:40:47 -08:00
Matheus Fernandes
f8d5dcd060
🐛 Fix a regression from the previous commit and a comment 2017-01-14 18:12:08 -02:00
Matheus Fernandes
e5c076e82f
🐛 Focus the current tab after switch from a new one – closes #1273 2017-01-14 17:56:18 -02:00
Louis-André Labadie
4a085895e4 Define widths for BEAM and UNDERLINE cursors (#1389) 2017-01-11 15:53:40 -08:00
Jon Galloway
6a9b3f74c5 Open Preferences in Default JS Editor on Windows (#1138)
* Open Preferences in Wordpad on Windows

Notepad doesn't handle `\n` line breaks, Wordpad does. 

Fixes #1126.

* Update: Use Win editor from reg

If not found, or set to notepad.exe (which can't handle line breaks), show hyper.js config file in folder so user can open in editor of their choice.

* Fixes for Windows

Fixed shell reference, corrected lint errors.

* Fixes for Windows

Fixed shell reference, corrected lint errors.

* Fixes for Windows

Fixed shell reference, corrected lint errors.

* Always show .hyper.js in folder for prefs

* Always show .hyper.js in folder for prefs

* Fixed electron import
2017-01-10 21:49:32 -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
Albin Ekblom
95e98006c0 Cleanup getWindowHeaderConfig (#1378) 2017-01-10 14:05:19 -08:00
Guillermo Rauch
12ae25a60b 20% faster bootup time (#1350)
* bump webpack, babel and include babili

* fix for babili

* add heuristics for faster v8 parsing

* lint fixes

* fix windows build. infinitely grateful to @stefanivic for helping us test windows
2017-01-09 13:32:15 -08:00
Guillermo Rauch
74df6920e9 fix decoding race condition with new terminal sessions (#1366) 2017-01-09 16:05:44 -02:00
Gabriel Peña
ed990d473b Scrollbar Fix on Mac. Fixes issue #100 (#1354)
* Fix Scrollbar appearance on webkit mac

* fix linting issues
2017-01-07 17:50:00 -08:00
chabou
1b6d925524 Prevent loosing focus after a char composition ended by Tab key. Fix #1341 (#1349) 2017-01-06 17:46:54 -08:00
Tim Neutkens
f6eaef9457 Expose decorate to plugins (#1261) 2016-12-31 20:26:10 -08:00
Vitaly Domnikov
5a164d0a1d fix line height layout (#1322) 2016-12-29 19:19:16 -08:00
Theodore Dubois
ccf818de5a Add support for cursor styles 5 and 6 to hterm (#1286)
This fixes #270, cursor shape changing in Neovim.
2016-12-24 10:29:52 -08:00
Philippe Potvin
c7f195ba01 Fix ctrl+c to close WebView 🍾 (#1287)
* rm hyperCaretFocus => prevent callstask

* keep caret component
2016-12-21 07:19:41 -08:00
Philippe Potvin
b2f67c73e4 Fix url interpretation (#1259)
* Fix url interpretation

* update regex
2016-12-17 14:17:58 -08:00
Vitaly Domnikov
25fcf3a6a4 Update terminal clear method (#1239) 2016-12-15 17:48:47 -08:00
Vitaly Domnikov
38909e3f16 fix COMMAND-K (#1235) 2016-12-15 13:45:48 -08:00
Philippe Potvin
4943e4a2f8 Fix key focus (#1218) 2016-12-15 11:08:36 -05:00
Kevin Ramsunder
63ab44778b Do not match extra '.' symbol in domain regex (#1216) 2016-12-14 19:21:22 -05:00
Vitaly Domnikov
d6316dd209 🚀 Performance tuning & bugfix (#1111)
* Perfomance tuning

* cleanup matchesContainer method

* fixes #1131
2016-12-14 11:18:15 -08:00
David Barsky
16976bb60d added corner radius to component/notification.js (#889) 2016-12-12 22:38:19 +01:00
Vitaly Domnikov
4264493147 Increase x-row line height (#1107) 2016-12-09 20:35:29 -05:00
Tim Neutkens
34da7d0a60 Don't focus on caret when using modifier keys (#1106)
* Don't focus on caret when using modifier keys

* Removed trailing space
2016-12-09 17:03:03 -02:00
Philippe Potvin
a45fb97283 cmd+A work again (#1102) 2016-12-08 21:09:02 -02:00
Vitaly Domnikov
59a3583028 unicode magic (#1098) 2016-12-08 18:44:25 -02:00
Vitaly Domnikov
aa410812a5 unicode fix (#1018) 2016-12-07 08:17:22 -08:00
Philippe Potvin
d459112676 Add missing param (#1090) 2016-12-06 01:35:40 -02:00
Matheus Fernandes
6508d05e5f
Fix a regression introduced by #1058
Such regression broke the character composition/paste on macOS
2016-12-02 11:22:25 -02:00
Matheus Fernandes
be286c0d5a Fix keyboard shortcuts on Linux and Windows (#1058)
* `command` => `mod`

* `Option` => `Alt`

* Allow hterm to consume a keyboard event only if it's not a Hyper accelerator

* Remove `console.log`s

* Say no to bikeshedding

* We already clear the selection on `onKeyDown`

* Add comments

* Remove meaningless comment

* Add fullscreen shortcut for Windows and Linux

* Use the accelerators defined in `accelerators.js` for the app menu
2016-11-30 15:19:45 -05:00
Matheus Fernandes
31721e5c29
Use the correct EOL character based on the current OS 2016-11-22 09:48:40 -02:00
Matheus Fernandes
d34765faa6
Remove duplicated message and add a missing one 2016-11-22 09:48:17 -02:00
Tim Neutkens
cd47cc7636 Allow require of plugin apis (#977)
* Allow require of plugin apis

* missing semicolon
2016-11-19 18:18:07 -02:00
Weslley Araujo
47f01f92e4 Add an active class on current session panel (#905)
* feat(session): add session_active class to panels

* fix(active-session): rename active session class

see #905

* fix(active-session): rename prop name to `isTermActive`
2016-11-19 18:05:48 -02:00
Levin Rickert
638725fea6 Added pressed state to window buttons on windows / linux (#985)
* Added pressed state to window buttons on windows / linux

* Removed transition causing flicker

* Do not reset color on close button while not hovering but active
2016-11-19 18:05:53 +00:00
Stefan Ivic
b988befea4 [Win] Improve design of the scrollbars (#982)
* [Win] Improve the design of the scrollbars

* Fix code style

* Apply `borderColor` as the `backgroundColor` for the scroll bars
2016-11-19 15:51:01 -02:00
Matheus Fernandes
271a221979
Fix character escaping in the open preferences message 2016-11-18 09:07:34 -02:00
Benoit Averty
da4858a76e Unicode Support / Cursor issues Fix (#740)
* Add container with a fixed width around unicode characters

* Make container width dynamic and fix wide chars clipping issue

* Finer control on the creation of containers for text inserted in the terminal
2016-11-17 17:12:23 -08:00
Matheus Fernandes
27a20e0cfc Add support for composed chars and fix issues with "foreign" keyboard layouts (#1006)
* ime

* Fix code style

* Add visual feedback for composition events

* Temporarily disable `hterm`'s `onKeyDown` hacks

* Replicate the focus/blur state of our caret on the `hterm` caret

* Fix: focus our caret when there's a tab change

* `caret_` => `hyperCaret`

* Reorg: move the caret hacks to the `hterm.js` extensions

* Remove `console.log`

* Remove the `Dead key` hack and reenable keyboard commands

* Add a (temporary?) fix to re-enable text selection

* Check for a selection `onMouseUp` instead `onFocus`

* Fix wrong buggy hterm's cursor styling on term focus/blur

* Fix the cursor style after the bell rings – closes #674

* Enable `acceptFirstMouse` to focus the correct term – closes #861

* Fix code style

* Fix: clear the `hyper-caret` when a char is inserted via the IME dialog

* Remove useless function

* Add coments regarding text selection

* Fix code style
2016-11-16 10:44:04 -08:00
Matheus Fernandes
9c90e19760 Add Windows support and first-class Linux support (#946)
* `child_pty` => `pty.js`

* Create a frameless window on Windows and Linux

* Add a brand new UI for Linux and Windows 💅

* [Windows] Fix plugin installation

* [Windows] Fix the `build` script

* [Windows] Add a bigger `icon.ico`

* [Mac] Add `WebKitAppRegion: drag` when running on macOS

* Fix code style 🤔

* Add `appveyor.yml`

* Fix code style (again)

* [Windows] Fix AppVeyor's `install` script

* [Windows] Try a new AppVeyor config

* [Windows] Set the binary path so Spectron can run the tests

* [Windows] Try to build on x64

* Try again to build on x64

* Try one more time 😩

* Throw an error to indicate that `pty.js` was built incorrectly

* [Win/Linux] Add `display: hidden` to <Tabs /> if tabs.length === 1

* [Win/Linux] Reorganize SVGs – via @CodeTheory

* [Win/Linux] Fix the hamburger menu height

* Make the SVGs look better with `shape-rendering: crispEdges;`

* [Win/Linux] Add config options for the window controls and the 🍔 menu

* Add `electron-squirrel-startup` dependency

* [Win] Handle Squirrel commands

* [Win/Linux] Fix default color for the 🍔 and window controls – via @CodeTheory

* [Win/Linux] Add some padding - via @CodeTheory

* [Win/Linux] Add hover states – via @CodeTheory

* [Win] Fix empty window/tab titles

* [Win] Fix opening Preferences (#978)

* [Win] Fix opening Preferences

* Update ui.js

* Update ui.js

* Enhance messages and default editor

* [Win] Add dependency instructions to the README.md [skip ci]

* Fix code style

* [Win/Linux] Check the number of open windows before quitting the app
2016-11-11 15:18:04 -02:00
Philippe Potvin
26701d43b5 Fix selection extend when copyOnSelect is true (#975) 2016-11-10 00:03:08 -02:00
Igor Stroganov
48dd4b5c1f Fix inverted text display. Fix #883 (#968)
* Fix inverted text display. Fix #883

* Add a comment explaining setBackgroundColor override
2016-11-10 08:11:51 +08:00
Philippe Potvin
265024cb45 Remove unused blur/focus (#947) 2016-11-04 15:52:03 -02:00
Oliver Dunk
6b385036d7 Change URL regex - fixes #867 (#943) 2016-10-29 13:13:53 +02:00
Leo Lamprecht
630f0f4504
Comply to XO's no-warning-comments rule 2016-10-25 15:04:37 +02:00
David Gómez
8f28573fc0 Prefer default export to make XO happy (#931)
* Comply with prefer-default-export rule for findBySession function

* Remove XO's prefer-default-export rule

* Comply with prefer-default-export rule for init function

* Comply with prefer-default-export rule for getRootGroups function

* Comply with prefer-default-export rule for INIT constant

* Comply with prefer-default-export rule for isExecutable function

* Fix default export for constants

* Comply with prefer-default-export rule for last function

* Comply with prefer-default-export rule for getColorList function
2016-10-25 14:53:15 +02:00
Andrea Parodi
97432df7a4 Improve tabs title (#892)
* Set tab title when asked by the contained shell process via ANSI code

* Commented out process polling code

* Removed unused module and constant

* Remove getTitle method

* Removed props binding

* Removed polling clearTimeout

* Removed session focus & blur

* Remove listening for session `title` event

* Removed SESSION_SET_PROCESS_TITLE action

* Removed remainig blur
2016-10-22 13:05:32 -07:00
chabou
3f352ec137 Prevent Hterm to share same preferences between instances (#906)
* Add a random profileId to hterm instance to differentiate PreferenceManager used internally

* Use getPrefs() method instead of accessing prefs_ private property directly
2016-10-19 15:55:06 -07:00
Guillermo Rauch
2ebb2369d1 Revert "Quick full screen (#803)"
This reverts commit 64e87d0d27.
2016-10-17 17:16:39 -07:00
David Gómez
30a1a35937 Enforce null comparisons to make XO happy (#888)
* Remove react/no-eq-null rule from package.json

* Enforce null comparison and add type safety on checks
2016-10-16 22:13:25 +02:00
Marshall Bowers
64e87d0d27 Quick full screen (#803)
* Add pseudo quick full screen

* Record window size before entering full screen

* Restore window size when leaving full screen

* Toggle menu items for quick full screen

* Remove redundant filters

* Add accelerators for Linux

* Only save window state when not full screen
2016-10-16 00:20:10 -05:00
Guillermo Rauch
f96d02480d temporarily re-enable selection even when the terminal registers interest in order to fix copy/paste 2016-10-15 16:40:12 -05:00
Martin Ek
7a08b1dc3e Fix xo 0.17 errors and use root xo config for app (#859)
* Use parent xo config in app/

* lint: Fix xo 0.17 errors

* app: add missing semver dependency
2016-10-12 20:35:44 -05:00
Cole Peters
ed66433323 Use white background on webviews:
Most web clients apply a default white background to web pages, so some
websites omit explicitly setting their page backgrounds to white. The
default black background on the webview component was making some sites
unreadable. This commit just changes it from black to white.
2016-10-11 15:39:40 -04:00
Hrvoje Šimić
7e71bf356b fix various typos and grammar errors in comments (#834) 2016-10-10 12:26:47 +02:00
Martin Ek
fe91b4c76e Refactor plugin retrieval (#695)
* plugins: refactor props decorators

* plugins: add missing plugin functions to notifier

* plugins: refactor reducer decorators

* bug: make sure reduceTermGroups are added from plugins
2016-10-08 14:38:47 -07:00
Daniel Bayerlein
aa285a8bc6 Cleanup (rename HyperTerm to Hyper) (#812)
* Rename container

* Rename hyper container itself

* Add HYPER_DEBUG for debug

* Rename HyperTerm to Hyper

* Rename HyperTerm connector and extension

* Add HyperTerm state and dispatch for backwards compatibility
2016-10-08 09:26:07 -07:00
Martin Ek
2ffc1aee3d Move notification fetching to the main process (#804)
* Move notification fetching to the main process

* Add npm run app
2016-10-07 20:28:40 -07:00
Martin Ek
db53b08002 Add missing TermGroup props (#815) 2016-10-07 18:50:29 -07:00
Tim Neutkens
3ff3350144 Expose Component to plugins (#778)
* Expose Component to plugins

* remove typo
2016-10-07 18:47:34 -07:00
Marshall Bowers
ad63cbbfdc xo: react/jsx-key (#767)
* Add key to array element

* Enable react/jsx-key rule for xo

* Change key to tabs-list

* Update key name

* Add key for border element

* Add missing JSX keys
2016-10-07 17:36:17 +02:00
Marshall Bowers
0ec2823a23 No string refs (#766)
* Use callback ref instead of string ref

* Enable react/no-string-refs rule for xo

* Replace additional string refs

* Fix broken merge
2016-10-07 17:07:39 +02:00