Commit graph

39 commits

Author SHA1 Message Date
Guillermo Rauch
361db6190e avoid layout recalculation upon scrollport resize 2017-02-18 00:27:29 -03:00
Guillermo Rauch
27cf69fea3 Revert "fix for line-height that makes emojis be perfectly aligned with text"
This reverts commit 19907ff8e0.
2017-02-17 17:21:55 -03:00
Guillermo Rauch
19907ff8e0 fix for line-height that makes emojis be perfectly aligned with text 2017-02-17 17:17:01 -03:00
Guillermo Rauch
2e58e568d6 @tibotiber unfortunately I have to undo this line because it was breaking vtop and braille characters 2017-02-16 02:16:59 -03:00
Thibaut Tiberghien
172d487055 Fix display of unicode characters (#1376)
* Fix display of unicode characters

* Fix unicode display issues and CJK cursor
2017-02-16 00:59:11 -03:00
Liudas Dzisevicius
270fe5bef9 [Windows] Add right click copy/paste (#1247)
* Add right click copy/paste

* Add quick edit config option
2017-02-15 17:22:09 -03:00
Matheus Fernandes
b4943a05e9 🐛 Fix copy/paste shortcuts on Windows/Linux 🎉 (#1406) 2017-01-18 13:19:11 -02:00
Matheus Fernandes
f8d5dcd060
🐛 Fix a regression from the previous commit and a comment 2017-01-14 18:12:08 -02:00
Matheus Fernandes
e5c076e82f
🐛 Focus the current tab after switch from a new one – closes #1273 2017-01-14 17:56:18 -02:00
chabou
1b6d925524 Prevent loosing focus after a char composition ended by Tab key. Fix #1341 (#1349) 2017-01-06 17:46:54 -08:00
Vitaly Domnikov
5a164d0a1d fix line height layout (#1322) 2016-12-29 19:19:16 -08:00
Theodore Dubois
ccf818de5a Add support for cursor styles 5 and 6 to hterm (#1286)
This fixes #270, cursor shape changing in Neovim.
2016-12-24 10:29:52 -08:00
Philippe Potvin
4943e4a2f8 Fix key focus (#1218) 2016-12-15 11:08:36 -05:00
Vitaly Domnikov
d6316dd209 🚀 Performance tuning & bugfix (#1111)
* Perfomance tuning

* cleanup matchesContainer method

* fixes #1131
2016-12-14 11:18:15 -08:00
Tim Neutkens
34da7d0a60 Don't focus on caret when using modifier keys (#1106)
* Don't focus on caret when using modifier keys

* Removed trailing space
2016-12-09 17:03:03 -02:00
Philippe Potvin
a45fb97283 cmd+A work again (#1102) 2016-12-08 21:09:02 -02:00
Vitaly Domnikov
aa410812a5 unicode fix (#1018) 2016-12-07 08:17:22 -08:00
Matheus Fernandes
6508d05e5f
Fix a regression introduced by #1058
Such regression broke the character composition/paste on macOS
2016-12-02 11:22:25 -02:00
Matheus Fernandes
be286c0d5a Fix keyboard shortcuts on Linux and Windows (#1058)
* `command` => `mod`

* `Option` => `Alt`

* Allow hterm to consume a keyboard event only if it's not a Hyper accelerator

* Remove `console.log`s

* Say no to bikeshedding

* We already clear the selection on `onKeyDown`

* Add comments

* Remove meaningless comment

* Add fullscreen shortcut for Windows and Linux

* Use the accelerators defined in `accelerators.js` for the app menu
2016-11-30 15:19:45 -05:00
Benoit Averty
da4858a76e Unicode Support / Cursor issues Fix (#740)
* 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
2016-11-17 17:12:23 -08: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
Igor Stroganov
48dd4b5c1f Fix inverted text display. Fix #883 (#968)
* Fix inverted text display. Fix #883

* Add a comment explaining setBackgroundColor override
2016-11-10 08:11:51 +08:00
Guillermo Rauch
f96d02480d temporarily re-enable selection even when the terminal registers interest in order to fix copy/paste 2016-10-15 16:40:12 -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
71ae9b7e00 Replace explicit null check with != null (#760)
Replace explicit null check with isNil

Replace isNil with != null
2016-10-04 11:16:34 -07:00
Martin Ek
540414f59d split panes: set hotkeys based on OS (#771) 2016-10-04 08:33:21 -07: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
Nick Randall
ee172c3164 fix(meta-key): fix edge cases for meta key usage. (#761) 2016-10-03 17:29:33 +02:00
Aurélien Bottazini
a561f4650b Add Setting for modifier Keys cmdIsMeta and altIsMeta (#686)
* Adds Setting for modifier Keys cmdIsMeta and altIsMeta

* ModifierKeys setting for redux state

* removing from default config modifierKeys
2016-09-30 14:30:11 +02:00
Matheus Fernandes
1866104d03 [WIP] Use XO instead of Standard (#723)
* 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
2016-09-21 16:27:11 +02:00
Vitaly Domnikov
42a69e0c76 Fix tab switching (#709)
* Passthrough tab switching keystrokes

fixes #658

* fix formatting
2016-09-15 07:36:16 +02:00
chabou
a724f4fbd2 Add French keyboard compatibility (#638) 2016-08-22 18:43:56 +01:00
ppot
3813d27d5f Fix ScrollPort SelectAll 2016-08-20 17:25:04 -04:00
ppot
ed4a2c66da Path matching selection on dblClick 2016-08-20 17:25:04 -04:00
Philippe Potvin
fd351a5b93 Provide clear selection of text in terminal view (#608)
* Permit clearSelection on text enter and mouse selection. Fix #591

* Add config for copyOnSelect

* Update with descriptive comment
2016-08-13 23:03:44 +02:00
James Hall
cb651f6492 Fix international tilde character, and ` and ´ (#584)
* This fixes many more keyboard layouts
* Make backticks work on German keyboards
* Add italian keyboard layout, and also log when uncaught dead key occurs
2016-08-10 18:37:35 +01:00
James Hall
519210ece6 Initial support for pressing ~ ^ " ' ` on international keyboard layouts until composed characters lands (#521)
* International keyboard support fixes

* Use correct tilde character

* Add correct caret char

* Add alternate key code mapping for ~ and ` - credit: fecabianchi
2016-08-02 01:08:51 +01:00
Guillermo Rauch
aaed99abac Reorg (#386)
* 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/hterm.js (Browse further)