Commit Graph

385 Commits

Author SHA1 Message Date
Daniel Imms
3b2e89d878 Only scroll to bottom during composition or result.key is evaluated
Fixes #378
2016-11-27 01:49:45 -08:00
Daniel Imms
15a94240eb Implement ^\ String Terminator
Fixes #376
2016-11-26 14:59:53 -08:00
Daniel Imms
81dc48ef00 Clean up viewport more after TS conversion
Part of #335
2016-11-22 11:53:45 -08:00
Daniel Imms
30fcdd6ccb tsify CompositionHelper 2016-11-22 11:47:18 -08:00
Daniel Imms
1ee316ca83 Merge remote-tracking branch 'upstream/master' into 368_custom_handler_before_scroll 2016-11-22 10:23:04 -08:00
Daniel Imms
c15fed382d Evaluate the custom keydown event handler before scrolling down
Fixes #368
2016-11-21 14:04:13 -08:00
Daniel Imms
9937d54410 Prevent keyboard modifier events from scrolling down
Fixes #363
2016-11-21 14:01:20 -08:00
Daniel Imms
bf4ef599ad Merge remote-tracking branch 'upstream/master' into typescript_build_2 2016-11-12 13:46:59 -08:00
YuviPanda
6dcf7267a5 Add doc comment for scroll event 2016-11-11 16:28:25 -08:00
YuviPanda
5712365cac Add docstring for the open event 2016-11-11 16:27:10 -08:00
YuviPanda
1fc5a9aada Add docstring for the title event 2016-11-11 16:27:01 -08:00
hiro-su
547db92693 Fix the right click paste in IE11 2016-11-08 14:56:57 +09:00
hiro-su
5808de648b Fixed copy event in IE11 2016-11-05 23:55:34 +09:00
Paris Kasidiaris
9ab0455b05 Merge pull request #342 from sourcelair/issue-#310-cross-browser-right-click
Make right-click work on all browsers
2016-11-04 20:40:53 +00:00
Paris Kasidiaris
55ab36662a Merge pull request #336 from sourcelair/issue-#216-no-auto-scroll-on-output
Stop auto scrolling to bottom on output
2016-11-04 19:55:07 +00:00
Paris Kasidiaris
bc70b3b37d Fix tests 2016-11-04 19:36:30 +02:00
Paris Kasidiaris
d426c99866 Move all browser/platform detecting in utils/Browser.js 2016-11-04 18:41:00 +02:00
Paris Kasidiaris
356377975b Fix right-click for Firefox and IE
Fix #310
2016-11-04 18:33:04 +02:00
Paris Kasidiaris
0de3d839e6 Improve experience and add test
- Scroll to bottom on keydown (when scrolled up)
- Add test to ensure above behavior
2016-11-04 12:29:17 +00:00
Daniel Imms
56ecc77dfc Refactor TS build and fix testing
This change is largely just moving files with minor tweaks to them to fix,
the rest of the commit is build process changes:

