On Fri, Mar 21, 2014 at 12:41:38PM +0100, Nils R wrote: > Hi misc, > > i have a problem with my terminal, st [1]. Just for the record, > i am using the latest -current snapshot (but the problem existed > before). I had an unrelated problem with zsh, where my HOME and > DEL key were not working properly (the related thread on the > st-mailing list can be found at [2]). I was pointed to the zsh FAQ > [3], where they suggest to enable (and later disable) the "application > mode" in zsh using the terminfo commands "smkx" and "rmkx". Now, > here's the problem: st ships a terminfo file (st.info), which is > installed with tic (in my case, systemwide). The original st.info > contains entries for {r,s}mkx, but when i query the system terminfo > database with 'infocmp -1 st', no entries for {r,s}mkx are found: > > % egrep '[rs]mkx' st.info > rmkx=\E[?1l\E>, > smkx=\E[?1h\E=, > % infocmp -1 st-256color | egrep '[rs]mkx' | wc -l > 0 > > How can this be? Is this a bug or am i missing something? Any > help much appreciated. > > [1]: http://st.suckless.org/ > [2]: http://lists.suckless.org/dev/1403/20418.html > [3]: http://zsh.sourceforge.net/FAQ/zshfaq03.html#l25
On OpenBSD, the curse and termcap library use *only* pre-compiled databases to search for a TERM entry. Every mention to the /usr/share/misc/terminfo/*/* or ~/.terminfo/*/* scheme in OpenBSD's own manpages or on instructions written for system that do use that scheme (Linux) are invalid. That st.info file will not be used. (Unless you use a Linux COMPAT executable.) As I wrote in my other email, see /usr/src/share/termtypes for how to build a terminal databases. OpenBSD does support per user databases installed in ~/.termcap.db and ~/.terminfo.db. With these 2 caveat: - if your TERM entry is found in the per user db, all the "tc=" expension entries must also be included. - SETUID/GID executable ignores per user terminal databases. In the end, I find that they are rather anoying to use. Hope it helps explain why it didn't work as you expected. (OK, I looked into this a while ago. I really doubt it changed much in current.)