* master:
Add default keymaps reference to documentation (#2185)
Add category option under linux key in root package.json (#2184)
Add vscode debug config, update readme (#2181)
Get default config options when not specified in user config (#2126)
Fix session cleaning (#2176)
Delete .DS_Store file (#2171)
* 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)
...
* 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
Includes various hterm bug fixes including one where under certain
zooms and fonts the last line of console output does not display.
Updated hterm from version 15ed49071379e51ae47d929134366eb156a6943a
to a65fd913db6e931756d1199641aa45c556336dd4
see https://chromium.googlesource.com/apps/libapps/+log/HEAD/hterm
see 6cec52ab8e
see b3ce695b50
* fix : install the missing package
Fix for the failing builds on Travis due to EONENT spawn error.
* fix : update the name to the correct package
* Revert "Remove `snap` target"
This reverts commit a8ce50508a.
* fix : add a ppa and install snapcraft
* fix : auto continue ppa adding
* update : install snapcraft only on linux
* 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
* 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
* Upgrade `electron-builder` to its latest version and pin it
* Fix linux executable path – see electron-userland/electron-builder#877
* [Windows] Build `squirrel` executable instead of `nsis`
* `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
* 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
* 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
* 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
* Bump `eslint-plugin-react`
* Add `eslint-config-xo-react`
* Add XO
* Remove eslint-related dependencies, add XO config and use XO as the linter
* Code style: Standard => XO ✨
* Use xo property to ignore files
* Fix remaining errors
* Added file-uri-to-path dependency
* Added new rpc event to send data to session
* Modified sendSessionData to use activeUid if no uid is passed to function
* "will-navigate" prevented on file drop, path added to session
* Add function to escape a shell argument.
* Keep track of the last used window.
* Implement support for the open-file event.
* The shell escape regex needs parentheses to be captured.
* Removed lastWindow and added getLastFocusedWindow method to app
* Create window create new session only if no callback passed
* Added app.windowCallback to handle open-file before "ready"
* Small lint fixes
* Differeent open file handling: check if it is directory, and if the file is executale or not
* Small fixed and added some comments
* Added php-escape-shell module in place of custom escapeShellArgument()
* Fixed wrong code and added detailed comment
* Aliased php_escapeshellcmd import
* Rebased; added error handling in OpenFile
* changed string contatenation with template literal
* Pinned php-escape-shell dependency
* Typo fix
* getLastdFocusedWindow now uses Array.prototype.reduce()
* Notify users of unexisting path while open file
* Step 1: move electorn into `app/`.
This is to comply with the suggested directory format of
`electron-builder`: https://github.com/electron-userland/electron-builder#two-packagejson-structure
* Step 2: add build directory with icon files for mac / windows
* Step 3: move all development (web) assets into main directory
* Step 4: add `build` namespace to dev `package.json`
* Step 5: move all dev dependencies into dev file and get rid of
old electron packagers in favor of `eletorn-builder`
* Step 6: target build inside `app/` as everything else is excluded at build time
* Step 7: remove old stuff!
* Step 8: update README
* turn off asar for `child_pty`