- The addons/ and test/ dirs have been moved to src/
- The build directory has been removed
- TypeScript builds are output in out/, this is where tests are run
- The demo now relies on the dist/ build which is performed as part of ./bin/build
- Addons are now shipped under the ./build directory
2016-10-31 21:22:21 -07:00
Mikko Karvonen
5e68acfc76
Quick fix to prevent terminal scrolling when user is looking into scrollback. 2016-10-25 13:54:57 +03:00
Paris Kasidiaris
e8e7870be2 Remove geometry option from terminal consttructor 2016-10-23 17:55:37 +03:00
Paris Kasidiaris
a9417c6878 Fix term.geometry and document it in constructor options
Set `term.geometry` on terminal creation and on resize
2016-10-23 14:22:00 +00:00
Daniel Imms
8a124d0b35 Merge pull request #308 from Tyriar/294_scroll
Implement scrollPages, scrollToTop, scrollToBottom and add scroll tests
2016-10-10 08:33:09 -07:00
Daniel Imms
0ad02a4afa Add note that negative scrolls up on scrollPages 2016-10-10 08:25:01 -07:00
Daniel Imms
9389f899d7 Merge pull request #309 from Tyriar/fix_indentation
Fix jsdoc indentation
2016-10-10 08:20:56 -07:00
Daniel Imms
32e878db81 Fix jsdoc indentation 2016-10-09 13:23:22 -07:00
Daniel Imms
0bf7bf56a5 Add jsdoc to scrollTo functions 2016-10-09 13:20:33 -07:00
Daniel Imms
e5d130b698 Add scrollToBottom 2016-10-09 13:19:11 -07:00
Daniel Imms
fe0d878b23 Implement scrollPages 2016-10-09 12:51:58 -07:00
Paris Kasidiaris
763f148fa1 Remove __dirname usage from loadAddon 2016-10-09 13:17:17 +03:00
Paris Kasidiaris
9115846017 Merge pull request #293 from sourcelair/issue-#202-fix-paste
Allow right-click paste (again)
2016-10-01 10:39:46 +03:00
Paris Kasidiaris
a7acee726d Update copyright text in all files
sourceLair Limited → SourceLair Private Company
2016-09-30 13:52:55 +03:00
Paris Kasidiaris
42a1e4ef9b Move clipboard into its own module 2016-09-29 07:51:07 +00:00
Paris Kasidiaris
dff867b8a7 Fix right-click paste
Fix #202
2016-09-29 10:50:21 +03:00
Daniel Imms
8bf8147028 Merge pull request #289 from Tyriar/151_allow_wheel_in_application_mode
Allow wheel events in application mode
2016-09-25 04:44:53 -07:00
Daniel Imms
ccf6d8f87d Merge pull request #287 from Tyriar/286_fix_scroll_in_app_mode
Sync scroll bar instead of disabling on enter app mode
2016-09-25 04:44:44 -07:00
Daniel Imms
37c07eaaf9 Allow wheel events in application mode
This change allows wheel events in application mode which fixes mouse wheel
scrolling in oh-my-zsh and powershell for Linux (among others). Along with #287
a functional scroll bar will also be usable in those shells.

Fixes #151
2016-09-25 02:42:46 -07:00
Daniel Imms
c8b194931f Sync scroll bar after reset
Fixes #278
2016-09-25 01:56:03 -07:00
Daniel Imms
c7a4881552 Sync scroll bar instead of disabling on enter app mode
Fixes #286
2016-09-25 01:50:49 -07:00
Paris Kasidiaris
53e8ac9b0c Stricter check for option existence 2016-09-21 19:09:55 +03:00
Paris Kasidiaris
4b459fe0fd Implement term.getOption 2016-09-21 13:56:03 +03:00
Daniel Imms
be4c8341ba Merge pull request #275 from Tyriar/move_comments_inside_case
Move key handler comments inside case blocks
2016-09-18 13:49:52 -07:00
Daniel Imms
a33bc027f1 Merge pull request #274 from Tyriar/205_cancel_shift_pg_up_down_event
Cancel keydown event on shift+page up/down
2016-09-18 13:49:38 -07:00
Daniel Imms
26fc53990b Fix clear function when buffer is <= rows 2016-09-17 04:07:36 -07:00
Daniel Imms
852dac4d62 Don't clear prompt on clear if it already is 2016-09-17 03:59:42 -07:00
Daniel Imms
76719413f9 Expose API to clear the terminal
Fixes #173
2016-09-17 02:39:22 -07:00
Daniel Imms
fca673d653 Move key handler comments inside case blocks
Improves readability
2016-09-17 01:11:43 -07:00
Daniel Imms
446c3958df Cancel keydown even on shift+page up/down
Fixes #205
2016-09-17 01:09:08 -07:00
Daniel Imms
59e72b8b07 Merge pull request #272 from Tyriar/271_setOption
Add setOption API
2016-09-16 02:17:28 -07:00
Daniel Imms
15e56bd809 Add @param to setOption 2016-09-16 02:03:31 -07:00
Daniel Imms
ab5cc0ad05 Add setOption API
Fixes #271
2016-09-16 01:46:02 -07:00
Daniel Imms
4e1bbee67e Fix focus on mouseup when mousedown was in another element
Fixes #267
2016-09-15 13:50:39 -07:00
Paris Kasidiaris
db76868c26 Fix indentation of src/xterm.js 2016-09-04 16:47:21 +03:00
Paris Kasidiaris
b4c7989566 Merge pull request #252 from ayapi/modifier-keys
add modifier+delete, modifier+F1-F12 keys
2016-09-04 16:23:29 +03:00
Daniel Imms
b56ad5e8fe Merge pull request #243 from Tyriar/242_enable_scroll_on_soft_reset
Disable application mode in viewport on soft reset
2016-08-31 10:40:54 -07:00
Daniel Imms
6a04614549 Merge remote-tracking branch 'upstream/master' into 254_compositionhelper_module 2016-08-29 16:50:35 -07:00
Daniel Imms
89f981836f Merge pull request #255 from Tyriar/253_viewport_module
Pull Viewport into a module
2016-08-29 16:49:03 -07:00
Daniel Imms
749ed6372a Improve copyright line 2016-08-29 16:21:00 -07:00
Daniel Imms
7ff03bb475 Pull Viewport into a module
Fixes #253
2016-08-29 16:17:59 -07:00
Daniel Imms
28c3a2026c Pull CompositionHelper into a module
Fixes #254
2016-08-29 16:15:28 -07:00
Paris Kasidiaris
ed1a31d1cf Make src/xterm.js ES2015 and export EventEmitter into its own file
Fix #158
2016-08-29 19:51:40 +00:00
ayapi
7f7156bafa add modifier+F1-F12 keys 2016-08-27 01:13:01 +09:00
ayapi
62ce64f97d add modifier+delete keys 2016-08-27 01:03:35 +09:00
Daniel Imms
fc22fc39e2 Disable application mode in viewport on soft reset
Fixes #242
2016-08-23 09:11:02 -07:00
Paris Kasidiaris
8324b43cc2 Fix Alt + Arrow movement
Fix #239
2016-08-22 17:17:58 +03:00
Daniel Imms
588d3b12e0 Disable onScroll event during application mode
Fixes #235
2016-08-19 12:52:13 -07:00
Paris Kasidiaris
6e8e78db57 Merge pull request #230 from ayapi/refresh-viewport-height
Refresh the height of the viewport when the line-height changed
2016-08-18 20:35:39 +03:00
ayapi
dcc991bd5c refresh the height of the viewport when the line-height changed 2016-08-18 19:37:16 +09:00
Daniel Imms
04cb9f33ff Merge pull request #226 from Tyriar/208_fix_ime_popup_pos
Reposition textview after composition view
2016-08-17 08:50:41 -07:00
Anton Skshidlevsky
dc6aab88b0 Fix incorrect mouse position
Incorrect mouse position in Midnight Commander
2016-08-17 10:38:12 +03:00
ayapi
c2aa0d75ec restore customKeydownHandler on reset(RIS) 2016-08-13 22:44:56 +09:00
Daniel Imms
92605a9734 Reposition textview after composition view
Call the function again via setTimeout to allow changes after composition
events. This prevents the IME windows jumping sometimes on thesecond key
press.

