Daniel Imms
588d3b12e0
Disable onScroll event during application mode
...
Fixes #235
2016-08-19 12:52:13 -07:00
Daniel Imms
c24ae84b00
Fix tests
2016-08-12 10:27:49 -07: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
e60513f554
Fix outline showing up when clicking terminal
2016-08-08 10:22:34 -07:00
Daniel Imms
a557a82b40
Fix scrollbar being transparent on OS X
2016-08-08 10:22:19 -07:00
Daniel Imms
2c9c95f531
Add another test
2016-08-04 18:56:33 -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
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
e2d0de2686
Fix test
2016-07-22 05:18:28 -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
Daniel Imms
9dd64dfb49
Switch linkify for fit in readme
...
Linkify doesn't work currently so it shouldn't be used as an example.
2016-07-15 16:41:40 -07: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
a3a7017f6b
Fix tests
2016-07-15 10:22:31 -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
2c810ce763
Add note about support intentions
2016-07-15 10:12:55 -07:00
Daniel Imms
b61e81d5b4
Add latest Edge version as supported, alphabetize
2016-07-15 10:10:10 -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
14a62c0f8b
Add test cases for Japanese
2016-07-13 21:22:27 -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
4efb8d24ac
Don't wrap multi-character compositions
2016-07-13 20:34:55 -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
Daniel Imms
c18794f202
Merge remote-tracking branch 'upstream/master' into 124_add_textarea_back
2016-07-13 07:14:14 -07:00
Daniel Imms
8b46e84263
Use correct .terminal-cursor for composition view
2016-07-12 21:42:10 -07:00
Daniel Imms
237e6819bf
Fix tests
2016-07-12 20:55:24 -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
03fa017d4a
Re-hide the textarea
2016-07-12 18:49:37 -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
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
Daniel Imms
15cf76c767
Bind to 127.0.0.1 on Windows only
2016-06-22 20:43:41 -07:00
Daniel Imms
3df272fb92
Merge remote-tracking branch 'upstream/master' into windows_demo
2016-06-22 20:36:05 -07:00
Daniel Imms
2aab58473e
Fix npm scripts
2016-06-16 16:31:01 -07:00
Daniel Imms
5d3bac6a86
Merge remote-tracking branch 'upstream/master' into windows_demo
2016-06-16 16:28:20 -07: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
Daniel Imms
fd5be55d81
Add some jsdoc for important functions
...
Part of #13
2016-06-10 20:05:26 -07:00
Daniel Imms
e0c0fb6917
Add basic options selection to demo
...
This will make it easier to test options without needing to modify the demo.
2016-06-10 19:15:58 -07:00
Daniel Imms
f2f0f460c4
Add a bunch of tests
2016-06-10 18:53:32 -07:00
Daniel Imms
08928d8b8e
Merge remote-tracking branch 'upstream/master' into linkify_ip_addr
2016-06-10 18:08:39 -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
9c3b1105e2
Check optional port clause after domain too
2016-06-10 13:15:59 -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
Daniel Imms
740ae96f5f
Merge remote-tracking branch 'upstream/master' into 65_send_ctrl_l_r_key
2016-06-10 03:00:22 -07: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
c86fd87819
Add tests for F-keys
2016-06-09 19:00:40 -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
Daniel Imms
7a80efd8bd
Don't crash demo server on refresh
...
Fixes #100
2016-06-08 19:28:55 -07: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
Daniel Imms
2a36ff0839
Merge remote-tracking branch 'upstream/master' into patch-2
2016-06-07 23:34:35 -07:00
Daniel Imms
23cfa3d824
Add IP addresses to linkify
...
Fixes #91
2016-06-07 22:12:38 -07:00
Daniel Imms
289ff8092d
Add demo section to README
...
Fixes #87
2016-06-07 17:08:37 -07: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