Otherwise closing kitty takes forever on my system:
> kitty -1 --instance-group no -o close_on_child_death=no &
> kitty -1 --instance-group yes -o close_on_child_death=yes &
> kitty_cmd="kitty -1 \
--wait-for-single-instance-window-close \
--instance-group"
> zsh_cmd="zsh -ic exit"
> hyperfine -N "$kitty_cmd no $zsh_cmd" \
"$kitty_cmd yes $zsh_cmd" \
"st -e $zsh_cmd"
Benchmark 1: kitty -1 \
--wait-for-single-instance-window-close \
--instance-group no zsh -ic exit
Time (mean ± σ): 5.543 s ± 0.023 s [User: 0.002 s, System: 0.005 s]
Range (min … max): 5.486 s … 5.570 s 10 runs
Benchmark 2: kitty -1 \
--wait-for-single-instance-window-close \
--instance-group yes zsh -ic exit
Time (mean ± σ): 509.9 ms ± 29.4 ms [User: 1.0 ms, System: 2.2 ms]
Range (min … max): 480.9 ms … 560.1 ms 10 runs
Benchmark 3: st -e zsh -ic exit
Time (mean ± σ): 475.0 ms ± 12.6 ms [User: 304.3 ms, System: 171.5 ms]
Range (min … max): 455.6 ms … 495.7 ms 10 runs
Summary
st -e zsh -ic exit ran
1.07 ± 0.07 times faster than kitty -1 \
--wait-for-single-instance-window-close \
--instance-group yes zsh -ic exit
11.67 ± 0.31 times faster than kitty -1 \
--wait-for-single-instance-window-close \
--instance-group no zsh -ic exit
Link: https://github.com/kovidgoyal/kitty/issues/378
TODO: Could the 500ms be decreased? (zsh related)
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, .config/vim and .config/tmux.
Installation
The repository content can be installed via dotbot. All existing files which would be overwritten 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