85 Commits

Author SHA1 Message Date
Peter Cai
0ac8437387 term: fix password input on Chrome for Android
1. Also force focus on inputHelper on keyup on Android
2. Clear the inputHelper immediately upon receiving input
2018-06-03 20:58:39 +08:00
Peter Cai
866b56b682 term: bring back touch simulation of special keys on mobile
and also fixed it. The original version did not work because it tried
to change read-only fields of the event, which is not allowed.

The last commit removed support of touch simulation of Ctrl and Alt
by removing the `virtual_input.coffee` file. This commit brings it back
with a better implementation.
2018-06-03 20:10:24 +08:00
Peter Cai
4d87059872 remove unneeded virtual_input
We have already introduced a virtual textarea for every platform.
This one seems redundant.

However, some features may still not work perfectly on a mobile browser
2018-06-03 18:03:23 +08:00
Peter Cai
5bbe456496 term: remove redundant events of inputHelper and redundant contentEditable
We do not need to listen for keydown and keypress for inputHelper because these events will propagate through the parent.
Listening them will be redundant and will cause some shortcut key combinations to stop working.

Since we now have a hidden `textarea`, there is no longer need to set anything to contentEditable
2018-06-03 17:51:16 +08:00
Peter Cai
5b9cc257a8 term: do not re-focus on keyup when on mobile
Doing this will mess up the mobile browsers.
Although we still don't support mobile browsers very well, this can at least make it usable on them.
2018-06-03 12:19:43 +08:00
Peter Cai
34b6287e0c term: complete support for IME & CJK rendering
this fixes #75 and #47, two bugs originated long long ago.

1. Added support for IME events `compositionstart` `compositionupdate` and `compositionend`.
2. Refactored some code to receive input events from a hidden textarea just as how `xterm.js` now does. This removes the need to set `contentEditable` on the body in order to receive IME compistion events, and also guides the IME input box correctly following the cursor.
3. Fixed CJK rendering. Forces "forceWidth" mode with double width on those known CJK ranges in Unicode. Corrected the placeholder logic of the force width mode. Note that some rare halfwidth CJK characters will still not render correctly without `force-unicode-width` enabled. If you see any issue, please enable the `--force-unicode-width` option.
4. Miscallaneous fixes for some problems after introducing the above change

