Commit Graph
10765 Commits
Author SHA1 Message Date
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
Paris Kasidiaris 055614bbbc Merge pull request #121 from Tyriar/119_fix_cursor_blink
Fix cursor blinking when enabled
2016-06-15 09:51:49 +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 5d1b6cfe97 Merge pull request #129 from sourcelair/docs
Improve docs building script and template
2016-06-14 10:56:08 +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 623853f3f4 Get demo working on Windows
- Removed bin bash scripts in favor of npm scripts so they work
  cross-platform
- Moved to use 127.0.0.1 as 0.0.0.0 doesn't work on Windows

Note that this doesn't work with the current pty.js as it doesn't build on
Windows.
2016-06-13 15:55:47 -07:00
Paris Kasidiaris 6c892e7161 Merge pull request #125 from sourcelair/addon-loader
Implement addon loader (CommonJS + RequireJS)
2016-06-14 00:58:23 +03:00
Paris be304c6ee7 Implement docs building 2016-06-14 00:21:17 +03:00
Paris 00f380a75c Implement test 2016-06-14 00:05:47 +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
Paris Kasidiaris 9d34ed8781 Merge pull request #122 from Tyriar/demo_options
Add basic options selection to demo
2016-06-13 15:03:10 +03:00
Paris Kasidiaris f3dd0a4ec8 Merge pull request #123 from Tyriar/jsdoc
Add some jsdoc for important functions
2016-06-13 14:58:17 +03:00
Antonis Kalipetis 9371520a73 Merge pull request #93 from Tyriar/linkify_ip_addr
Add IP addresses to linkify
2016-06-13 14:53:17 +03: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
Paris Kasidiaris 7c1559b8ad Merge pull request #60 from runarberg/master
Fix cross platform input problems
2016-06-10 19:32:45 +03: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 Kasidiaris b5d9c6b113 Merge pull request #115 from sourcelair/decimal-terminal-flags
Stop using binary literals
2016-06-10 19:07:25 +03:00
Paris 5a56849df8 Stop using binary literals. Non ES6 compatible 2016-06-10 19:02:49 +03:00
Paris Kasidiaris c908f849c5 Merge pull request #114 from sourcelair/fix-copy-nbsp
Stop copying non-breaking spaces into clipboard
2016-06-10 17:05:10 +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
Antonis Kalipetis 5193f4fae0 Merge pull request #109 from Tyriar/65_send_ctrl_l_r_key
Jump over words with ctrl+left/right
2016-06-10 15:57:10 +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
Paris Kasidiaris fa729b8306 Merge pull request #112 from Tyriar/111_scroll_with_blank_lines_after_cursor
Improve scroll to work with blank lines after the cursor
2016-06-10 11:40:08 +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 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
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
Paris Kasidiaris 92122bf29b Merge pull request #105 from sourcelair/issue/46
Introduce testing environment for xterm.js
2016-06-09 10:29:34 +03:00
Paris abb7a49584 Add CXX environment 2016-06-09 10:22:49 +03:00
Paris beff0db301 Add apt addon in travis for node-gyp dependency of pty.js 2016-06-09 10:18:39 +03:00