Commit graph

78 commits

Author SHA1 Message Date
Labhansh Agrawal
ef60eb03b3 rename app/index and it's referenced files to ts 2019-12-20 18:23:43 +01:00
Labhansh Agrawal
58804a2d5b port es5 code to es6 2019-11-29 22:09:10 +01:00
Labhansh Agrawal
b52d8152bf Upgrade eslint to v6 and add TypeScript linting (#3843)
* Upgrade eslint to v6 and add TypeScript linting

* Fix pr checks


Co-authored-by: Benjamin Staneck <Stanzilla@users.noreply.github.com>
2019-10-03 02:56:50 +02:00
Philippe Potvin
2d399baa87
Add Window class and options plugin decoration (#3485)
* Add Window class and optios plugin decoration

* Propatation to BrowserWindow
2019-03-02 17:09:15 -05:00
CHaBou
36eac99902 Revert "Add tray icon and set single instance mode to improve startup time on Windows (#3324)" (#3362)
This reverts commit f324a67bb9.
2018-12-23 12:37:32 -05:00
Phung Tuan Hoang
f324a67bb9 Add tray icon and set single instance mode to improve startup time on Windows (#3324)
Fixes #2935, #2980
2018-12-16 23:46:37 +01:00
Prashant Andani
436c37e89e Code cleanup (#3131) 2018-10-13 16:35:51 +02:00
Ryan Castner
6451ba7f85 Fix typo in comments (#3185) 2018-08-22 19:42:52 +02:00
CHaBou
13e90ceac9 Disable Chromium GPU blacklist (#2895) 2018-04-23 21:12:53 +01:00
CHaBou
dfe5ab89fa
Prevent /usr/local/bin/hyper overwriting (#2885)
Silently fail installation at startup.
Add a menu item to manually install it with a notification feedback.
Fix plugin update menu item.

Fixes #2884
2018-04-22 22:13:23 +02:00
Ajo John
4a127ef83b Do not register app for ssh:// url scheme handling on dev mode (#2745)
Fixes #2740
2018-03-08 15:45:49 +01:00
Steven
24b83615d4 Ensuring that the restored window position is valid (#2459)
Fixing #1869
2018-03-02 22:11:33 +01:00
Cyril Damas
0105d6baf2 Add ssh url scheme handling (#2516) 2018-02-12 21:20:45 +01:00
CHaBou
5700690e0b
Add CLI tool to install/search plugins or launch app (#2375) 2018-01-09 16:05:19 +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
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
CHaBou
1155bb54b1
Add prettier and resolve all lint errors 2017-09-10 16:04:13 +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
CHaBou
5d171aa33e Return created window (#2081) 2017-08-14 21:29:50 -04: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
Philippe Potvin
c01b4112ea fix devtools (#2048)
* fix devtools

* simp
2017-08-07 21:17:09 -04:00
Philippe Potvin
4fd115bf27 Update window creation (#2028)
* add ui/window

* move window and optimize code

* cleanup
2017-08-02 15:20:03 -04: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
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
Philippe Potvin
93b2229ff5 Implements Commands Key mapping (#1876)
Keymaps part 2
2017-06-02 20:03:47 -04:00
Philippe Potvin
3c1f359198 Refactor menu internals (#1867)
* Keymaps part@1 move menus
* Gather all paths in a module
2017-05-26 08:59:02 +02:00
Albin Ekblom
e09a7f717d Upgrade electron to 1.6.8 (#1848)
* Upgrade deps

* Remove --harmony flag

* Add --harmony-async-await flag

* Pin deps

* Use cheap-module-source-map for dev

See https://github.com/webpack/webpack/issues/2145#issuecomment-294361203

* Update yarn.lock
2017-05-20 14:35:11 -07:00
Max Shepard
fc51f97283 Round up float values for hamburger menu positioning. Fixes #1462 (#1753) 2017-05-04 00:30:00 +02:00
Guillermo Rauch
9f9da68408 use string based RPC for data events for better perf 2017-02-18 00:55:48 -03:00
Matheus Fernandes
d44deb32c8
Fix wrong comparison 2017-02-15 18:03:39 -03:00
Graham Kennery
df0a3c60ed Added http and https handler for will-navigate event (#1451)
Prevented navigation when a user drops content from a browser into a terminal. Instead, enter in the URL of the content the user dropped.
2017-01-25 23:24:01 -02:00
Sam Marder
edff890f5f Add --help and --version command line arguments (#1278)
* Added --help command line argument.

Also looks for -v and --version.

* Fixing linting issues.

* Deleted incorrect comment that used to make sense.

* Cleaner arguments checking.

* Used newer JS syntax.
2017-01-21 16:54:32 -02: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
aoki
5773a83dc3 Bump win.show() back (#1316)
Bump `win.show()` back
2016-12-29 15:52:37 -05:00
Philippe Potvin
ef5caeeb09 Reset bgColor (#1262)
* Reset bgColor

* remove unused

* add precisions comments
2016-12-19 08:17:26 -08:00
Brian Reber
e345ba4f60 Use homedir() from os package instead of env vars 2016-12-03 22:03:10 +01:00
Liudas Dzisevicius
0c30fc0bcf Add shell menu feature (#1017)
* Add shell menu feature

* Rename and remove cofig option
2016-11-22 10:06:03 -02:00
Zach Buttram
fb2f1d8e1e Start the shell with the correct cwd on Windows (#1016)
* fixes zeit/hyper#1011

* more succinct fix for zeit/hyper#1011
2016-11-18 18:27:38 -02: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
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
Guillermo Rauch
2ebb2369d1 Revert "Quick full screen (#803)"
This reverts commit 64e87d0d27.
2016-10-17 17:16:39 -07: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
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
Hrvoje Šimić
7e71bf356b fix various typos and grammar errors in comments (#834) 2016-10-10 12:26:47 +02: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
Daniel Bayerlein
6a5ddc0c70 HyperTerm 👉 Hyper.app 2016-10-06 19:33:08 +02:00
Martin Ek
a7595c1a45 Split Panes (#693)
* npm: add .npmrc with save-exact=true

* split panes: create initial implementation

This allows users to split their Hyperterm terms into
multiple nested splits, both vertical and horizontal.

Fixes #56

* split panes: suport closing tabs and individual panes

* split panes: ensure new splits are placed at the correct index

New split panes should be placed after the currently active
pane, not at the end like they were previously.

* split panes: add explicit dependency to uuid

* split panes: implement split pane cycling

This adds menu buttons for moving back and forward between
open split panes in the currect terminal tab.
Doesn't add a hotkey yet, needs some bikeshedding.

* split panes: move activeSessionUid to its own object

It made little sense to have so many objects with `activeSessionUid`
set to `null` when it only mattered on the top level.
Now it's an object mapping term-group `uid` to `sessionUid` instead.

* split panes: make sure closing the last split pane exits the app

* split panes: fix a crash after closing specific panes

Sometimes the terminal would crash when a specific
split pane was closed, because the `activeSessions`
mapping wasn't updated correctly.

* split panes: fix a bug that caused initial session sizing to be wrong

* fix all our focus / blur issues in one fell swoop :O (famous last words)

* get rid of react warning

* hterm: make sure not to lose focus when VT listens on clicks

* term: restore onactive callback

* add missing `return` to override (just in case)

* split pane: new split pane implementation

* goodbye react-split-pane

* added term group resizing action and reducer

* terms: supply border color so that we can use it for splits

* term-group: add resizing hook

* term-groups: add resizing constant

* remove split pane css side-effect

* split panes: pass existing hterm instances to Term

* split panes: add keybindings for split pane cycling

* split panes: remove unused action

* split panes: remove unused styling

* split-pane: remove `console.log`

* split-pane: remove `console.log`

* split panes: rebalance sizes on insert/removal

* split panes: pass existing hterm instances to Term

* split panes: add keybindings for split pane cycling

* split panes: remove unused action

* split panes: remove unused styling

* split panes: rebalance sizes on insert/removal

* split panes: set a minimum size for resizing

* split-pane: fix vertical splits

* css :|

* package: bump electron

* split panes: attach onFocus listener to webviews

* 1.4.1 and 1.4.2 are broken. they have the following regression:
- open google.com on the main window
- open a new tab
- come back to previous tab. webview is gone :|

* split panes: handle PTY exits

* split panes: add linux friendly keybindings
2016-10-03 19:00:50 -07:00
Philippe Potvin
7aa20a8d45 Memorize window position and size (#617)
* Memorize window position

* Memorize window size

* Add forced settings and window config

* use destructuring and shorthand method

* Set default config

* Use options defaults in createWindow

* Use options object only

* Update return function

* xo comply
2016-10-01 18:44:34 -07:00