Tested on Firefox Nightly 62 on Linux and Chromium 67 on Linux, with `fcitx` as input method.
2018-06-03 10:27:49 +08:00
Florian Mounier
729c768dc2 Happy new year (a bit late) 2017-02-13 11:16:59 +01:00
Florian Mounier
b0e1f37cac Interesting Fixes 2016-10-13 17:45:12 +02:00
Florian Mounier
3624962d3c Historize by ext 2016-10-13 16:11:44 +02:00
Florian Mounier
b9f1727f1e Finally a near perfect resize 2016-10-13 15:24:57 +02:00
Florian Mounier
5a7c4da0b1 Unoptimized but working dom creation 2016-10-13 12:41:31 +02:00
Florian Mounier
fa2b9d2bee Rework refresh 2016-10-13 10:03:15 +02:00
Florian Mounier
3bb6da1eae Fix ctl 2016-10-11 11:22:09 +02:00
Florian Mounier
8dffb02980 Merge branch 'master' into 2ws 2016-10-07 09:59:14 +02:00
Florian Mounier
97d435ce18 Add horizontal wrap (expandable no wrapping lines) on decset 77 2016-09-29 11:39:49 +02:00
Florian Mounier
2887f6e25a Linkify as an extension. Finally fix #97 2016-09-28 17:42:23 +02:00
Florian Mounier
3c2bf35b09 Fix most of things 2016-08-19 17:42:36 +02:00
Florian Mounier
fe258f44f8 Add a ctl ws, base all session on a session key. 2016-08-19 14:48:51 +02:00
Florian Mounier
fe01ffb2b4 Fix keyup 2016-08-08 11:19:54 +02:00
Florian Mounier
ac7e9bef8e Remove throuput control and use the pause/break key to prevent flood. 2016-08-08 11:12:22 +02:00
Florian Mounier
c0e2d8959b Merge #94 2016-01-18 10:19:01 +01:00
Florian Mounier
056fbc02b1 Fix home/end 2016-01-18 10:05:50 +01:00
Florian Mounier
28ebf9d8a2 Clear scrollback on hard reset 2015-10-27 16:23:37 +01:00
Florian Mounier
a9c35d91f1 Add geolocation 2015-10-19 15:01:11 +02:00
Florian Mounier
84c4ff9414 Avoid broken image at launch on abstract image 2015-10-19 10:25:36 +02:00
Florian Mounier
4e4d54de1f Fix cursor blur. Fix scrollLock on focus/blur. Rework binaries. 2015-10-16 15:58:32 +02:00
Florian Mounier
fc5879f2d4 Try fixing session size 2015-10-13 11:40:32 +02:00
Florian Mounier
9c36b0c8c1 Add active line class 2015-10-09 12:02:31 +02:00
Florian Mounier
38a4c4083d Rework style paradigm 2015-10-08 11:37:48 +02:00
Florian Mounier
c937a8753d Add a regex on notif handler + an ansi cleaner 2015-10-07 18:25:39 +02:00
Florian Mounier
7916014854 Copyright bump 2015-10-07 16:40:50 +02:00
Florian Mounier
0f7a51d451 Add a default conf file. Handle themes in a far more intelligent way by adding a popup and saving conf in localStorage. 2015-10-07 16:03:32 +02:00
Florian Mounier
909bcfa9f4 Add various SGR (add italic / crossed out / fainted support). Support resize in alternate buffer. 2015-10-06 14:07:31 +02:00
Florian Mounier
0e97cc8362 Add theme and session support bin. 2015-10-05 17:03:26 +02:00
Florian Mounier
6d346af6f4 Fix alt buffer restore 2015-10-05 11:56:34 +02:00
Florian Mounier
ed03f94c84 Fix cc freeze 2015-06-26 11:01:49 +02:00
Florian Mounier
4e66196d65 Hardle diacritical marks 2015-05-18 17:26:27 +02:00
Florian Mounier
d99cffabc4 Support theme font 2015-05-15 17:05:08 +02:00
Florian Mounier
354280bbda Working on better compatibility (now compliant with all the vttest test #1) 2015-05-15 12:43:02 +02:00
Florian Mounier
89a7e05f55 Handle native window resize for when it's possible (app mode). Fix a weird bug for backspace at EOL 2015-05-15 11:57:01 +02:00
Florian Mounier
7d8f3b2845 Fix blanklines at start 2015-05-12 11:27:55 +02:00
Florian Mounier
81d9fea01a Allow html by default by using the google caja sanitizer 2015-05-12 10:56:55 +02:00
Florian Mounier
78e3050387 Explicit line wraps 2015-05-07 15:29:17 +02:00
Florian Mounier
326a42b7f1 Security fix 2015-05-05 09:40:56 +02:00
Florian Mounier
807d40bf9f Fix clearscreen on \e[?1049l 2015-04-30 18:56:59 +02:00
Florian Mounier
5aac9886c5 Fix SGR mouse, therefore fix tmux selection, hopefully fix #73 2015-04-30 18:46:55 +02:00
Florian Mounier
1fafe99fd1 Fix #1 \o/ 2015-04-30 17:52:48 +02:00
Florian Mounier
da3e9237be Insert mode + coding style 2015-04-30 14:40:45 +02:00
Florian Mounier
2b5ea8dc9a Add some help and rewrite bcat 2015-04-29 16:59:18 +02:00
Florian Mounier
4492b59e99 Scroll lock 2015-04-27 15:42:14 +02:00