The creator of unibilium seems to have abandoned it. However, neovim depends on it and in particular there are bugfixes for terminal input handling that impact neovim inside tmux or screen only present in the active fork.
Please update the port to the active fork, https://github.com/neovim/unibilium
--- Makefile (revision 519781)
+++ Makefile (working copy)
@@ -4,6 +4,7 @@
@@ -14,7 +15,7 @@
USES= gmake libtool:build pathfix perl5 pkgconfig
For context, please see:
* https://github.com/mauke?tab=overview&from=2018-12-01&to=2018-12-31 (mauke hasn't been active on Github since 2018-02-08)
CC'ing neovim maintainer, who might also have interest.
This is a definite +1 from me.
Works for me. I picked up unibilium maintenance because of the neovim dependency. If the neovim folks are going to make updates, we should absolutely switch.
So the problem with the patch is that the neovim/unibilium 2.0.0 release is the same as mauke/unibilium. All the fixes have been committed after that.
So, I wanted to check with you first, Chuck and Conrad. I can commit the switch now, which only sets the new upstream (and I think the PORTREVISION bump becomes unnecessary then). Or, I can point it at the most recent commit. Or, we can wait until (if) neovim actually cuts a new release (they don't always cut releases from their deps).
Ah, in that case please make the appropriate changes to point the port at something post-2.0.0 :-). I neglected to do so in my patch above, sorry.
I'm trying to switch to nvim at the moment and my workflow is usually vim/nvim under screen. And for better or worse, I am in the habit of using Home/End keys. So I find it very frustrating :-).
My use case only needs up to https://github.com/neovim/unibilium/commit/7fba99c8876968982f5217eaf9f3474d7ed59d98 , if we want to pick an arbitrary commit between 2.0.0 and master. But I would also be fine just taking the master branch.
We could also (orthogonal, I think, unless they're extremely quick about it) ask the neovim folks to cut a 2.0.1.
Well, certainly having them cut a release is the pedantically best option. But there's really no harm in just updating unibilium to a GitHub commit release.
Also, just FTR, Conrad: Home/End works fine in neovim under tmux.
(In reply to Adam Weinberger from comment #8)
> Also, just FTR, Conrad: Home/End works fine in neovim under tmux.
Sure; they have different terminfo profiles and it's possible screen's trips the bug in unibilium while tmux's does not. screen is just the one I happen to use. :-) I think theoretically a weird enough real terminal or terminal emulator other than wrappers like tmux and screen could trip this, although in practice this doesn't seem to happen.
Chuck, what would you like to do here?
I think Conrad and I are both advocating for updating the unibilium port to a GH commit snapshot (whatever the latest commit hash is).
Yup, I agree with Adam and Conrad that the GH snapshot is the best approach. Thank you both for doing this!
Created attachment 209940 [details]
I'm attaching a diff to switch unibilium to the latest neovim commit. Please give it a try and let me know if it works.
I was wrong about home/end working for me in nvim under tmux on FreeBSD. They do not work for me, and they don't work after this patch either. Something else is up.
A commit references this bug:
Date: Mon Dec 30 18:16:09 UTC 2019
New revision: 521560
unibilium: Switch to neovim fork
github/mauke/unibilium has been abandoned by the developer. As possibly
the only project that actually uses it, neovim has forked it and
continues development of it. This commit switches our port to that fork.
The original intent is to fix home/end keys in neovim under screen. Those
keys do not work in tmux even after this commit, so that will need some
Submitted by: cem
Approved by: maintainer (chuck tuffli net)
OK. So, I've committed the patch, but I don't know that that'll fix anything.
Unibilium loads its terminal database from terminfo dirs, which AFAIK FreeBSD does not use. Take a look at the TERMINFO_DIRS stuff in https://github.com/neovim/unibilium. I suspect that we'll need to do something else to get it working.
Can either of you speak to this?
I updated unibilium, libtermkey, and neovim from pkg and HOME/END don't work under screen for me, either :-/.