Most terminals use the VT520 DECSCUSR escape sequences for setting the
cursor shape, documented at:
https://invisible-island.net/xterm/ctlseqs/ctlseqs.txt
iTerm2, however, uses a set of proprietary escape codes, documented at:
https://iterm2.com/documentation-escape-codes.html
The issue I had was that tmux recognizes the VT520 DECSCUSR codes and
knows how to translate them itself to iTerm2. But tmux does not accept
the iTerm2 codes as input, so deciding to use these proprietary codes
only based on the presence of `$ITERM_SESSION_ID` did not work when
running tmux. The solution is to revert to the VT520 codes when running
inside of tmux (even inside iTerm2) and let it translate to iTerm2.
iTerm2 is still acting up under some circumstances and the special
symbols that I was using to delimit the current window name get messed
up. This is also an opportunity to make the configuration a bit more
visually minimal :).
1. Show the filename in italics if file is modified.
2. Put the plus sign on the right of the filename and make it stand out.
3. The symbols I was using were not rendering well on macOS and don't
really have the time to debug this now. Just use simpler line.
Even after allowing for some time to adjust my muscle memory, it turns
out that I prefer the previous way of navigating.
This reverts commits:
- 1c51425d370cd25c1c189a054809557759028d19
- 7ef518901890c8979309fc23cf6b3293ef498dbb
`~/.zshenv' is executed for _every_ instance of `zsh', so we should
limit the work done there to the absolute minimum. For me, that
currently means only making sure `$ZDOTDIR' is set so that login (via
`.zprofile') and interactive (via `.zshrc') shells can be configured
appropriately.