]> git.99rst.org Git - irssi-scripts.irssi.org.git/commit
[nicklist] Improve terminal compatiblity of screen mode
authorMatthias Schiffer <redacted>
Tue, 2 Oct 2018 20:23:16 +0000 (22:23 +0200)
committerMatthias Schiffer <redacted>
Tue, 2 Oct 2018 20:23:16 +0000 (22:23 +0200)
commitcb9d5cf18f73f277bf4b85e2d4ab0d9e31e9a436
tree7a396fb6f605a8aaa3de2541fd275e6166d73d93
parent0494feb9e850de8806da6fa40ea4350ecea80bdf
[nicklist] Improve terminal compatiblity of screen mode

In screen mode, nicklist.pl uses the obscure escape sequences CSI s and
CSI u to save and restore the cursor position; on top of that, it uses
ESC P to bypass screen's interpretation of these escape sequences, passing
them directly to the underlying terminal.

While I did not investigate whether this makes sense at all - bypassing
screen's position tracking seems dangerous at best - this fix improves
terminal compatiblity by replacing CSI s and CSI u with the more common
ESC 7 and ESC 8 sequences [1].

The issue surfaced then vte3 replaced their parser, removing support for
CSI s and CSI u [2]. While support has been restored in the latest master
[3], using the more compatible escape sequences in nicklist.pl generally
seems like a good idea.

[1] https://gitlab.gnome.org/GNOME/vte/issues/48
[2] https://gitlab.gnome.org/GNOME/vte/issues/55
[3] https://gitlab.gnome.org/GNOME/vte/commit/f86cae603b23d34e36ab95fde6612bfc4d5eeca8
scripts/nicklist.pl
git clone https://git.99rst.org/PROJECT