Undercurl error in zellij in neovim #22654

Closed
opened 2026-01-31 08:19:36 +00:00 by claunia · 5 comments
Owner

Originally created by @Daydreamer-riri on GitHub (Dec 12, 2024).

Sorry to bring it up here, but I'm really not sure what the problem is.

Image
Image

Image

in wezterm

As shown in the figure. I am not sure which aspect of the problem (neovim, windows terminal, zellij, I think it is possible), in short, it is the neovim in zellij in wsl.

Because of the same situation, wezterm is normal. So I'm opening an issue here.

Basic information

zellij --version: zellij 0.41.2

stty size:62 245

uname -av or ver(Windows): wsl2 unbuntu 2404

I also opened an Issue in zellij's repo: https://github.com/zellij-org/zellij/issues/3866

Originally created by @Daydreamer-riri on GitHub (Dec 12, 2024). Sorry to bring it up here, but I'm really not sure what the problem is. ![Image](https://github.com/user-attachments/assets/1868dee7-f6c5-44ad-844a-4b2cd9fe1616) ![Image](https://github.com/user-attachments/assets/32cc6c13-72c9-4041-a1c4-b5a55aff9508) <img width="566" alt="Image" src="https://github.com/user-attachments/assets/91d99ef2-97d6-489f-b4f8-44491265def6" /> > in wezterm As shown in the figure. I am not sure which aspect of the problem (neovim, windows terminal, zellij, I think it is possible), in short, it is the neovim in zellij in wsl. Because of the same situation, wezterm is normal. So I'm opening an issue here. Basic information zellij --version: zellij 0.41.2 stty size:62 245 uname -av or ver(Windows): wsl2 unbuntu 2404 I also opened an Issue in zellij's repo: https://github.com/zellij-org/zellij/issues/3866
claunia added the Needs-TriageNeeds-Tag-Fix labels 2026-01-31 08:19:36 +00:00
Author
Owner

@lhecker commented on GitHub (Dec 12, 2024):

I believe neovim disables curly underlines if it thinks the terminal can't handle it. Can you try launching neovim with TERM=kitty neovim or similar? You can read more about it here: https://neovim.io/doc/user/tui.html#%24TERM

@lhecker commented on GitHub (Dec 12, 2024): I believe neovim disables curly underlines if it thinks the terminal can't handle it. Can you try launching neovim with `TERM=kitty neovim` or similar? You can read more about it here: https://neovim.io/doc/user/tui.html#%24TERM
Author
Owner

@Daydreamer-riri commented on GitHub (Dec 13, 2024):

Oh, you are right. The default TERM is xterm-256color, It works well under normal circumstances. The undercurl is lost only in nvim in zellij. When I change it to something else, like tmux, vte, undercurl works. Is that normal? I am still lacking in this knowledge.

Image
@Daydreamer-riri commented on GitHub (Dec 13, 2024): Oh, you are right. The default TERM is xterm-256color, It works well under normal circumstances. The undercurl is lost only in nvim in zellij. When I change it to something else, like tmux, vte, undercurl works. Is that normal? I am still lacking in this knowledge. <img width="1019" alt="Image" src="https://github.com/user-attachments/assets/ad5420a0-0007-428e-aa61-533aeb93421a" />
Author
Owner

@Daydreamer-riri commented on GitHub (Dec 19, 2024):

Hi @lhecker, has there been any progress on this issue? It seems that on my x86 computer, setting TERM to vte-256colors in zellij perfectly resolves the error. However, for some reason, my WSL Ubuntu on my ARM computer does not have the terminfo for vte-256colors. Additionally, I noticed a significant difference in the number of terminfo files in the /usr/share/terminfo directory between the two machines.

So the current situation is that my ARM computer doesn't have a good solution. What should I do? If you need any information, please feel free to let me know! I will do my best to cooperate.

