44 Commits

Author SHA1 Message Date
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
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
92633f52ce Fix unescaping entities when linkifying 2017-11-23 14:56:18 +01:00
Florian Mounier
bdc1c7a80d Add a Makefile. Lint code. Fix butterfly open. Add a CHANGELOG.md 2017-05-02 17:59:52 +02:00
Florian Mounier
729c768dc2 Happy new year (a bit late) 2017-02-13 11:16:59 +01:00
Florian Mounier
e4ce69a967 Fix keyboard selection 2016-11-28 14:38:49 +01:00
Florian Mounier
b0e1f37cac Interesting Fixes 2016-10-13 17:45:12 +02:00
Florian Mounier
da659b7526 Fix selection 2016-10-13 16:25:18 +02:00
Florian Mounier
3624962d3c Historize by ext 2016-10-13 16:11:44 +02:00
Florian Mounier
fa2b9d2bee Rework refresh 2016-10-13 10:03:15 +02:00
Florian Mounier
6c827206f7 Merge branch 'master' into 2ws 2016-10-07 11:32:15 +02:00
Florian Mounier
d0eb37765a Limit rate on paste 2016-10-07 11:30:59 +02:00
Florian Mounier
8dffb02980 Merge branch 'master' into 2ws 2016-10-07 09:59:14 +02:00
Florian Mounier
7d7f05e164 Fix scroll 2016-09-29 17:15:38 +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
fe258f44f8 Add a ctl ws, base all session on a session key. 2016-08-19 14:48:51 +02:00
Florian Mounier
c0e2d8959b Merge #94 2016-01-18 10:19:01 +01:00
Florian Mounier
5714b97c77 Get the session for current user only for env far fetch. Work on readme for 2.0 2015-10-20 14:53:25 +02:00
Florian Mounier
7b37716177 Add themes as a submodule and handle both builtin themes and local themes. 2015-10-14 13:19:52 +02:00
Florian Mounier
71820849eb Add a shortcut to open a new tab 2015-10-12 17:50:21 +02:00
Florian Mounier
0f36db5264 Fix firefox popup with content editable. 2015-10-08 14:18:35 +02:00
Florian Mounier
834200256c Fix bopen/bsession. 2015-10-08 13:58:56 +02:00
Florian Mounier
96606d2b0b Add session list 2015-10-08 12:56:56 +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
93ff8a3969 Add an exit confirm dialog 2015-10-07 16:38:29 +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
0e97cc8362 Add theme and session support bin. 2015-10-05 17:03:26 +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
5bdcc8dd71 Fix element -> body in ext 2015-04-29 14:53:52 +02:00
Florian Mounier
ca454b4149 Add escapes 2015-04-13 17:32:59 +02:00
Florian Mounier
3afebe4be0 Initial naive implementation of smooth scroll 2015-04-10 18:19:39 +02:00
Florian Mounier
2eae240842 Lot of native scroll fix + ff copy/paste 2015-04-10 16:34:20 +02:00
Florian Mounier
000754d5c8 Fixes + Improvement of overflow section 2015-04-09 15:34:53 +02:00
Florian Mounier
16a1dae39c Remove extraneous line feed 2015-01-29 11:27:17 +01:00
Florian Mounier
41616f8163 Fix trim + fx 2015-01-28 15:31:40 +01:00
Florian Mounier
8754085deb Improve copy paste 2015-01-28 13:15:42 +01:00
Florian Mounier
66846b50a2 Better nbsp handling: visual nbsp + selection tools now paste space instead of nbsp if it was originally a space 2014-12-15 11:06:35 +01:00
Florian Mounier
488e03246c - Add alarm mode [alt+A] for now
- isolate ext modules
- remove now useless scss
- update node deps
2014-07-18 16:04:12 +02:00