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