Fixes #208
2016-08-12 10:21:41 -07:00
Daniel Imms
12923a6649 Sync scroll bar height if the viewport height changes 2016-08-08 14:41:39 -07:00
Daniel Imms
7048f6edf7 Add some tests, fix app keypad mode bug 2016-08-04 18:34:04 -07:00
Daniel Imms
0a34885fbc Fix line-height after rowContainer moved out of viewport 2016-08-03 18:27:43 -07:00
Daniel Imms
61201525a8 Remaining jsdoc 2016-08-03 18:27:19 -07:00
Daniel Imms
1b886a4420 Disable the scroll bar when in application keypad mode 2016-08-03 18:12:44 -07:00
Daniel Imms
6f70984ab6 Drop support for old mouse wheel APIs
All browsers have supported the WheelEvent (onwheel) for sometime now, since
Firefox does not support onmousewheel which is also non-standard but works with
the standard interface, it makes sense to drop support now.
2016-08-03 13:41:55 -07:00
Daniel Imms
38fa2d78da Support DOMMouseScroll event (Firefox) 2016-08-03 13:00:07 -07:00
Daniel Imms
fe905bace5 Prevent the page from scrolling when the terminal scrolls 2016-08-03 12:49:12 -07:00
Daniel Imms
e7e1434293 Clean up, refresh sizes when font-size changes 2016-08-03 12:47:36 -07:00
Daniel Imms
363c647a5f Sync scroll bar on more sensible events 2016-08-03 11:27:16 -07:00
Daniel Imms
aac60eb029 Add support for WheelEvent.deltaMode 2016-08-03 10:16:08 -07:00
Daniel Imms
06ca03ae9c Get it working 2016-08-02 18:36:24 -07:00
Daniel Imms
ff927b8e79 Implement basic scroll bar 2016-08-02 16:59:50 -07:00
Daniel Imms
670b0d58c7 Add base viewport, set line height
Fixes #149
2016-08-02 12:42:13 -07:00
Daniel Imms
d62bd5f748 Get rid of rogue whitespace 2016-07-28 11:15:20 -07:00
Daniel Imms
e6fd1381ce Hide textarea off-screen when not composing
Fixes #209
2016-07-28 11:13:24 -07:00
Daniel Imms
495b2d7fbb Merge remote-tracking branch 'upstream/master' into 118_support_custom_keydown_handler 2016-07-22 05:12:52 -07:00
Daniel Imms
892db98c96 Correct blur/focus delegation
Focus and blur events on the Terminal object are delegated to the textarea
which handles everything.
2016-07-22 04:14:05 -07:00
Paris Kasidiaris
10fbf0dccc Merge pull request #175 from Tyriar/124_add_textarea_back
Add textarea back and support IMEs
2016-07-22 11:50:23 +03:00
Daniel Imms
4595a18197 Tidy up blur/focus handlers 2016-07-21 10:51:43 -07:00
Daniel Imms
577a3d81e5 Use explicit boolean comparison 2016-07-21 10:32:20 -07:00
Jörg Breitbart
ec7130b46f fixing arrow key sequences 2016-07-21 12:39:36 +02:00
Daniel Imms
0010a5a109 Explicitly return from keydown 2016-07-15 16:33:30 -07:00
Daniel Imms
9cb5b005bb Add tests 2016-07-15 16:31:57 -07:00
Daniel Imms
06a3aa6cf8 Merge remote-tracking branch 'upstream/master' into 118_support_custom_keydown_handler 2016-07-15 16:21:06 -07:00
Daniel Imms
d4e9d34d2d Allow custom keydown handler to be attached
Fixes #118
2016-07-15 16:16:37 -07:00
Daniel Imms
fedc1fd325 Fix keydown conditional 2016-07-15 10:17:29 -07:00
Daniel Imms
11d5f51e67 Merge remote-tracking branch 'upstream/master' into 124_add_textarea_back 2016-07-15 10:13:56 -07:00
Daniel Imms
534a9e7f5a Big clean up
Move keydown event to CompositionHelper
Move call in refresh to be handled with an event
2016-07-13 21:50:00 -07:00
Daniel Imms
89d29bbc10 Fix non-composition char input after composition char + test 2016-07-13 21:02:43 -07:00
Daniel Imms
ac8db6e8ec jsdoc handleAnyTextareaChanges 2016-07-13 20:52:55 -07:00
Daniel Imms
0a7c1bfd98 Position the textarea below the cursor during a composition
This will position any IME helper in the correct position
2016-07-13 20:46:43 -07:00
Daniel Imms
38d08873bc Don't finalize composition on modifier key presses 2016-07-13 20:34:43 -07:00
Daniel Imms
8074d754d3 Only position composition view if a cursor is visible 2016-07-13 20:12:49 -07:00
Daniel Imms
e1c1b07a0b Add test cases for Korean 2016-07-13 08:37:24 -07:00
Paris
42ec3b492a Clarify isThirdLevelShift 2016-07-13 17:53:33 +03:00
Daniel Imms
c18794f202 Merge remote-tracking branch 'upstream/master' into 124_add_textarea_back 2016-07-13 07:14:14 -07:00
Paris
0862fd1f59 Fix thirdLevelKey clause 2016-07-13 17:10:45 +03:00
Paris
3e8bb98197 Fix #169 2016-07-13 16:35:57 +03:00
Paris
11a7cd6983 Fix all leading whitespaces (eliminate tabs) 2016-07-13 13:24:53 +03:00
Paris
7d904e455d Fix leading whitespaces (eliminate tabs) 2016-07-13 13:22:51 +03:00
Paris
c3cf6a22e9 Document all public methods 2016-07-13 13:14:02 +03:00
Paris
12a150a438 Document more public methods and transform comments to JSDoc compatible 2016-07-13 13:03:40 +03:00
Daniel Imms
8b46e84263 Use correct .terminal-cursor for composition view 2016-07-12 21:42:10 -07:00
Daniel Imms
8faea59e31 Handle non-composition input when IME is active 2016-07-12 20:51:55 -07:00
Daniel Imms
cab79c473f jsdoc and tidy up 2016-07-12 20:26:18 -07:00
Daniel Imms
c656ed04b0 Use handler not write, fix other edge cases 2016-07-12 20:19:26 -07:00
Daniel Imms
29000fb79e Refactor into CompositionHelper object 2016-07-12 19:14:56 -07:00
Daniel Imms
26af6ffd4d Get IMEs working 2016-07-12 18:48:08 -07:00
Daniel Imms
7d8e28a7dd Merge remote-tracking branch 'upstream/master' into 124_add_textarea_back 2016-07-12 17:02:11 -07:00
Daniel Imms
a52b7e7a4e Add starting point for IME support 2016-07-12 16:50:07 -07:00
Daniel Imms
aaedcfc700 Support focus class on the .xterm element 2016-07-12 16:18:05 -07:00
Daniel Imms
fc7b22dc48 Manually revert textarea changes 2016-07-12 16:03:31 -07:00
Paris
f3cf646bbf Better document scrollDisp 2016-07-06 12:37:45 +03:00
Paris
a39b309b74 Remove most public directives 2016-07-06 12:36:11 +03:00
Paris
1aeb562066 progress 2016-07-06 09:32:40 +00:00
Paris
107d1a1496 First chunk of documentation 2016-07-06 09:32:40 +00:00
Paris Kasidiaris
39edbfb655 Merge pull request #163 from jerch/fix_147_162
fixing #147 and #162
2016-07-06 12:29:01 +03:00
Jörg Breitbart
4afa08da8d fixing #147 and #162 2016-07-05 23:54:15 +02:00
Paris Kasidiaris
30251e5d7c Merge pull request #160 from Tyriar/159_fix_nbsp_resize
Have ' ' chars get inserted correctly after a resize
2016-07-05 13:53:34 +03:00
Paris Kasidiaris
81e231ea20 Merge pull request #155 from Tyriar/154_fix_resize_at_top_exception
Fix exception when increasing size when viewport is at top of buffer
2016-07-05 12:56:45 +03:00
Daniel Imms
838c11b69c Have ' ' chars get inserted correctly after a resize
Since the character spec didn't contain a character width it was being skipped
during refresh.