@Daydreamer-riri commented on GitHub (Dec 19, 2024): Hi @lhecker, has there been any progress on this issue? It seems that on my x86 computer, setting TERM to vte-256colors in zellij perfectly resolves the error. However, for some reason, my WSL Ubuntu on my ARM computer does not have the terminfo for vte-256colors. Additionally, I noticed a significant difference in the number of terminfo files in the /usr/share/terminfo directory between the two machines. So the current situation is that my ARM computer doesn't have a good solution. What should I do? If you need any information, please feel free to let me know! I will do my best to cooperate.
Author
Owner

@lhecker commented on GitHub (Dec 20, 2024):

When I change it to something else, like tmux, vte, undercurl works. Is that normal? I am still lacking in this knowledge.

Some terminal applications like neovim perform feature detection: They try to guess what your terminal is safely capable of and then will only send VT sequences that they think are supported. The main way those applications figure out what the terminal is, is via the TERM environment variable. I'm not entirely sure whether it's zellij or neovim which guesses wrong in this case, but I think it may be the latter.

Hi @lhecker, has there been any progress on this issue?

I apologize. I was already on my way out to the winter holidays. I'll be closing this issue since it's not an issue with Windows Terminal itself. We can continue talking about it here though. (I may be slow to respond over the next few weeks, as I'll be on vacation and need the time to work on some other stuff.)

However, for some reason, my WSL Ubuntu on my ARM computer does not have the terminfo for vte-256colors. Additionally, I noticed a significant difference in the number of terminfo files in the /usr/share/terminfo directory between the two machines.

So the current situation is that my ARM computer doesn't have a good solution. What should I do? If you need any information, please feel free to let me know! I will do my best to cooperate.

Are you sure your two computers are using the exact same WSL image? Maybe one uses Ubuntu 22 and the other uses Ubuntu 24 or something? First, I'd make sure they use the same WSL image, and then I'd update all packages (sudo apt update; sudo apt full-upgrade if it's Debian/Ubuntu IIRC).

@lhecker commented on GitHub (Dec 20, 2024): > When I change it to something else, like tmux, vte, undercurl works. Is that normal? I am still lacking in this knowledge. Some terminal applications like neovim perform feature detection: They try to guess what your terminal is safely capable of and then will only send VT sequences that they think are supported. The main way those applications figure out what the terminal is, is via the `TERM` environment variable. I'm not entirely sure whether it's zellij or neovim which guesses wrong in this case, but I think it may be the latter. > Hi @lhecker, has there been any progress on this issue? I apologize. I was already on my way out to the winter holidays. I'll be closing this issue since it's not an issue with Windows Terminal itself. We can continue talking about it here though. (I may be slow to respond over the next few weeks, as I'll be on vacation and need the time to work on some other stuff.) > However, for some reason, my WSL Ubuntu on my ARM computer does not have the terminfo for vte-256colors. Additionally, I noticed a significant difference in the number of terminfo files in the /usr/share/terminfo directory between the two machines. > > So the current situation is that my ARM computer doesn't have a good solution. What should I do? If you need any information, please feel free to let me know! I will do my best to cooperate. Are you sure your two computers are using the exact same WSL image? Maybe one uses Ubuntu 22 and the other uses Ubuntu 24 or something? First, I'd make sure they use the same WSL image, and then I'd update all packages (`sudo apt update; sudo apt full-upgrade` if it's Debian/Ubuntu IIRC).
Author
Owner

@Daydreamer-riri commented on GitHub (Dec 22, 2024):

Thank you very much for your reply! Your response was very detailed and clear. I have temporarily resolved my issue by copying the vte-256color terminfo file. I will report this behavior to Neovim to find the cause.

@Daydreamer-riri commented on GitHub (Dec 22, 2024): Thank you very much for your reply! Your response was very detailed and clear. I have temporarily resolved my issue by copying the vte-256color terminfo file. I will report this behavior to Neovim to find the cause.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#22654