-
Notifications
You must be signed in to change notification settings - Fork 763
Open
Milestone
Description
MinTTY allows to change cursor styles and colors but mosh ignores them.
This would be useful for vim (different insert and normal mode cursors)
Mode-dependent cursor in vim:
CSI Ps SP q
Example: echo -ne '\e]12;#00FF00\a' # green cursor
http://code.google.com/p/mintty/wiki/Tips#Mode-dependent_cursor_in_vim
Changing colors:
OSC Ps ; Pt ST
OSC Ps ; Pt BEL
Example: echo -ne "\e[2 q" # non blinking block cursor
http://code.google.com/p/mintty/wiki/Tips#Changing_colours
Xterm Control Sequences taken from
http://invisible-island.net/xterm/ctlseqs/ctlseqs.txt
topaxi, marsjaninzmarsa, lilydjwg, brt, msva and 27 more
Metadata
Metadata
Assignees
Type
Projects
Relationships
Development
Select code repository
Activity
theeternalsw0rd commentedon Jan 22, 2013
Not just mintty. This is across the board. Mosh currently only looks for visibility and position of the cursor.
The spec is at http://vt100.net/docs/vt510-rm/DECSCUSR
theeternalsw0rd commentedon Jan 27, 2013
There's also another sequence used by iTerm2 and Konsole https://code.google.com/p/iterm2/issues/detail?id=710
among others documented at http://vim.wikia.com/wiki/Change_cursor_shape_in_different_modes
In addition with tmux running, the codes must be further escaped by "\ePtmux;\e" and "\e"
To make matters worse, when using tmux if you have a remote tmux session within a local tmux session, you have to send multiple codes so that it will update on multiple ends. In my case I use Konsole on linux and iTerm2 on OSX and still have to send the xterm-based sequence to get tmux within tmux to display the correct cursor even though both ends should support the same sequence.
ssh works fine because it sends the full stream both ways, but with mosh's diff based system I'm not sure how feasible monitoring all this would be because I don't think it's something that can be queried, at least not across the board, and even if it can be queried, which code should it use and on which end.
Why cursor shape definition isn't a followed standard is beyond me. Makes portability extremely difficult.
ddickstein commentedon Feb 13, 2017
+1 on this issue
msva commentedon Feb 2, 2018
is it any work in this direction? :D
xPMo commentedon Mar 27, 2018
Re: Tmux: Adding
set -ga terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q'
to.tmux.conf
is the way to allow tmux to pass cursor codes. Mosh still needs to support it, ofc.broander commentedon Aug 22, 2020
Cursor change should be possible, unlike a lot of the other open feature requests it won't add a lot of data overhead. Seems like the problem is there have been no new releases in years?
kovasap commentedon Jan 22, 2021
+1 on this issue!
NightMachinery commentedon Oct 6, 2021
This also works on Kitty. It would be great to support it.
achernya commentedon Jan 20, 2023
It looks like this was supported in xterm per https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
redone9211 commentedon Jan 22, 2023
i would like to contribute to this issue , can you let me know how i can solve it.
achernya commentedon Jan 24, 2023
PR #1167 from Issue #1084 is a (partial?) solution to this.
oscarmlage commentedon Feb 28, 2024
Any news or progress on this issue?
nvim --clean
with nvim version 11.0 dev, the cursor becomes a block in insert mode. neovim/neovim#31202i18nsite commentedon Nov 13, 2024
please merge #1292
It will be fine after I apply this patch
martijnkruiten commentedon Nov 13, 2024
I've been using the changes from #1292 daily for quite a while and I haven't noticed any issues with it. It works as advertised.
msva commentedon Nov 14, 2024
// just in case anybody interested, I merged #1292 and some other PRs form here in https://github.com/alphallc/mosh
Also, I've made Ubuntu PPA with mosh build from that fork at ppa:mva/mosh (https://launchpad.net/~mva/+archive/ubuntu/mosh)
uqs commentedon Apr 2, 2025
As someone who has just learned about this and now uses this in zshrc to get pipe or block cursors, the lack of support in Mosh is sad. All other ssh, xterm, vim, tmux combinations work, only mosh is missing.
Any idea when this will get merged? What sort of testing would you like to see?
oscarmlage commentedon Apr 3, 2025
Yes,please merge #1292