Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/m00nwtchr/st
My st config. (Arch Linux)
https://github.com/m00nwtchr/st
aur dotfiles st suckless
Last synced: 13 days ago
JSON representation
My st config. (Arch Linux)
- Host: GitHub
- URL: https://github.com/m00nwtchr/st
- Owner: m00nwtchr
- Created: 2021-07-17T01:40:31.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-04-24T10:41:53.000Z (almost 3 years ago)
- Last Synced: 2024-12-03T04:27:21.307Z (2 months ago)
- Topics: aur, dotfiles, st, suckless
- Language: C
- Homepage:
- Size: 43.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.terminfo.rst
Awesome Lists containing this project
README
Terminfo Entries
================:Author: Sebastian J. Bronner
:Date: 2019-11-06
:URL: https://aur.archlinux.org/packages/stThe 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``.Specifically, I have observed the following issues when using the terminfo
entries supplied with ``ncurses``:* Start ``st``.
* Run ``tmux`` in the ``st`` window.
* Run ``nvim`` in ``tmux``.* ``tmux`` will crash immediately with the following message:
.. code:: console
[lost server]
%* Run ``w3m`` with any URL in ``tmux``.
* ``w3m`` will not react to any key presses (most notably the arrow keys and
``q``) and must be terminated with ``killall w3m``.
* The command line returned where ``w3m`` was running will show all the
missing keypresses.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/1593Complications
-------------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:.. code:: shell
tic -sx /usr/share/st/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.