Commit graph

71 commits

Author SHA1 Message Date
Labhansh Agrawal
c0b72f9939 rename remaining js files in lib/actions to ts 2020-01-02 21:11:35 +01:00
Labhansh Agrawal
38c534b3aa Add action types 2019-12-29 15:55:53 +01:00
Labhansh Agrawal
41d70c3a15 Fix babel scope tracker error on build 2019-12-21 15:09:12 +01:00
Labhansh Agrawal
a1eb84d8a7 port js files in lib and lib/containers to ts (#3957)
* rename files in lib and lib/containers to ts

* add types

* fix ts errors
2019-11-11 16:21:42 +01:00
Labhansh Agrawal
537c746c75 porting files in lib/ actions, reducers and utils/plugins to ts (#3887)
* add type definitions

* rename files in lib/actions

* rename files from lib/reducers to ts

* renamed plugins.js to ts

* Add hyper types

* Fix ts errors in lib/reducers

* Fix ts errors in lib/actions

* Fix ts errors in plugins.ts
2019-10-19 18:59:56 +02:00
Jason Gauci
71953e0fdf Allow plugins to set the parent/predecessor of a new session (#3723) 2019-10-15 02:09:30 +02:00
Raz Friman
6039acd7a9 Update Electron to v6 (#3785)
* 3.0.0

* 3.0.2

* Save

* Save

* Upgrade yarn lock packages

* update node-gyp and node-pty

* update travis and appveyor to node 12

* appveyor is outdated as always

* update travis to xenial

* update node-pty@0.9.0-beta26

* update yarn.lock

* update electron to 6.0.8

* move node-pty to the correct package.json

* Fix linting failure

* Update yarn lockfile to try to fix appveyor build

* Remove unnecessary changes from package.json

* Try to fix appveyor by using a newer image

* Fix linting after my last change

* update electron to 6.0.9

* install windows-build-tools on appveyor

* fix syntax

* switch back to 2017 image

* remove old resolutions field

* revert accidental version change

* update electron to 6.0.11 and electron-rebuild to 1.8.6

* downgrade yarn to 1.18

until this issue is resolved https://github.com/yarnpkg/yarn/issues/7584

* update node-gyp to 6.0.0 and generate a fresh yarn lockfile

* update react and a few other dependencies

* fix lint

* this should actually be electron-builder, I think!

* update a few dependencies

* change to electron-store

electron-config was renamed to electron-store a while ago

* update xterm to v4.1.0 and ora to 4.0.2

* move pify to app/package.json

* TODO: Revert maybe. Throw a fit on every change to maybe fix the resizing issues

* a

* fix react ref problem

* fix split view focus problem

* remove the unnecessary fit

* remove the init col and row

* fix the problem that cannot show about hyper

* update electron to 6.0.12

* fix lint

* add more todos for componentWillReceiveProps deprecation

* update babel and plugins


Co-authored-by: Juan Campa <juancampa@gmail.com>
Co-authored-by: Benjamin Staneck <staneck@gmail.com>
Co-authored-by: ivan <ivanwonder@outlook.com>
2019-10-10 21:20:26 +02:00
Donald Green
5d7142c2df Return of the Bell (#2938)
* 1. Restored the ability to turn the "bell" sound on and off using the "bell" config parameter.
2. Restored the ability to change the bell sound by providing a URL. These changes allow for a web url or local absolute file path to an audio file.

The goal with these changes was to fix the issue causing the bell to never sound due to a difference in the underlying terminal emulators configurations from the previous one. While in the area, also decided to make sure that the sound can be changed by supplying a web url to an audio file or an absolute path to an audio file within the local machine

* Code style changes

* Code style changes

* 1. More code style changes

* 1. Spacing changes to try and abide by the linter

* 1. Applied all suggested changes by eslint

* 1. Removed functionality to specify a remote url to set a sound file for the bell sound. The amount of effort for handling when there is no internet connection, queuing and so forth wasn't worth keeping the feature. It is likely that the url could be used to download the file in which the user would be able to specify the file path tho this download file.
2. Created a new property that gets passed down from the terms container all the way to the individual term. We want to be able to evaluate if the bellSoundURL has changed to determine if we really need to read the sound file.
3. Moved logic to read the audio file into the main process. Setup a new action in the 'actions/ui' that will update the bell sound when it is finished and ready. This should prevent blocking the terminal from loading and thus increasing loading times.

* 1. Modified the file reading method to be more generic to increase reusability.
2. Updated the "arrBuf2Base64" method to utilize the node Buffer class which helped to reduce some complexity and seems to run more efficiently.
3. Removed the CONFIG_ASYNC action and reducer in favor of reusing CONFIG_RELOAD when the process is finished reading the file for the bell sound. In order to achieve this, we had to merge the config from "config.getConfig()" method with the "bellSound" property before dispatching to "reloadConfig".

* 1. Removed reference to now removed method

* 1. Removed the arrBuf2Base64 as it seemed unnecessary now that the function would be reduced to a single line. Moved the one-liner into file.js. Removed references to arrBuf2Base64 method.
2. Refactored the logic that handles reloading the config when it has been updated to fix an issue that would set the bell sound back to the default sound when the config is saved without changing the value of "bellSoundURL". Setup now to either read file and reload the config, or reuse the "bellSound" value saved in state and reload the config. This removes an inefficiency with the reloadConfig being dispatched twice when "bellSoundURL" has changed as well.

* 1. Removed a file that contained a single function, referenced in only one place that is performing a fairly simple task.
2. Updated the "getBase64FileData" method to use "Buffer.from()" instead of "Buffer()" due to messages stating that "Buffer()" is deprecated due to security and usability issues.

* Adjustments and regression issues fixed

1. Updated the default config file to better explain the supported options for the "bell" config property.
2. Rearranged the bellSoundURL default property to make it easier to find should one decide to change the bell sound.
3. Typos fixed in comments.
4. Update fetchFileData to utilize the configData provided as function argument. There appeared to be no reason to reference different sources of config data within the same method.

* 1. Removed the "BELL_STYLE" constant since it was only being used in one place.
2. Updated comment block to accurately reflect the current logic and made the comment much more concise.
2019-10-03 02:08:40 +02:00
Brandon Lee Dring
5bc8e0b1e8 Feat/text search (#3075)
* Added persistent text box search

* Toggle search box now working

* Restyled search box

* Linter and bug squashing

* Added multi OS hotkey support

* PR changes as requested

* Added ability to use escape button to close search field

* Woops forgot key mapping on non mac platforms

* fixed bug where escape would open up search window

* Removal of unused vars that died in conflict
2019-09-23 19:37:22 +02:00
Zachary Riedlshah
970a98f60b fix: prettier fullscreen for macOS
fixes #5
2019-09-11 04:20:06 +02:00
Frux
26846cd847 fix handling ssh link with empty user (#3521) 2019-04-02 14:09:00 -04:00
Kaushik Asp
90e8c1a766 Fix hanging when zoom out goes below 5px (#3509)
Fixes #3498
2019-03-05 23:42:54 +01:00
Philippe Potvin
d0f03f52e5
url are now interpreted by xterm (#3507)
* url are now interpreted by xterm

* no need

* .DS_STORE banished

* remove from reducer
2019-03-03 13:13:50 -05:00
Philippe Potvin
1747c57bc3 Expose active window positon on move to reducer (#3470) 2019-02-27 00:22:52 +01:00
Sonny
f64e3e0204 Adding ability to send error object to notify() (#2955) 2018-05-02 10:10:44 +02:00
CHaBou
f6a1ba114a Make SESSION_REQUEST/TERM_GROUP_REQUEST hackable (#2777)
`cwd` should be lazy evaluated to let plugins override it
2018-03-21 12:40:56 +01:00
Cyril Damas
0105d6baf2 Add ssh url scheme handling (#2516) 2018-02-12 21:20:45 +01:00
CHaBou
1fbc85760b
Use same hazel endpoint to notify update to Linux users (#2497)
Add a pseudo auto-updater for Linux

Fixes #2476
2017-11-29 14:26:24 +01:00
CHaBou
81709073cf
Keymaps are now updated without restarting (#2455)
* Reload keymaps without restarting

* Reattach key listeners when config have changed
2017-11-15 00:55:21 +01:00
Ricky Miller
62e29effbf Add context menu (#2001) 2017-11-03 21:24:41 +01:00
CHaBou
2af575c3c0 Multiple keymaps and mousetrap (#2412)
* 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
2017-11-02 19:51:18 -07:00
CHaBou
9c9a307958
Merge branch 'master' into canary 2017-10-05 20:49:20 +02:00
CHaBou
bcf1157b37 Add new keymaps to jump between tabs (#2330) 2017-10-05 20:39:39 +02:00
CHaBou
d3a015466a Move Date.now() into actions to have pure reducers (#2324)
Reducers shouldn't have side effect. Date.now() is a side effect and should be done in action creators.
2017-10-04 00:18:55 +02:00
Guillermo Rauch
b775e23c3c Revert "improve writing performance by avoiding redux for pty events"
This reverts commit 44dfb0faf8.
2017-09-25 13:55:04 +02:00
Guillermo Rauch
44dfb0faf8 improve writing performance by avoiding redux for pty events 2017-09-25 00:48:52 +02:00
CHaBou
1155bb54b1
Add prettier and resolve all lint errors 2017-09-10 16:04:13 +02:00
Albin Ekblom
0bf10f3768 Escape parentheses for dropped files/folders (#1935)
* Escape parentheses for dropped files/folders

Fixes #1933

* Cleanup regex

* Wrap dropped path in single-quote

* Escape single quote inside single quote

* Handle escaping with current shell

* Cleanup escape
2017-06-14 09:12:03 -07:00
Albin Ekblom
eeaf4be151 🔥 Cleanup call of php-escape-shell (#1821) 2017-05-13 10:19:03 -04:00
CHaBou
00693de12e Open Hyper config in the native desktop's default manner (#1784) 2017-05-08 20:00:58 -07:00
Zsolt Dollenstein
af21493e2b check for null/undefined session in addSessionData (#1698)
* check for null/undefined session in addSessionData

* Update sessions.js
2017-04-28 20:40:32 -04:00
Henrik
3793adabb5 fix echo issue in config pref (#1633)
* fix echo issue in config pref

* fix spacing inconsitency
2017-03-10 14:29:42 -03:00
Stefan Ivic
36f96abb1d windows: fix editing preferences on bash (#1571)
* windows: fix editing preferences on bash

* linter: fix the linting error

* cleanCode : move the code to a function

* cleanCode: move the constants to the function

* clean: remove unnecessary eslint comment

* clean: use platform instead of defining it
2017-02-24 20:50:20 -08:00
Guillermo Rauch
fe6e2977bd 8 times faster matching of enter key within incoming pty data
https://jsperf.com/exec-vs-match-vs-test-vs-search/5
2017-02-17 02:47:09 -03:00
Matheus Fernandes
d4c1d08701 Revert "Open Preferences in Default JS Editor on Windows" (#1510) 2017-02-15 12:12:48 -03:00
Jon Galloway
6a9b3f74c5 Open Preferences in Default JS Editor on Windows (#1138)
* Open Preferences in Wordpad on Windows

Notepad doesn't handle `\n` line breaks, Wordpad does. 

Fixes #1126.

* Update: Use Win editor from reg

If not found, or set to notepad.exe (which can't handle line breaks), show hyper.js config file in folder so user can open in editor of their choice.

* Fixes for Windows

Fixed shell reference, corrected lint errors.

* Fixes for Windows

Fixed shell reference, corrected lint errors.

* Fixes for Windows

Fixed shell reference, corrected lint errors.

* Always show .hyper.js in folder for prefs

* Always show .hyper.js in folder for prefs

* Fixed electron import
2017-01-10 21:49:32 -08:00
Paul Betts
0ff1cb9584 Windows titlebar improvements (#1307)
* Make double-clicking on the titlebar work

* We don't actually need this

* Draw a Restore icon when the window is Maximized

* Update React State when BrowserWindow changes behind our back

* Cleanup

* Don't show the border if the window is maximized

* Fight with the linter
2017-01-10 21:45:49 -08:00
Philippe Potvin
c7f195ba01 Fix ctrl+c to close WebView 🍾 (#1287)
* rm hyperCaretFocus => prevent callstask

* keep caret component
2016-12-21 07:19:41 -08:00
Philippe Potvin
b2f67c73e4 Fix url interpretation (#1259)
* Fix url interpretation

* update regex
2016-12-17 14:17:58 -08:00
Matheus Fernandes
31721e5c29
Use the correct EOL character based on the current OS 2016-11-22 09:48:40 -02:00
Matheus Fernandes
d34765faa6
Remove duplicated message and add a missing one 2016-11-22 09:48:17 -02:00
Matheus Fernandes
271a221979
Fix character escaping in the open preferences message 2016-11-18 09:07:34 -02:00
Matheus Fernandes
9c90e19760 Add Windows support and first-class Linux support (#946)
* `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
2016-11-11 15:18:04 -02:00
Philippe Potvin
265024cb45 Remove unused blur/focus (#947) 2016-11-04 15:52:03 -02:00
Leo Lamprecht
630f0f4504
Comply to XO's no-warning-comments rule 2016-10-25 15:04:37 +02:00
David Gómez
8f28573fc0 Prefer default export to make XO happy (#931)
* Comply with prefer-default-export rule for findBySession function

* Remove XO's prefer-default-export rule

* Comply with prefer-default-export rule for init function

* Comply with prefer-default-export rule for getRootGroups function

* Comply with prefer-default-export rule for INIT constant

* Comply with prefer-default-export rule for isExecutable function

* Fix default export for constants

* Comply with prefer-default-export rule for last function

* Comply with prefer-default-export rule for getColorList function
2016-10-25 14:53:15 +02:00
Andrea Parodi
97432df7a4 Improve tabs title (#892)
* Set tab title when asked by the contained shell process via ANSI code

* Commented out process polling code

* Removed unused module and constant

* Remove getTitle method

* Removed props binding

* Removed polling clearTimeout

* Removed session focus & blur

* Remove listening for session `title` event

* Removed SESSION_SET_PROCESS_TITLE action

* Removed remainig blur
2016-10-22 13:05:32 -07:00
Guillermo Rauch
2ebb2369d1 Revert "Quick full screen (#803)"
This reverts commit 64e87d0d27.
2016-10-17 17:16:39 -07: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
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