In kitty :new command creates a window with broken symbols

I’m trying to migrate to kitty over tmux. So first issue I’ve encountered is weird characters in window created with :new command. In screenshot it is right window:

Why is that? Any ideas how to fix this?

I’ve been using kitty for ages now and never seen this - maybe this is a bug in the version of kitty you’re using? It’s under very active development, so a packaged version is likely to be very out of date - I build from source, which is pretty easy to do with kitty.

I installed kitty from homebrew couple of days ago, it’s v 0.20.3

It’s same with iTerm2, looks like :new command doesn’t receive env vars properly.

In most POSIXy operating systems, the login procedure sets a bunch of environment variables that are inherited by all the apps you run, including your terminal emulator. Then, when :new launches a new terminal emulator process running Kakoune, it inherits the same sensible configuration the first terminal emulator inherited, and everything works.

macOS, on the other hand, makes it very difficult to set environment variables at login, so users tend to set them up in files like ~/.bashrc. If you launch a new interactive terminal, it runs bash which loads .bashrc and then anything you run inside bash works the way you expect, but when Kakoune launches a new terminal emulator process only running Kakoune, not running an interactive bash session, those settings aren’t loaded and Weird Stuff happens.

The best solution would be for macOS to add an official, standard way to set environment variables at login, like Windows has done since WinNT 3.1 (I think?); the second best would be to set environment variables in the terminal’s config file rather than in .bashrc.

2 Likes

Indeed it’s macOS specific issue.