Fixes #159
2016-07-04 13:17:08 -07:00
Daniel Imms
05041722f1 Correct if condition 2016-07-04 12:15:47 -07:00
Daniel Imms
87c9370e8c Fix exception when increasing size when viewport is at top of buffer
Fixes #154
2016-06-30 02:05:06 -07:00
TDaglis
0b018fd4e9 Fix Ctrl+Shift+V pasting 2016-06-30 10:58:00 +03:00
Benjamin Fischer
59b79e9b04 Fix MouseEvent cloning
Cloneing MouseEvent instances via __proto__ (lline 1099) caused the cloned object to be broken and throw "TypeError: Illegal invocation" during property access ("ev.shiftKey" line 1020).
2016-06-27 13:27:19 +02:00
Jörg Breitbart
c3bc59b5e1 adding unicode test cases 2016-06-26 12:50:06 +02:00
Jörg Breitbart
e3126ba3f8 cleanup 2016-06-25 10:12:21 +02:00
Jörg Breitbart
f951abb7a9 wcwidth only for printables 2016-06-24 16:25:00 +02:00
Jörg Breitbart
874ba72f4e wcwidth calculation 2016-06-24 14:16:12 +02:00
Paris
3217a4bee4 Fix cumbersome pasting with Cmd + V
For some reason, setting the element's contentEditable value to true within a keyboard event, while the element has focus, did not allow pasting with clipboard, unless the element gets clicked explicitly.
2016-06-19 06:12:25 +03:00
Paris
af7588ef16 On big refreshes remove term.rowContainer instead of term.element from DOM
Fix #120
2016-06-16 11:47:05 +03:00
Paris
a6e85ad5f5 Progress with #120 2016-06-16 11:41:41 +03:00
Paris Kasidiaris
d5e83902a5 Merge pull request #133 from Tyriar/132_fix_constant_focus
Only refresh when asked
2016-06-15 12:53:31 +03:00
Daniel Imms
0d803ac895 Use CSS animations 2016-06-14 10:52:49 -07:00
Daniel Imms
253babff62 Merge remote-tracking branch 'upstream/master' into 119_fix_cursor_blink 2016-06-14 10:36:56 -07:00
Daniel Imms
fac964bcf5 Only refresh when asked
Fixes #132
2016-06-14 10:33:24 -07:00
Paris Kasidiaris
02d809c194 Merge pull request #117 from Tyriar/86_protect_max_refresh
Bound refresh max rows to this.rows not this.lines
2016-06-14 11:11:04 +03:00
Paris Kasidiaris
e37a9b62b7 Merge pull request #128 from Tyriar/127_debounce_refresh
Allow refresh to execute 30 times a second maximum
2016-06-14 10:49:53 +03:00
Daniel Imms
af29effbf3 Allow refresh to execute 30 times a second maximum
For commands that pass a significant amount of output to the write function,
this prevents the terminal maxing out the CPU and making the UI unresponsive.
While commands can still run beyond what they do on the terminal, it is far
better with a debounce in place as every single terminal manipulation does not
need to be constructed in the DOM.

