Commit graph

67 commits

Author SHA1 Message Date
David Gómez
30a1a35937 Enforce null comparisons to make XO happy (#888)
* Remove react/no-eq-null rule from package.json

* Enforce null comparison and add type safety on checks
2016-10-16 22:13:25 +02:00
Marshall Bowers
64e87d0d27 Quick full screen (#803)
* Add pseudo quick full screen

* Record window size before entering full screen

* Restore window size when leaving full screen

* Toggle menu items for quick full screen

* Remove redundant filters

* Add accelerators for Linux

* Only save window state when not full screen
2016-10-16 00:20:10 -05: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
Martin Ek
7a08b1dc3e Fix xo 0.17 errors and use root xo config for app (#859)
* Use parent xo config in app/

* lint: Fix xo 0.17 errors

* app: add missing semver dependency
2016-10-12 20:35:44 -05:00
Cole Peters
ed66433323 Use white background on webviews:
Most web clients apply a default white background to web pages, so some
websites omit explicitly setting their page backgrounds to white. The
default black background on the webview component was making some sites
unreadable. This commit just changes it from black to white.
2016-10-11 15:39:40 -04:00
Hrvoje Šimić
7e71bf356b fix various typos and grammar errors in comments (#834) 2016-10-10 12:26:47 +02:00
Martin Ek
fe91b4c76e Refactor plugin retrieval (#695)
* plugins: refactor props decorators

* plugins: add missing plugin functions to notifier

* plugins: refactor reducer decorators

* bug: make sure reduceTermGroups are added from plugins
2016-10-08 14:38:47 -07: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
2ffc1aee3d Move notification fetching to the main process (#804)
* Move notification fetching to the main process

* Add npm run app
2016-10-07 20:28:40 -07:00
Martin Ek
db53b08002 Add missing TermGroup props (#815) 2016-10-07 18:50:29 -07:00
Tim Neutkens
3ff3350144 Expose Component to plugins (#778)
* Expose Component to plugins

* remove typo
2016-10-07 18:47:34 -07:00
Marshall Bowers
ad63cbbfdc xo: react/jsx-key (#767)
* 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
2016-10-07 17:36:17 +02:00
Marshall Bowers
0ec2823a23 No string refs (#766)
* Use callback ref instead of string ref

* Enable react/no-string-refs rule for xo

* Replace additional string refs

* Fix broken merge
2016-10-07 17:07:39 +02:00
David Gomez
c6b44d4a50 Remove no-danger rule from the package.json file 2016-10-07 08:29:41 +02:00
Guillermo Rauch
9f771e839f api updates 2016-10-06 08:28:43 -07:00
Martin Ek
17a5a6b250 Make sure focused tabs don't get activity highlighted (#774) 2016-10-05 09:20:08 -07:00
Guillermo Rauch
335562880c remove raf to print the chars to the screen as soon as possible 2016-10-04 21:18:46 -07:00
Guillermo Rauch
d47aa4470a lint 2016-10-04 21:02:39 -07:00
Guillermo Rauch
165954c63f remove pesky warning 2016-10-04 14:52:53 -07:00
Nathan Rajlich
f939d88354 return a Redux thunk for the INIT action (#675)
Before, Redux was throwing an error saying that a plain
object was not being returned from the `init()` function
which was breaking hyperterm.
2016-10-04 14:41:50 -07:00
Guillermo Rauch
fec4954dc1 fixes by @ekmartin 2016-10-04 13:27:27 -07:00
Guillermo Rauch
ffa6a89c5a lint 2016-10-04 12:48:37 -07:00
Guillermo Rauch
d01d3868eb simple version-based notifications system 2016-10-04 12:48:37 -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
Philippe Potvin
a1f8413680 Fix config-store imports (#733)
* `configureStore` => `configure-store`

* dependencies: add redux-logger
2016-09-21 23:29:23 -03:00
Krzysztof Kaczor
bbf0af66b2 Improve developer pleasure (#556)
* single command to run webpack and app

* added dev tools and custom store for development mode only

* fix linter issues
2016-09-21 15:11:42 -07:00
David Gómez
ac69e0b9a0 Fix tab navigation using mouse clicks (#732)
Fixes a bug introduced by #723
2016-09-21 15:44:47 -03: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
Guillermo Rauch
8a01f8a48b Add window bgcolor updates (#524)
* 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
2016-09-19 08:47:33 +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
Matthew Conlen
a3d5004c13 allow plugins to require('react') 2016-08-30 15:04:30 -04:00
chabou
a724f4fbd2 Add French keyboard compatibility (#638) 2016-08-22 18:43:56 +01:00
Philippe Potvin
3a9447185f dblClick test nodeName (#641) 2016-08-21 11:44:17 +02: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
James
125fdd98e5 Fix #527: validate cursorColor value and apply default if it fails (#590)
refactor `validateColor`: remove unnecessary variable declaration
2016-08-18 10:33:09 +02:00
Efe Gürkan YALAMAN
e2b270b172 Added customChildrenBefore to the tabs. (#580)
customChildrenBefore was missing on the tabs component.
2016-08-17 10:13:32 +02: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
Ives van Hoorne
749d1f4681 Fix maximizing behaviour (#176)
* Fix maximizing and minimizing

* Emit via side effect in action creator

* Store window state in the store

* Move unmaximize for diff
2016-08-06 11:01:01 +01:00
James Hall
9b42c5ff52 Fix mapXDispatch and allow plugin to access onWheel (credit: lkzhao) (#578)
* Fix mapXDispatch && allow plugin to access onWheel see https://github.com/zeit/hyperterm/pull/563
2016-08-06 10:17:09 +01:00
Albin Ekblom
cc112b6683 Use single quotes for better compatibility (#575) 2016-08-06 09:44:23 +01:00
Albin Ekblom
f954a1e7bc Add config for bell (#468)
* Add config for bell

* Use Set instead
2016-08-05 23:30:40 +01:00
Lorenzo Zottar
9d65cb74c0 File dropped into terminal window adds path to command line (#559)
* 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
2016-08-04 14:43:57 +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
James Hall
7d765d531e Fix space escaping in paths dragged onto the icon (#545) 2016-08-02 00:02:46 +01:00