Commit Graph

126 Commits

Author SHA1 Message Date
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
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