diff options
author | Sebastian J. Bronner | 2023-02-12 21:34:40 +0100 |
---|---|---|
committer | Sebastian J. Bronner | 2023-02-12 21:34:40 +0100 |
commit | 8a499bd01c9f86326a0672ffdf47677bd2edae5f (patch) | |
tree | 8c832cb4444ed331ed66593f566853924573497f | |
parent | 81f6b1e2bb3bf1385f6c3f1437360055494d2505 (diff) | |
download | aur-8a499bd01c9f86326a0672ffdf47677bd2edae5f.tar.gz |
Update terminfo README.
-rw-r--r-- | .SRCINFO | 2 | ||||
-rw-r--r-- | PKGBUILD | 2 | ||||
-rw-r--r-- | README.terminfo.rst | 56 |
3 files changed, 14 insertions, 46 deletions
@@ -14,6 +14,6 @@ pkgbase = st source = README.terminfo.rst sha256sums = f36359799734eae785becb374063f0be833cf22f88b4f169cd251b99324e08e7 sha256sums = f9deea445a5c6203a0e8e699f3c3b55e27275f17fb408562c4dd5d649edeea23 - sha256sums = 0ebcbba881832adf9c98ce9fe7667c851d3cc3345077cb8ebe32702698665be2 + sha256sums = 95be3197f7de77a0fe2e4f527202e17e910ee24e1ed6bc39beb320a1304bb7e1 pkgname = st @@ -17,7 +17,7 @@ source=(https://dl.suckless.org/$pkgname/$pkgname-$pkgver.tar.gz README.terminfo.rst) sha256sums=('f36359799734eae785becb374063f0be833cf22f88b4f169cd251b99324e08e7' 'f9deea445a5c6203a0e8e699f3c3b55e27275f17fb408562c4dd5d649edeea23' - '0ebcbba881832adf9c98ce9fe7667c851d3cc3345077cb8ebe32702698665be2') + '95be3197f7de77a0fe2e4f527202e17e910ee24e1ed6bc39beb320a1304bb7e1') _sourcedir=$pkgname-$pkgver prepare() { diff --git a/README.terminfo.rst b/README.terminfo.rst index cd724d0d4cd6..8c08b948f67e 100644 --- a/README.terminfo.rst +++ b/README.terminfo.rst @@ -2,7 +2,7 @@ Terminfo Entries ================ :Author: Sebastian J. Bronner <waschtl@sbronner.com> -:Date: 2019-11-06 +:Date: 2023-02-12 :URL: https://aur.archlinux.org/packages/st The Problem @@ -10,11 +10,11 @@ The Problem Most Linux-based distributions will have their terminfo entries in the ``ncurses`` package. These live in ``/usr/share/terminfo``. There you will find -several entries for ``st``. As of ``ncurses-6.1`` as packaged in ArchLinux, -these, do not work well with current versions of ``st``. +several entries for ``st``. Up until ``ncurses-6.1`` as packaged in ArchLinux, +these, did not work well with then-current versions of ``st``. Specifically, I have observed the following issues when using the terminfo -entries supplied with ``ncurses``: +entries supplied with those versions of ``ncurses``: * Start ``st``. * Run ``tmux`` in the ``st`` window. @@ -38,53 +38,21 @@ For reference, I performed these tests using the following software versions: ``st`` 0.8.2, ``tmux`` 2.9_a, ``neovim`` 0.4.2, and ``w3m`` 0.5.3.git20190105-1. -A couple of issues have been filed against ``tmux`` for this. Although it is -not a problem with ``tmux`` the issues remain for reference: - -| https://github.com/tmux/tmux/issues/1264 -| https://github.com/tmux/tmux/issues/1593 - -Complications -------------- - -While it may be tempting to use the terminfo files shipped with ``st``, that -would be a bad idea from a packaging standpoint. There are two reasons for -this: (1) As of ``st-0.8.2`` they have errors in them. This has been fixed and -will roll out in the next release, though. - -| https://lists.gnu.org/archive/html/bug-ncurses/2019-10/msg00071.html -| https://lists.suckless.org/hackers/1911/17006.html - -(2) It is vital that remote terminals connecting via ``ssh`` are known. That is -accomplished by having all terminfo files in one package (like ``ncurses``). - -``ncurses`` has released updated terminfo entries. The problem as described -above is fixed. However, the updated terminfo entries are not installed on -ArchLinux because they were released as a standalone file without a new release -of the rest of ``ncurses``. - -The Solution ------------- - -The solution must be to get the updated terminfo entries packaged for -ArchLinux. I believe that the ``ncurses`` package should be updated to that -effect. - -https://bugs.archlinux.org/task/57596 - The Workaround -------------- -A somewhat painful, albeit pragmatic, workaround is as follows: A user that -encounters issues that are due to mismatched terminfo entries, such as those -above, can populate a user-level terminfo database from the terminfo entries -supplied by ``st``. The following command will do this: +The affected versions of all software packages have since been updated and the +issue has been resolved. However, when connecting to older remote systems using +``ssh`` in ``st``, those remote systems may still be affected. In those cases, +it would help to copy over ``st``'s terminfo file and generate user-level +terminfo entries: .. code:: shell - tic -sx /usr/share/st/st.info + rsync /usr/share/st/st.info <remote>: + ssh <remote> tic -sx st.info The generated terminfo database will most likely be placed in ``~/.terminfo``. The command will print the actual location used. Unfortunately, these files need to be kept up to date by hand. Actually they should probably be removed as -soon as a new version of ``ncurses`` is released. +soon as a new version of ``ncurses`` is installed on the remote system. |