OS: win10.0.14393 Build 14393
Chrome Version: 58.0.3029.110 (64-bit)
The cursor always cover the last letter, there are no case like this on the other computers.

How can I handle the issues ?
Thank you
--
You received this message because you are subscribed to the Google Groups "chromium-hterm" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-hterm/81c942f6d5f94c989d8760fd3e977578%40HQMB03.intra.legendsec.com.
Welcome to Secure Shell version 0.8.36.3.
Answers to Frequently Asked Questions: https://goo.gl/muppJj (ctrl+click on links to open)
[Pro Tip] Use 'Open as Window' to keep Control-W from closing your terminal!
[Pro Tip] See https://goo.gl/muppJj for more information.
正在连接 xxxxxx,端口为 22...
Loading NaCl plugin... done.
xxxxxxxx's password:
Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-83-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
0 packages can be updated.
0 updates are security updates.
Last login: Mon Jul 3 14:28:03 2017 from 127.0.0.1
➜ ~ echo $PS1
${ret_status} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)
➜ ~
发件人: vap...@google.com [mailto:vap...@google.com]
代表 Mike Frysinger
发送时间: 2017年6月2日
22:41
收件人: 李常坤 <licha...@b.360.cn>
抄送: chromiu...@chromium.org
主题: Re: [chromium-hterm] Secure shell cursor issue
The remote target shell is zsh.
I have two Computers, one(surface pro 4) is ok, the other one (PC) doesn’t work fine, when I connect the same remote target by secure shell on chrome.
The below is what you need:
Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-83-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
0 packages can be updated.
0 updates are security updates.
Last login: Mon Jul 3 21:39:55 2017 from 127.0.0.1
➜ ~ declare -p PS1
typeset PS1='${ret_status} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'
➜ ~
发件人: vap...@google.com [mailto:vap...@google.com]
代表 Mike Frysinger
发送时间: 2017年7月3日
23:52
收件人: 李常坤 <licha...@b.360.cn>
抄送: chromiu...@chromium.org
主题: Re: 答复: [chromium-hterm] Secure shell cursor issue
When I change shell from zsh to bash, It works fine. I think the key is :➜
Thank you, very much !!
发件人: vap...@google.com [mailto:vap...@google.com]
代表 Mike Frysinger
发送时间: 2017年7月4日
10:23
收件人: 李常坤 <licha...@b.360.cn>
抄送: chromiu...@chromium.org
主题: Re: 答复: 答复: [chromium-hterm] Secure shell cursor issue
This occurs with fonts with glyphs that are wider than their defined width, most notably affecting "powerline" symbols. hterm only appears to position the cursor based on fixed character width.
--
You received this message because you are subscribed to the Google Groups "chromium-hterm" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-hterm/bdcecc0b-86f9-4e60-aeb0-334030ebb3bf%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-hterm/CAAbOScm5fSZS%2Bz8Z86zWLuVywG85j6BfvQk%3DB2Ym4_ygRMsaiQ%40mail.gmail.com.
the way i'm doing it atm is extending the current wc-node implementation. since hterm.TextAttributes.splitWidecharString already walks every codepoint, i add a check (after the optimize-for-ascii part) that looks at the width and if it's outside of an epsilon (i'm going with 0.5px atm), it sticks it into a narrow-node span which forces the width to the calculated char width. (i'm not addressing the fundamental problem of we want to split on graphemes, not codepoints, as that's a preexisting problem.)
there isn't a perf hit in the common case (all ASCII), and the hit otherwise isn't large ... even in a pathological case of displaying the first 4k codepoints in a single screen. only a small percentage fall outside the char width normally.the issue is the one time cost for building up the table of widths based on the font selection. it takes about 500ms on my X1 carbon to process ~12k glyphs, and we have to do that every time the fonts change. when Secure Shell loads, it ends up changing the set of fonts 3 or 4 times which means ~2sec delay :). so i'm looking at:- building the cache on demand which shouldn't be too hard (and then there is only a one-time hit everytime we see a new codepoint)- maintaining the cache in local storage so it persists across runs ... this is a bit more difficult for two reasons- we don't want it in sync storage (since the exact fallback fonts used are diff between OS's) and hterm only has a single backing store atm (so i need to plumb it out)
On Mon, Jul 31, 2017 at 12:15 PM, Mike Frysinger <vap...@chromium.org> wrote:the way i'm doing it atm is extending the current wc-node implementation. since hterm.TextAttributes.splitWidecharString already walks every codepoint, i add a check (after the optimize-for-ascii part) that looks at the width and if it's outside of an epsilon (i'm going with 0.5px atm), it sticks it into a narrow-node span which forces the width to the calculated char width. (i'm not addressing the fundamental problem of we want to split on graphemes, not codepoints, as that's a preexisting problem.)Interesting. Certainly sounds like less work than rewriting the existing screen code.there isn't a perf hit in the common case (all ASCII), and the hit otherwise isn't large ... even in a pathological case of displaying the first 4k codepoints in a single screen. only a small percentage fall outside the char width normally.the issue is the one time cost for building up the table of widths based on the font selection. it takes about 500ms on my X1 carbon to process ~12k glyphs, and we have to do that every time the fonts change. when Secure Shell loads, it ends up changing the set of fonts 3 or 4 times which means ~2sec delay :). so i'm looking at:- building the cache on demand which shouldn't be too hard (and then there is only a one-time hit everytime we see a new codepoint)- maintaining the cache in local storage so it persists across runs ... this is a bit more difficult for two reasons- we don't want it in sync storage (since the exact fallback fonts used are diff between OS's) and hterm only has a single backing store atm (so i need to plumb it out)The fallback fonts could even change on a single machine, if they are installed or removed.