A side-effect of this is that it makes ^C to interrupt a process seem more
responsive.

Fixes #127
Fixes #126
2016-06-13 12:40:56 -07:00
Paris
57300f5159 Implement addon loader (CommonJS + RequireJS)
Closes #96
2016-06-13 19:07:29 +03:00
Daniel Imms
fd5be55d81 Add some jsdoc for important functions
Part of #13
2016-06-10 20:05:26 -07:00
Daniel Imms
cb4728f8f5 Tidy up code 2016-06-10 18:05:24 -07:00
Daniel Imms
4a71a41380 Fix cursor blinking when enabled
Fixes #119
2016-06-10 18:05:13 -07:00
Daniel Imms
edf897182e Bound refresh max rows to this.rows not this.lines
this.row is the size of rows in the viewport, this.lines is the buffer. It's
only possible to refresh `0` to `this.rows - 1`.

Fixes #86
2016-06-10 13:08:43 -07:00
runarberg
b01165c1f8 Fix third level shifts for Mac OS and windows
ISO third level keys were not working. That prevented some inputting
important characters (like pipe `|` and caret `^`) on some keyboard
layouts.

Instead of parsing the user-agent string to find the users os, we now
look into the `platform` attribute of the `navigator` object.

Removed the hijacking of the command key `⌘` on Mac OS as the `Alt` key
on other systems.
2016-06-10 16:14:31 +00:00
Paris
5a56849df8 Stop using binary literals. Non ES6 compatible 2016-06-10 19:02:49 +03:00
Paris
fed92ac5c8 Implement tests 2016-06-10 16:35:56 +03:00
Paris
00f4232ecc Export copied text processing to static method 2016-06-10 16:27:58 +03:00
Paris
fa1cd89aa9 Fix copying of non-breaking spaces 2016-06-10 16:17:14 +03:00
Daniel Imms
740ae96f5f Merge remote-tracking branch 'upstream/master' into 65_send_ctrl_l_r_key 2016-06-10 03:00:22 -07:00
Paris Kasidiaris
55ca998224 Merge pull request #110 from Tyriar/64_cursor_disappears_when_scrolling
Draw cursor at correct position when scrolling
2016-06-10 12:22:28 +03:00
Paris Kasidiaris
fdff1ca793 Merge pull request #107 from runarberg/fix/ctrl-or-shift-insert-copy-pasting
Allow Ctrl/Shift + insert to copy/paste on windows and linux
2016-06-10 11:57:15 +03:00
Daniel Imms
eee99f62e1 Improve scroll to work with blank lines after the cursor
This commit works fixes scrolling when there were blank lines after the cursor.
Here is what it does (blank rows are those added by running `clear`):

