* 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`