scroll_region_{upper,lower} are only modified by the DECSTBM escape
sequence:
> This control function sets the top and bottom margins for the current
> page. You cannot perform scrolling outside the margins.
And are 0 and pane_height - 1 otherwise. Tmux implements these such that
command output can't be displayed outside these margins, but the cursor
in copy-mode can. This means that using them to check if the cursor is
at the very top or bottom can break in certain situation (even those
seem extremely rare since I have never heard of this escape sequence).
Get rid of them and just use 0 and the pane height.
[1]: https://vt100.net/docs/vt510-rm/DECSTBM.html
My dotfiles
This is a collection of the configuration files and scripts I use for various tools and environments.
Although some files support macOS, most of them assume that they are used on a GNU/Linux system. The systems I use include an Artix, a Manjaro and an Ubuntu installation. All of them running i3wm and the arch-based systems without a DE. I use my fork of st as terminal, zsh as shell and neovim as text editor.
The repository mimics my $HOME, trying to conform to the XDG Base Directory
Specification as close as possible. An exception is etc/ -> /etc/, as well
as meta/ and some other files in the root of the repository (e.g. this README
or the LICENSE) which are not in my $HOME.
The most interesting files are probably in .config/zsh and .config/vim.
Installation
The repository content can be installed via dotbot. All existing files which would be overridden are first packed into an archive for backup (see meta/archive) and then dotbot places symlinks in the appropriate places for the different files and folders in this repository.
To start the installation run:
$ ./meta/install