Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MLterm makes cursor visible after displaying sixel #24

Closed
dankamongmen opened this issue Jun 20, 2021 · 9 comments
Closed

MLterm makes cursor visible after displaying sixel #24

dankamongmen opened this issue Jun 20, 2021 · 9 comments

Comments

@dankamongmen
Copy link
Contributor

Through at least version 3.9.0, after a Sixel is displayed in MLterm, the cursor is made visible, even if it was hidden before. This behavior is, so far as I can tell, unique to MLterm. It would be appreciated if the previous cursor state were retained.

@arakiken
Copy link
Owner

Sorry, I couldn't reproduce it.
(I used CSI?25l to hide the cursor and showed sixel graphics, but the cursor remained hidden.)
Will you try it again with --logseq option and send me ~/.mlterm/xxxx-YYYYMMDDHHMMSS.log file ?

@dankamongmen
Copy link
Contributor Author

sure, i'll try to get that to you within a few hours

@dankamongmen
Copy link
Contributor Author

@arakiken
Copy link
Owner

Thanks.

Please look at the last 3 lines of the log. => http://mlterm.sourceforge.net/pts_4-20210626231813-2.log
^[[?25h which is output before "Aborted (core dump)" makes the cursor visible.
If I do 'cat pts_4-20210626231813.log.txt' on other terminals such as xterm, the cursor becomes visible.

I haven't investigate https://github.com/dankamongmen/notcurses yet, but do you hit upon the reason why ^[[?25h is output ?
Which value do you set to TERM environmental variable in executing mlterm? You set the same value as other terminals?

@dankamongmen
Copy link
Contributor Author

i'm using the mlterm TERM variable. \e[?25h is cnorm in that terminfo database, which does indeed make the cursor visible.

so, playing around with this, i've learned something interesting -- the cursor problem only seems to happen when i am not using \e[?80l\e[?8452h (i need to use it this way since i am on an older version of mlterm, before recent changes). when i am in this mode, the cursor does not seem to show back up.

The attached log is a run both with and without my manual cinvis escapes.

mlterm-log.txt

@arakiken
Copy link
Owner

arakiken commented Jul 1, 2021

I found a bug which can cause this problem and fixed it.
Please test it.
2416b71

@dankamongmen
Copy link
Contributor Author

looks good!

it would be awesome if you implemented XTVERSION with your version number in it. i'm happy to make such a patch if you'd like.

@arakiken
Copy link
Owner

arakiken commented Jul 2, 2021

I implemented.
13470bb
The response is DCS > | mlterm(3.9.1) ST.

@dankamongmen
Copy link
Contributor Author

wonderful! i now recognize MLterm 3.9.1+ in Notcurses, and no longer apply the cursor-hiding hack nor the inversion of DECSDM when i've verified that version. thank you!

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Jan 17, 2022
pkgsrc changes:
* switch MASTER_SITES to GitHub
* use GTK3 instead of GTK2
* remove local patches integreated into upstream (#5)

Upstream changes (noted in doc/en/ReleaseNote):

ver 3.9.2
* Support Fcitx5.
* Support GTK4 for mlconfig. (./configure --with-gtk=4.0)
* Support CSI > Ps q (XTVERSION). (Response: DCS>|mlterm(3.9.2)ST)
* Add "MOSH_UDP_PORT" environmental variable to specify UDP port or port-range
  to communicate with a mosh server.
* Add INSERT_CLIPBOARD shortcut key.
  (arakiken/mlterm#19)
* Add --fk / format_other_keys option (equivalent to "formatOtherKeys" of xterm), and
  change the default format of the escape sequence with modifyOtherKeys from
  CSI Ps; Ps u to CSI 27; Ps; Ps ~.
* Add --with-iconv, --disable-daemon, --disable-split and --disable-zmodem
  options to ./configure script.
* Add vte 0.66 API symbols to libvte compatible library.
* Show server list dialog at startup on Android.
* It is deprecated to use "mlterm" as the value of termtype / -y option.
* 'termcap' config file stops to accept multiple terminal types concated by '|'
  (e.g. xterm|xterm-256) as key.
* Arabic ligatures (U+644-U+622, U+644-U+622, U+644-U+625, U+644-U+627) occupy
  two logical columns instead of one even if --dyncomb option isn't specified.
* KBD_INPUT_NUM and MOUSE_INPUT_NUM environmental variables (for mlterm-fb)
  accept multiple device numbers by "<num>,<num>".
* Show "Config: key=value" only if shortcut keys whose format is
  "proto:(echo)key=value" is pressed.
* Merge patches:
  arakiken/mlterm#5.
  arakiken/mlterm#9.
  arakiken/mlterm#12.
  arakiken/mlterm#22.
* Bug fixes:
  Fix arakiken/mlterm#15.
  Fix arakiken/mlterm#18.
  Fix arakiken/mlterm#24.
  Fix arakiken/mlterm#28.
  Fix failure of restarting mlterm on Android. (Enbugged at 3.9.1)
  Fix segfault if mlterm screen with -t option goes outside of the display.
  Fix emoji glyphs becoming too large with cairo.
  Fix corrupt value of "word_separator" option which mlconfig outputs.
  Fix incompatibility with xterm in pressing Shift + a-z keys etc if modifyOtherKeys is 1.
  (arakiken/mlterm#21)
  Fix segfault in opening a new roxterm tab with libvte compatible library on wayland.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants