* Introduce 2 base components: Component and PureComponent. Before, we have only PureComponent but it was impossible to add a shoulComponentUpdate method (used for Terms).
* 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
* 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`
* `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
* 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
* transparent + reactive background colors
* refactor header to not set its own background color
* make terms not set background color
* dramatically improve tab borders
* remove background color from electron windows
* Revert "remove background color from electron windows"
This reverts commit ca4de3c5dc28095f1a598f7ac79d4dff4b66ccd5.
* put alpha first for electron
* remove initial bg color setting, but maintain reactive one
* fix
* 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`
2016-07-24 10:59:21 -07:00
Renamed from app/lib/components/terms.js (Browse further)