when increasing rows:
  if there are blank rows below the cursor:
    add a blank row to the bottom
  else if there is room in the buffer above the viewport
    scroll up
  else
    add a blank row to the bottom

when decreasing rows:
  if there are blank rows below the cursor:
    remove a blank row from the bottom
  else
    scroll down

Fixes #111
2016-06-09 21:13:48 -07:00
Daniel Imms
da9f86f1a7 Draw cursor at correct position when scrolling
Fixes #64
2016-06-09 19:59:59 -07:00
Daniel Imms
0535f9425b More escape sequence tests 2016-06-09 19:25:29 -07:00
Daniel Imms
3a866cf202 Refactor escape sequence code and add tests 2016-06-09 18:41:54 -07:00
Daniel Imms
e2aaa8d362 Jump over words with ctrl+left/right
Escape codes used: 5=ctrl, C=right, D=left

Fixes #65
2016-06-09 18:01:12 -07:00
runarberg
524db02228 Fix Ctrl/Shift + insert copy/paste
Many systems (including MS Windows and many linuxes) map `<Ctrl>` +
`<Insert>` to copy and `<Shift> + <Insert>` to paste. That serves as a
handy fallback when the more common `<Ctrl> + C` and `<Ctrl> + V`
keybindings have their default prevented to send signals to the
terminal.

Currently all keydown-events with the insert key send `\x1b[2~` to the
terminal. This commit won't send that key if either the `shiftKey` or
the `ctrlKey` are present. Instead it will enable `contentEditable` to
allow for pasting.
2016-06-09 13:45:02 +00:00
Paris Kasidiaris
cf9d2348a1 Merge pull request #97 from Tyriar/redundant_resize
Don't resize when unnecessary
2016-06-09 10:53:16 +03:00
Daniel Imms
df268ad5cd Fix buffer corruption after resizing rows
Lines from the buffer were incorrectly being removed when the viewport was
resized. This change removes the lines when the cursor is above them, if not it
shifts the viewport down. Some basic jsdoc comments were added to some Terminal
properties for future reference.

Fixes #98
Fixes #99
2016-06-08 19:08:32 -07:00
Daniel Imms
e721bdc9f0 Don't resize when unnecessary 2016-06-08 17:38:34 -07:00
TDaglis
6bc1881727 Fix emission of terminal focus&blur events 2016-06-07 13:58:00 +03:00
Paris Kasidiaris
180a7af75d Merge pull request #78 from sourcelair/drop-hidden-textarea
Drop hidden textarea for input handling
2016-06-07 09:36:44 +03:00
Paris
8754f8d895 Fix focus and blur events 2016-06-05 03:59:52 +00:00
Paris
c02cc84498 Fix cut and copy events
- Do not actually cut on cut
- Strip trailing whitespaces on copy (fix #66)
2016-06-05 06:35:33 +03:00
Paris
647216876b Add a few hacks for better paste handling across browsers 2016-06-03 11:04:46 +03:00
Paris
f3bd6145a5 Vanish selection when a key with data is being pressed 2016-06-02 13:31:38 +03:00
Paris
8fa1a46584 Handle the paste event better 2016-06-02 13:05:58 +03:00
Paris
fa7d214e78 Remove even more useless code 2016-06-02 12:35:03 +03:00
Paris
178b611b0c Remove useless methods 2016-06-02 12:27:43 +03:00
Daniel Imms
ae0f963799 Remove extra whitespace from class names
Use [].join to retain browser compatibility

Fixes #73
2016-06-02 02:17:03 -07:00
Paris
8ebfa27210 Merge branch 'master' of github.com:sourcelair/xterm.js into content-editable 2016-06-02 12:00:31 +03:00
Paris
1a3846161a Proper rendering of inverse data in default colors
Fix #57
2016-05-30 16:03:26 +00:00
Paris
bd2158613d Make all add-ons CommonJS importable
- Fix #52
- Rename `npm/nodejs project` documentation to `CommonJS environment`
2016-05-03 12:05:13 +03:00
Steven Silvester
7988f634f3 Handle focus clearing 2016-04-21 07:57:13 -05:00
Steven Silvester
a5e34e2288 Fix cursor blink 2016-04-20 15:41:33 -05:00
Steven Silvester
685bc54bf2 Use shift to reduce lines to preserve lines up to cursor 2016-04-14 06:35:44 -05:00
Alexander Olsson
6a87253d94 nodejs module definition
Allow importing xterm into  a nodejs application (for instance an electron
application, or perhaps a test environment using phantomjs which
also has a DOM),
2016-04-11 15:08:47 +02:00
Paris
6406a88ddf pointless 2016-04-08 18:10:27 +03:00
Paris
18b2a1c3b4 Handle drop event 2016-03-10 02:55:24 +02:00
Paris
58056df23d Start working on replacing textarea with contentEditable 2016-03-10 02:07:10 +02:00
TDaglis
f53f5735e1 added selection.type fallback check
for browsers that might not support Selection.isCollapsed property
2015-11-03 12:00:28 +02:00
TDaglis
7a88a4b0e9 fixed selection in firefox 2015-11-03 09:32:43 +00:00
TDaglis
369e1f4c1e exclude alt and meta keys from ctrl default case 2015-10-29 18:34:20 +02:00
TDaglis
702fd24ce8 ignore ctrl+shift characters in keydown input 2015-10-29 18:27:46 +02:00
TDaglis
cc950614c5 blur textarea on terminal blur 2015-10-26 17:13:04 +02:00