From d46cf8fe0c2f0b44d788954cfa8a4d6a13ac70c2 Mon Sep 17 00:00:00 2001 From: q3aql Date: Sat, 13 Nov 2021 19:24:20 +0100 Subject: [PATCH] Dotfiles config --- .bash_completion/alacritty | 55 + .bashrc | 132 + .bashrc.save | 123 + .config/alacritty/alacritty.yml | 42 + .config/alacritty/alacritty/CHANGELOG.md | 949 ++++++ .config/alacritty/alacritty/CONTRIBUTING.md | 164 + .config/alacritty/alacritty/Cargo.lock | 2012 ++++++++++++ .config/alacritty/alacritty/Cargo.toml | 11 + .config/alacritty/alacritty/INSTALL.md | 363 +++ .config/alacritty/alacritty/LICENSE-APACHE | 201 ++ .config/alacritty/alacritty/Makefile | 75 + .config/alacritty/alacritty/README.md | 114 + .config/alacritty/alacritty/docs/ansicode.txt | 779 +++++ .../alacritty/docs/escape_support.md | 104 + .config/alacritty/alacritty/docs/features.md | 86 + .../alacritty/extra/alacritty-msg.man | 31 + .../alacritty/alacritty/extra/alacritty.info | 110 + .../alacritty/alacritty/extra/alacritty.man | 91 + .../alacritty/extra/completions/_alacritty | 62 + .../extra/completions/alacritty.bash | 55 + .../extra/completions/alacritty.fish | 104 + .../alacritty/extra/linux/Alacritty.desktop | 17 + .../linux/io.alacritty.Alacritty.appdata.xml | 33 + .../alacritty/extra/logo/alacritty-simple.svg | 309 ++ .../extra/logo/alacritty-term+scanlines.svg | 707 +++++ .../alacritty/extra/logo/alacritty-term.svg | 443 +++ .../extra/logo/compat/alacritty-simple.svg | 311 ++ .../logo/compat/alacritty-term+scanlines.png | Bin 0 -> 85944 bytes .../logo/compat/alacritty-term+scanlines.svg | 665 ++++ .../extra/logo/compat/alacritty-term.png | Bin 0 -> 3612 bytes .../extra/logo/compat/alacritty-term.svg | 444 +++ .../osx/Alacritty.app/Contents/Info.plist | 58 + .../Contents/Resources/alacritty.icns | Bin 0 -> 665777 bytes .config/alacritty/alacritty/extra/windows | 1 + .config/alacritty/alacritty/rustfmt.toml | 15 + .../alacritty/scripts/24-bit-color.sh | 101 + .config/alacritty/alacritty/scripts/README.md | 26 + .config/alacritty/alacritty/scripts/colors.sh | 11 + .../alacritty/scripts/create-flamegraph.sh | 31 + .config/alacritty/alacritty/scripts/fg-bg.sh | 53 + .config/alacritty/fonts.yaml | 18 + .config/alacritty/themes/afterglow.yaml | 48 + .config/alacritty/themes/argonaut.yaml | 32 + .config/alacritty/themes/ayu-dark.yaml | 30 + .config/alacritty/themes/ayu-mirage.yaml | 28 + .../alacritty/themes/base16-default-dark.yaml | 33 + .config/alacritty/themes/blood-moon.yaml | 28 + .config/alacritty/themes/bluescreen.yaml | 27 + .config/alacritty/themes/breeze.yaml | 44 + .config/alacritty/themes/campbell.yaml | 28 + .config/alacritty/themes/cobalt-2.yaml | 33 + .config/alacritty/themes/darkside.yaml | 27 + .config/alacritty/themes/darktooth.yaml | 40 + .config/alacritty/themes/dracula.yaml | 27 + .config/alacritty/themes/gnome-dark.yaml | 26 + .config/alacritty/themes/greenscreen.yaml | 27 + .config/alacritty/themes/gruvbox-dark.yaml | 30 + .config/alacritty/themes/gruvbox-light.yaml | 30 + .config/alacritty/themes/hybrid.yaml | 28 + .config/alacritty/themes/hyper.yaml | 31 + .config/alacritty/themes/iceberg-dark.yaml | 28 + .config/alacritty/themes/iceberg-light.yaml | 28 + .config/alacritty/themes/ir-black.yaml | 32 + .config/alacritty/themes/iterm-default.yaml | 28 + .config/alacritty/themes/jellybeans.yaml | 38 + .config/alacritty/themes/kitty.yaml | 27 + .config/alacritty/themes/material-darker.yaml | 27 + .config/alacritty/themes/material-ocean.yaml | 27 + .config/alacritty/themes/monokai.yaml | 27 + .config/alacritty/themes/nord-wave.yaml | 27 + .config/alacritty/themes/nord.yaml | 27 + .config/alacritty/themes/onedark.yaml | 57 + .config/alacritty/themes/rosepine.yaml | 27 + .config/fish/config.fish | 10 + .config/fish/fish_variables | 33 + .../functions/fish_user_key_bindings.fish | 3 + .config/fish/functions/fzf_key_bindings.fish | 1 + .config/geany/colorschemes/kugel.conf | 132 + .config/geany/filedefs/filetypes.README | 2 + .config/geany/geany.conf | 227 ++ .config/geany/keybindings.conf | 0 .config/geany/templates/templates.README | 2 + .config/i3/config | 256 ++ .config/i3/down-screen.sh | 19 + .config/i3/i3status.conf | 79 + .config/i3/startxrandr.sh | 11 + .config/i3blocks/battery/battery_info.sh | 44 + .config/i3blocks/config | 43 + .config/i3blocks/cpu/cpu_info.sh | 4 + .config/i3blocks/sound/sound_burst.sh | 6 + .config/i3blocks/sound/sound_info.sh | 27 + .config/i3blocks/weather/Makefile | 11 + .config/i3blocks/weather/forecast.xml | 407 +++ .config/i3blocks/weather/weather.py | 123 + .config/i3blocks/weather/weather_info.sh | 2 + .config/i3blocks/weather/weather_signaler | Bin 0 -> 17144 bytes .config/i3blocks/weather/weather_signaler.c | 102 + .config/nvim/autoload/plug.vim | 2802 +++++++++++++++++ .config/nvim/colors/OceanicNext.vim | 368 +++ .config/nvim/colors/OceanicNextLight.vim | 368 +++ .config/nvim/colors/challenger_deep.vim | 338 ++ .config/nvim/colors/falcon.vim | 597 ++++ .config/nvim/colors/gruvbox.vim | 1418 +++++++++ .config/nvim/colors/janah.vim | 148 + .config/nvim/colors/monokai.vim | 109 + .config/nvim/colors/neodark.vim | 391 +++ .config/nvim/colors/onedark.vim | 679 ++++ .config/nvim/colors/palenight.vim | 585 ++++ .config/nvim/ginit.vim | 45 + .config/nvim/init.vim | 34 + .config/nvim/pack/q3aql/opt/onedark.vim | 1 + .config/nvim/pack/q3aql/opt/palenight.vim | 1 + .config/nvim/plugin/plugin/tree.vim | 14 + .../nvim/tree.nvim/autoload/tree/exrename.vim | 211 ++ .config/nvim/tree.nvim/autoload/tree/util.vim | 25 + .config/nvim/tree.nvim/bin/tree | Bin 0 -> 1202000 bytes .config/nvim/tree.nvim/doc/tree.txt | 595 ++++ .config/nvim/tree.nvim/lua/tree.lua | 807 +++++ .config/nvim/tree.nvim/lua/tree/custom.lua | 61 + .config/nvim/tree.nvim/lua/tree/float.lua | 146 + .config/nvim/tree.nvim/plugin/tree.vim | 14 + .conkyrc | 137 + .fzf | 1 + .fzf.bash | 13 + .fzf.zsh | 13 + .vim/autoload/plug.vim | 2802 +++++++++++++++++ .vim/colors/OceanicNext.vim | 368 +++ .vim/colors/OceanicNextLight.vim | 368 +++ .vim/colors/challenger_deep.vim | 338 ++ .vim/colors/falcon.vim | 597 ++++ .vim/colors/gruvbox.vim | 1418 +++++++++ .vim/colors/janah.vim | 148 + .vim/colors/monokai.vim | 109 + .vim/colors/neodark.vim | 391 +++ .vim/colors/onedark.vim | 679 ++++ .vim/colors/palenight.vim | 585 ++++ .vim/pack/colors/falcon | 1 + .vim/pack/q3aql/colors/falcon | 1 + .vim/pack/q3aql/opt/nerdtree | 1 + .vim/pack/q3aql/opt/onedark.vim | 1 + .vim/pack/q3aql/opt/palenight.vim | 1 + .vim/pack/q3aql/start/nerdtree | 1 + .vim/plugin/plugin/tree.vim | 14 + .vim/tree.nvim/autoload/tree/exrename.vim | 211 ++ .vim/tree.nvim/autoload/tree/util.vim | 25 + .vim/tree.nvim/bin/tree | Bin 0 -> 1202000 bytes .vim/tree.nvim/doc/tree.txt | 595 ++++ .vim/tree.nvim/lua/tree.lua | 807 +++++ .vim/tree.nvim/lua/tree/custom.lua | 61 + .vim/tree.nvim/lua/tree/float.lua | 146 + .vim/tree.nvim/plugin/tree.vim | 14 + .viminfo | 1161 +++++++ .vimrc | 68 + .zsh_functions/_alacritty | 62 + .zshenv | 1 + .zshrc | 265 ++ 156 files changed, 32607 insertions(+) create mode 100644 .bash_completion/alacritty create mode 100644 .bashrc create mode 100644 .bashrc.save create mode 100644 .config/alacritty/alacritty.yml create mode 100644 .config/alacritty/alacritty/CHANGELOG.md create mode 100644 .config/alacritty/alacritty/CONTRIBUTING.md create mode 100644 .config/alacritty/alacritty/Cargo.lock create mode 100644 .config/alacritty/alacritty/Cargo.toml create mode 100644 .config/alacritty/alacritty/INSTALL.md create mode 100644 .config/alacritty/alacritty/LICENSE-APACHE create mode 100644 .config/alacritty/alacritty/Makefile create mode 100644 .config/alacritty/alacritty/README.md create mode 100644 .config/alacritty/alacritty/docs/ansicode.txt create mode 100644 .config/alacritty/alacritty/docs/escape_support.md create mode 100644 .config/alacritty/alacritty/docs/features.md create mode 100644 .config/alacritty/alacritty/extra/alacritty-msg.man create mode 100644 .config/alacritty/alacritty/extra/alacritty.info create mode 100644 .config/alacritty/alacritty/extra/alacritty.man create mode 100644 .config/alacritty/alacritty/extra/completions/_alacritty create mode 100644 .config/alacritty/alacritty/extra/completions/alacritty.bash create mode 100644 .config/alacritty/alacritty/extra/completions/alacritty.fish create mode 100644 .config/alacritty/alacritty/extra/linux/Alacritty.desktop create mode 100644 .config/alacritty/alacritty/extra/linux/io.alacritty.Alacritty.appdata.xml create mode 100644 .config/alacritty/alacritty/extra/logo/alacritty-simple.svg create mode 100644 .config/alacritty/alacritty/extra/logo/alacritty-term+scanlines.svg create mode 100644 .config/alacritty/alacritty/extra/logo/alacritty-term.svg create mode 100644 .config/alacritty/alacritty/extra/logo/compat/alacritty-simple.svg create mode 100644 .config/alacritty/alacritty/extra/logo/compat/alacritty-term+scanlines.png create mode 100644 .config/alacritty/alacritty/extra/logo/compat/alacritty-term+scanlines.svg create mode 100644 .config/alacritty/alacritty/extra/logo/compat/alacritty-term.png create mode 100644 .config/alacritty/alacritty/extra/logo/compat/alacritty-term.svg create mode 100644 .config/alacritty/alacritty/extra/osx/Alacritty.app/Contents/Info.plist create mode 100644 .config/alacritty/alacritty/extra/osx/Alacritty.app/Contents/Resources/alacritty.icns create mode 120000 .config/alacritty/alacritty/extra/windows create mode 100644 .config/alacritty/alacritty/rustfmt.toml create mode 100755 .config/alacritty/alacritty/scripts/24-bit-color.sh create mode 100644 .config/alacritty/alacritty/scripts/README.md create mode 100755 .config/alacritty/alacritty/scripts/colors.sh create mode 100755 .config/alacritty/alacritty/scripts/create-flamegraph.sh create mode 100755 .config/alacritty/alacritty/scripts/fg-bg.sh create mode 100644 .config/alacritty/fonts.yaml create mode 100644 .config/alacritty/themes/afterglow.yaml create mode 100644 .config/alacritty/themes/argonaut.yaml create mode 100644 .config/alacritty/themes/ayu-dark.yaml create mode 100644 .config/alacritty/themes/ayu-mirage.yaml create mode 100644 .config/alacritty/themes/base16-default-dark.yaml create mode 100644 .config/alacritty/themes/blood-moon.yaml create mode 100644 .config/alacritty/themes/bluescreen.yaml create mode 100644 .config/alacritty/themes/breeze.yaml create mode 100644 .config/alacritty/themes/campbell.yaml create mode 100644 .config/alacritty/themes/cobalt-2.yaml create mode 100644 .config/alacritty/themes/darkside.yaml create mode 100644 .config/alacritty/themes/darktooth.yaml create mode 100644 .config/alacritty/themes/dracula.yaml create mode 100644 .config/alacritty/themes/gnome-dark.yaml create mode 100644 .config/alacritty/themes/greenscreen.yaml create mode 100644 .config/alacritty/themes/gruvbox-dark.yaml create mode 100644 .config/alacritty/themes/gruvbox-light.yaml create mode 100644 .config/alacritty/themes/hybrid.yaml create mode 100644 .config/alacritty/themes/hyper.yaml create mode 100644 .config/alacritty/themes/iceberg-dark.yaml create mode 100644 .config/alacritty/themes/iceberg-light.yaml create mode 100644 .config/alacritty/themes/ir-black.yaml create mode 100644 .config/alacritty/themes/iterm-default.yaml create mode 100644 .config/alacritty/themes/jellybeans.yaml create mode 100644 .config/alacritty/themes/kitty.yaml create mode 100644 .config/alacritty/themes/material-darker.yaml create mode 100644 .config/alacritty/themes/material-ocean.yaml create mode 100644 .config/alacritty/themes/monokai.yaml create mode 100644 .config/alacritty/themes/nord-wave.yaml create mode 100644 .config/alacritty/themes/nord.yaml create mode 100644 .config/alacritty/themes/onedark.yaml create mode 100644 .config/alacritty/themes/rosepine.yaml create mode 100644 .config/fish/config.fish create mode 100644 .config/fish/fish_variables create mode 100644 .config/fish/functions/fish_user_key_bindings.fish create mode 120000 .config/fish/functions/fzf_key_bindings.fish create mode 100644 .config/geany/colorschemes/kugel.conf create mode 100644 .config/geany/filedefs/filetypes.README create mode 100644 .config/geany/geany.conf create mode 100644 .config/geany/keybindings.conf create mode 100644 .config/geany/templates/templates.README create mode 100644 .config/i3/config create mode 100755 .config/i3/down-screen.sh create mode 100644 .config/i3/i3status.conf create mode 100755 .config/i3/startxrandr.sh create mode 100755 .config/i3blocks/battery/battery_info.sh create mode 100644 .config/i3blocks/config create mode 100755 .config/i3blocks/cpu/cpu_info.sh create mode 100755 .config/i3blocks/sound/sound_burst.sh create mode 100755 .config/i3blocks/sound/sound_info.sh create mode 100644 .config/i3blocks/weather/Makefile create mode 100644 .config/i3blocks/weather/forecast.xml create mode 100755 .config/i3blocks/weather/weather.py create mode 100755 .config/i3blocks/weather/weather_info.sh create mode 100755 .config/i3blocks/weather/weather_signaler create mode 100644 .config/i3blocks/weather/weather_signaler.c create mode 100755 .config/nvim/autoload/plug.vim create mode 100755 .config/nvim/colors/OceanicNext.vim create mode 100755 .config/nvim/colors/OceanicNextLight.vim create mode 100755 .config/nvim/colors/challenger_deep.vim create mode 100755 .config/nvim/colors/falcon.vim create mode 100755 .config/nvim/colors/gruvbox.vim create mode 100755 .config/nvim/colors/janah.vim create mode 100755 .config/nvim/colors/monokai.vim create mode 100755 .config/nvim/colors/neodark.vim create mode 100755 .config/nvim/colors/onedark.vim create mode 100755 .config/nvim/colors/palenight.vim create mode 100755 .config/nvim/ginit.vim create mode 100755 .config/nvim/init.vim create mode 160000 .config/nvim/pack/q3aql/opt/onedark.vim create mode 160000 .config/nvim/pack/q3aql/opt/palenight.vim create mode 100755 .config/nvim/plugin/plugin/tree.vim create mode 100755 .config/nvim/tree.nvim/autoload/tree/exrename.vim create mode 100755 .config/nvim/tree.nvim/autoload/tree/util.vim create mode 100755 .config/nvim/tree.nvim/bin/tree create mode 100755 .config/nvim/tree.nvim/doc/tree.txt create mode 100755 .config/nvim/tree.nvim/lua/tree.lua create mode 100755 .config/nvim/tree.nvim/lua/tree/custom.lua create mode 100755 .config/nvim/tree.nvim/lua/tree/float.lua create mode 100755 .config/nvim/tree.nvim/plugin/tree.vim create mode 100644 .conkyrc create mode 160000 .fzf create mode 100644 .fzf.bash create mode 100644 .fzf.zsh create mode 100755 .vim/autoload/plug.vim create mode 100755 .vim/colors/OceanicNext.vim create mode 100755 .vim/colors/OceanicNextLight.vim create mode 100755 .vim/colors/challenger_deep.vim create mode 100755 .vim/colors/falcon.vim create mode 100755 .vim/colors/gruvbox.vim create mode 100755 .vim/colors/janah.vim create mode 100755 .vim/colors/monokai.vim create mode 100755 .vim/colors/neodark.vim create mode 100755 .vim/colors/onedark.vim create mode 100755 .vim/colors/palenight.vim create mode 160000 .vim/pack/colors/falcon create mode 160000 .vim/pack/q3aql/colors/falcon create mode 160000 .vim/pack/q3aql/opt/nerdtree create mode 160000 .vim/pack/q3aql/opt/onedark.vim create mode 160000 .vim/pack/q3aql/opt/palenight.vim create mode 160000 .vim/pack/q3aql/start/nerdtree create mode 100755 .vim/plugin/plugin/tree.vim create mode 100755 .vim/tree.nvim/autoload/tree/exrename.vim create mode 100755 .vim/tree.nvim/autoload/tree/util.vim create mode 100755 .vim/tree.nvim/bin/tree create mode 100755 .vim/tree.nvim/doc/tree.txt create mode 100755 .vim/tree.nvim/lua/tree.lua create mode 100755 .vim/tree.nvim/lua/tree/custom.lua create mode 100755 .vim/tree.nvim/lua/tree/float.lua create mode 100755 .vim/tree.nvim/plugin/tree.vim create mode 100644 .viminfo create mode 100755 .vimrc create mode 100644 .zsh_functions/_alacritty create mode 100644 .zshenv create mode 100644 .zshrc diff --git a/.bash_completion/alacritty b/.bash_completion/alacritty new file mode 100644 index 0000000..464afe6 --- /dev/null +++ b/.bash_completion/alacritty @@ -0,0 +1,55 @@ +#/usr/bin/env bash + +# Load completion function +complete -F _alacritty alacritty + +# Completion function +_alacritty() +{ + local cur prev prevprev opts + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + prevprev="${COMP_WORDS[COMP_CWORD-2]}" + opts="-h --help -V --version --print-events -q -qq -v -vv -vvv --ref-test --hold -e --command --config-file -o --option -t --title --embed --class --working-directory --socket msg" + + # If `--command` or `-e` is used, stop completing + for i in "${!COMP_WORDS[@]}"; do + if [[ "${COMP_WORDS[i]}" == "--command" ]] \ + || [[ "${COMP_WORDS[i]}" == "-e" ]] \ + && [[ "${#COMP_WORDS[@]}" -gt "$(($i + 2))" ]] + then + return 0 + fi + done + + # Match the previous word + case "${prev}" in + --command | -e) + # Complete all commands in $PATH + COMPREPLY=( $(compgen -c -- "${cur}") ) + return 0;; + --config-file | --socket) + # File completion + local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- "${cur}") ) + return 0;; + --class | --title | -t) + # Don't complete here + return 0;; + --working-directory) + # Directory completion + local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -d -- "${cur}") ) + return 0;; + msg) + COMPREPLY=( $(compgen -W "-h --help -V --version -s --socket" -- "${cur}") ) + return 0;; + esac + + # Show all flags if there was no previous word + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 +} diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..1892c60 --- /dev/null +++ b/.bashrc @@ -0,0 +1,132 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +TERM=xterm-256color + +# If not running interactively, don't do anything +case $- in + *i*) ;; + *) return;; +esac + +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + +# make less more friendly for non-text input files, see lesspipe(1) +#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, unless we know we "want" color) +case "$TERM" in + xterm-color|*-256color) color_prompt=yes;; +esac + +# uncomment for a colored prompt, if the terminal has the capability; turned +# off by default to not distract the user: the focus in a terminal window +# should be on the output of commands, not on the prompt +#force_color_prompt=yes + +if [ -n "$force_color_prompt" ]; then + if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then + # We have color support; assume it's compliant with Ecma-48 + # (ISO/IEC-6429). (Lack of such support is extremely rare, and such + # a case would tend to support setf rather than setaf.) + color_prompt=yes + else + color_prompt= + fi +fi + +if [ "$color_prompt" = yes ]; then + PS1='\[\033[01;33m\](\t)\[\033[00m\]\[\033[01;31m\]:\[\033[00m\]\[\033[01;32m\](\u@\h)\[\033[00m\]\[\033[01;31m\]:\[\033[00m\]\[\033[01;34m\](\W)\[\033[00m\]\$ ' +else + PS1='(\t):(\u@\h):(\W)\$ ' +fi +unset color_prompt force_color_prompt + +# If this is an xterm set the title to user@host:dir +case "$TERM" in +xterm*|rxvt*) + PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" + ;; +*) + ;; +esac + +# enable color support of ls and also add handy aliases +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + #alias grep='grep --color=auto' + #alias fgrep='fgrep --color=auto' + #alias egrep='egrep --color=auto' +fi + +# colored GCC warnings and errors +#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + +# some more ls aliases +alias grep='grep --color=auto' +alias cat='batcat --style=plain --paging=never' +alias ls='exa --group-directories-first' +alias tree='exa -T' +alias ll='ls -l' +alias la='ls -A' +alias l='ls -CF' + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. + +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi + +PATH=${PATH}:/opt/qt515/bin +echo "" +echo "" +#screenfetch -p +neofetch --color_blocks off +echo "" +#zsh + +[ -f ~/.fzf.bash ] && source ~/.fzf.bash + +. "$HOME/.cargo/env" +source ~/.bash_completion/alacritty diff --git a/.bashrc.save b/.bashrc.save new file mode 100644 index 0000000..f2223dc --- /dev/null +++ b/.bashrc.save @@ -0,0 +1,123 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# If not running interactively, don't do anything +case $- in + *i*) ;; + *) return;; +esac + +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + +# make less more friendly for non-text input files, see lesspipe(1) +#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, unless we know we "want" color) +case "$TERM" in + xterm-color|*-256color) color_prompt=yes;; +esac + +# uncomment for a colored prompt, if the terminal has the capability; turned +# off by default to not distract the user: the focus in a terminal window +# should be on the output of commands, not on the prompt +#force_color_prompt=yes + +if [ -n "$force_color_prompt" ]; then + if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then + # We have color support; assume it's compliant with Ecma-48 + # (ISO/IEC-6429). (Lack of such support is extremely rare, and such + # a case would tend to support setf rather than setaf.) + color_prompt=yes + else + color_prompt= + fi +fi + +if [ "$color_prompt" = yes ]; then + PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' +else + PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' +fi +unset color_prompt force_color_prompt + +# If this is an xterm set the title to user@host:dir +case "$TERM" in +xterm*|rxvt*) + PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" + ;; +*) + ;; +esac + +# enable color support of ls and also add handy aliases +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + #alias grep='grep --color=auto' + #alias fgrep='fgrep --color=auto' + #alias egrep='egrep --color=auto'fi + +# colored GCC warnings and errors +#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + +# some more ls aliases +alias ll='ls -l' +alias la='ls -A' +alias l='ls -CF' + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. + +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi + +PATH=${PATH}:/opt/qt515/bin +echo "" +echo "" +#screenfetch -p +neofetch --color_blocks off +echo "" +zsh + +#[ -f ~/.fzf.bash ] && source ~/.fzf.bash + diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml new file mode 100644 index 0000000..488566a --- /dev/null +++ b/.config/alacritty/alacritty.yml @@ -0,0 +1,42 @@ +colors: + bright: + black: '0x5c6370' + blue: '0x61afef' + cyan: '0x56b6c2' + green: '0x98c379' + magenta: '0xc678dd' + red: '0xe06c75' + white: '0xe6efff' + yellow: '0xd19a66' + dim: + black: '0x1e2127' + blue: '0x61afef' + cyan: '0x56b6c2' + green: '0x98c379' + magenta: '0xc678dd' + red: '0xe06c75' + white: '0x828791' + yellow: '0xd19a66' + normal: + black: '0x1e2127' + blue: '0x61afef' + cyan: '0x56b6c2' + green: '0x98c379' + magenta: '0xc678dd' + red: '0xe06c75' + white: '0x828791' + yellow: '0xd19a66' + primary: + background: '0x1e2127' + bright_foreground: '0xe6efff' + foreground: '0xabb2bf' +font: + bold: + family: monospace + italic: + family: monospace + normal: + family: monospace + size: 10 + +window.opacity: 1.0 diff --git a/.config/alacritty/alacritty/CHANGELOG.md b/.config/alacritty/alacritty/CHANGELOG.md new file mode 100644 index 0000000..4f46460 --- /dev/null +++ b/.config/alacritty/alacritty/CHANGELOG.md @@ -0,0 +1,949 @@ +# Changelog + +All notable changes to Alacritty are documented in this file. +The sections should follow the order `Packaging`, `Added`, `Changed`, `Fixed` and `Removed`. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + +## 0.10.0-dev + +### Added + +- Option `colors.transparent_background_colors` to allow applying opacity to all background colors +- Support for running multiple windows from a single Alacritty instance (see docs/features.md) + +### Changed + +- `ExpandSelection` is now a configurable mouse binding action +- Config option `background_opacity`, you should use `window.opacity` instead +- Reload configuration files when their symbolic link is replaced + +### Fixed + +- Line indicator obstructing vi mode cursor when scrolled into history +- Vi mode search starting in the line below the vi cursor +- Invisible cursor with matching foreground/background colors + +## 0.9.0 + +### Packaging + +- Minimum Rust version has been bumped to 1.46.0 + +### Added + +- Support for `ipfs`/`ipns` URLs +- Mode field for regex hint bindings + +### Fixed + +- Regression in rendering performance with dense grids since 0.6.0 +- Crash/Freezes with partially visible fullwidth characters due to alt screen resize +- Incorrect vi cursor position after invoking `ScrollPage*` action +- Slow PTY read performance with extremely dense grids +- Crash when resizing during vi mode +- Unintentional text selection range change after leaving vi mode +- Deadlock on Windows during high frequency output +- Search without vi mode not starting at the correct location when scrolled into history +- Crash when starting a vi mode search from the bottommost line +- Original scroll position not restored after canceling search +- Clipboard copy skipping non-empty cells when encountering an interrupted tab character +- Vi mode cursor moving downward when scrolled in history with active output +- Crash when moving fullwidth characters off the side of the terminal in insert mode +- Broken bitmap font rendering with FreeType 2.11+ +- Crash with non-utf8 font paths on Linux +- Newly installed fonts not rendering until Alacritty restart + +## 0.8.0 + +### Packaging + +- Minimum Rust version has been bumped to 1.45.0 + +### Packaging + +- Updated shell completions +- Added ARM executable to prebuilt macOS binaries + +### Added + +- IME composition preview not appearing on Windows +- Synchronized terminal updates using `DCS = 1 s ST`/`DCS = 2 s ST` +- Regex terminal hints ([see features.md](./docs/features.md#hints)) +- macOS keybinding (cmd+alt+H) hiding all windows other than Alacritty +- Support for `magnet` URLs + +### Changed + +- The vi mode cursor is now created in the top-left if the terminal cursor is invisible +- Focused search match will use cell instead of match colors for CellForeground/CellBackground +- URL highlighting has moved from `mouse.url` to the `hints` config section + +### Fixed + +- Alacritty failing to start on X11 with invalid DPI reported by XRandr +- Text selected after search without any match +- Incorrect vi cursor position after leaving search +- Clicking on URLs on Windows incorrectly opens File Explorer +- Incorrect underline cursor thickness on wide cell +- Viewport moving around when resizing while scrolled into history +- Block cursor not expanding across fullwidth characters when on the right side of it +- Overwriting fullwidth characters only clearing one of the involved cells + +### Removed + +- Config field `visual_bell`, you should use `bell` instead + +## 0.7.2 + +### Packaging + +- Updated shell completions + +### Fixed + +- Crash due to assertion failure on 32-bit architectures +- Segmentation fault on shutdown with Wayland +- Incorrect estimated DPR with Wayland +- Consecutive clipboard stores dropped on Wayland until the application is refocused + +## 0.7.1 + +### Fixed + +- Jumping between matches in backward vi search + +## 0.7.0 + +### Added + +- Support for `~/` at the beginning of configuration file imports +- New `cursor.style.blinking` option to set the default blinking state +- New `cursor.blink_interval` option to configure the blinking frequency +- Support for cursor blinking escapes (`CSI ? 12 h`, `CSI ? 12 l` and `CSI Ps SP q`) +- IME support on Windows +- Urgency support on Windows +- Customizable keybindings for search +- History for search mode, bound to ^P/^N/Up/Down by default +- Default binding to cancel search on Ctrl+C +- History position indicator for search and vi mode + +### Changed + +- Nonexistent config imports are ignored instead of raising an error +- Value for disabling logging with `config.log_level` is `Off` instead of `None` +- Missing glyph symbols are no longer drawn for zerowidth characters + +### Fixed + +- Wide characters sometimes being cut off +- Preserve vi mode across terminal `reset` +- Escapes `CSI Ps b` and `CSI Ps Z` with large parameters locking up Alacritty +- Dimming colors which use the indexed `CSI 38 : 5 : Ps m` notation +- Slow rendering performance with a lot of cells with underline/strikeout attributes +- Performance of scrolling regions with offset from the bottom +- Extra mouse buttons are no longer ignored on Wayland +- Numpad arrow keys are now properly recognized on Wayland +- Compilation when targetting aarch64-apple-darwin +- Window not being completely opaque on Windows +- Window being always on top during alt-tab on Windows +- Cursor position not reported to apps when mouse is moved with button held outside of window +- No live config update when starting Alacritty with a broken configuration file +- PTY not drained to the end with the `--hold` flag enabled +- High CPU usage on BSD with live config reload enabled +- Alacritty not discarding invalid escape sequences starting with ESC +- Crash due to clipboard not being properly released on Wayland +- Shadow artifacts when resizing transparent windows on macOS +- Missing glyph symbols not being rendered for missing glyphs on macOS and Windows +- Underline cursor being obscured by underline +- Cursor not being rendered with a lot of unicode glyphs visible +- IME input swallowed after triggering a key binding +- Crash on Wayland due to non-standard fontconfig configuration +- Search without vi mode not jumping properly between all matches + +### Removed + +- The following CLI arguments have been removed in favor of the `--option` flag: + * `--persistent-logging` + * `--live-config-reload` + * `--no-live-config-reload` + * `--dimensions` + * `--position` +- `live-shader-reload` feature +- Config option `dynamic_title`, you should use `window.dynamic_title` instead +- Config option `scrolling.faux_multiplier`, which was replaced by escape `CSI ? 1007 h/l` +- WinPTY support on Windows + +## 0.6.0 + +### Packaging + +- Minimum Rust version has been bumped to 1.43.0 +- The snapcraft.yaml file has been removed +- Updated `setab`/`setaf` capabilities in `alacritty-direct` to use colons +- WinPTY is now enabled only when targeting MSVC +- Deprecated the WinPTY backend feature, disabling it by default + +### Added + +- Secondary device attributes escape (`CSI > 0 c`) +- Support for colon separated SGR 38/48 +- New Ctrl+C binding to cancel search and leave vi mode +- Escapes for double underlines (`CSI 4 : 2 m`) and underline reset (`CSI 4 : 0 m`) +- Configuration file option for sourcing other files (`import`) +- CLI parameter `--option`/`-o` to override any configuration field +- Escape sequences to report text area size in pixels (`CSI 14 t`) and in characters (`CSI 18 t`) +- Support for single line terminals dimensions +- Right clicking on Wayland's client side decorations will show application menu +- Escape sequences to enable and disable window urgency hints (`CSI ? 1042 h`, `CSI ? 1042 l`) + +### Changed + +- Cursors are now inverted when their fixed color is similar to the cell's background +- Use the working directory of the terminal foreground process, instead of the shell's working + directory, for `SpawnNewInstance` action +- Fallback to normal underline for unsupported underline types in `CSI 4 : ? m` escapes +- The user's background color is now used as the foreground for the render timer +- Use yellow/red from the config for error and warning messages instead of fixed colors +- Existing CLI parameters are now passed to instances spawned using `SpawnNewInstance` +- Wayland's Client side decorations now use the search bar colors +- Reduce memory usage by up to at least 30% with a full scrollback buffer +- The number of zerowidth characters per cell is no longer limited to 5 +- `SpawnNewInstance` is now using the working directory of the terminal foreground process on macOS + +### Fixed + +- Incorrect window location with negative `window.position` config options +- Slow rendering performance with HiDPI displays, especially on macOS +- Keys swallowed during search when pressing them right before releasing backspace +- Crash when a wrapped line is rotated into the last line +- Selection wrapping to the top when selecting below the error/warning bar +- Pasting into clients only supporting `UTF8_STRING` mime type on Wayland +- Crash when copying/pasting with neither pointer nor keyboard focus on Wayland +- Crash due to fd leak on Wayland +- IME window position with fullwidth characters in the search bar +- Selection expanding over 2 characters when scrolled in history with fullwidth characters in use +- Selection scrolling not starting when mouse is over the message bar +- Incorrect text width calculation in message bar when the message contains multibyte characters +- Remapped caps lock to escape not triggering escape bindings on Wayland +- Crash when setting overly long title on Wayland +- Switching in and out of various window states, like Fullscreen, not persisting window size on Wayland +- Crash when providing 0 for `XCURSOR_SIZE` on Wayland +- Gap between window and server side decorations on KWIN Wayland +- Wayland's client side decorations not working after tty switch +- `Fullscreen` startup mode not working on Wayland +- Window not being rescaled when changing DPR of the current monitor on Wayland +- Crash in some cases when pointer isn't presented upon startup on Wayland +- IME not working on Wayland +- Crash on startup on GNOME since its 3.37.90 version on Wayland +- Touchpad scrolling scrolled less than it should on macOS/Wayland on scaled outputs +- Incorrect modifiers at startup on X11 +- `Add` and `Subtract` keys are now named `NumpadAdd` and `NumpadSubtract` respectively +- Feature checking when cross compiling between different operating systems +- Crash when writing to the clipboard fails on Wayland +- Crash with large negative `font.offset.x/y` +- Visual bell getting stuck on the first frame +- Zerowidth characters in the last column of the line + +## 0.5.0 + +### Packaging + +- Minimum Rust version has been bumped to 1.41.0 +- Prebuilt Linux binaries have been removed +- Added manpage, terminfo, and completions to macOS application bundle +- On Linux/BSD the build will fail without Fontconfig installed, instead of building it from source +- Minimum FreeType version has been bumped to 2.8 on Linux/BSD + +### Added + +- Default Command+N keybinding for SpawnNewInstance on macOS +- Vi mode for regex search, copying text, and opening links +- `CopySelection` action which copies into selection buffer on Linux/BSD +- Option `cursor.thickness` to set terminal cursor thickness +- Font fallback on Windows +- Support for Fontconfig embolden and matrix options +- Opt-out compilation flag `winpty` to disable WinPTY support +- Scrolling during selection when mouse is at top/bottom of window +- Expanding existing selections using single, double and triple click with the right mouse button +- Support for `gopher` and `gemini` URLs +- Unicode 13 support +- Option to run command on bell which can be set in `bell.command` +- Fallback to program specified in `$SHELL` variable on Linux/BSD if it is present +- Ability to make selections while search is active + +### Changed + +- Block cursor is no longer inverted at the start/end of a selection +- Preserve selection on non-LMB or mouse mode clicks +- Wayland client side decorations are now based on config colorscheme +- Low resolution window decoration icon on Windows +- Mouse bindings for additional buttons need to be specified as a number not a string +- Don't hide cursor on modifier press with `mouse.hide_when_typing` enabled +- `Shift + Backspace` now sends `^?` instead of `^H` +- Default color scheme is now `Tomorrow Night` with the bright colors of `Tomorrow Night Bright` +- Set IUTF8 termios flag for improved UTF8 input support +- Dragging files into terminal now adds a space after each path +- Default binding replacement conditions +- Adjusted selection clearing granularity to more accurately match content +- To use the cell's text color for selection with a modified background, the `color.selection.text` + variable must now be set to `CellForeground` instead of omitting it +- URLs are no longer highlighted without a clearly delimited scheme +- Renamed config option `visual_bell` to `bell` +- Moved config option `dynamic_title` to `window.dynamic_title` +- When searching without vi mode, matches are only selected once search is cancelled + +### Fixed + +- Selection not cleared when switching between main and alt grid +- Freeze when application is invisible on Wayland +- Paste from some apps on Wayland +- Slow startup with Nvidia binary drivers on some X11 systems +- Display not scrolling when printing new lines while scrolled in history +- Regression in font rendering on macOS +- Scroll down escape (`CSI Ps T`) incorrectly pulling lines from history +- Dim escape (`CSI 2 m`) support for truecolor text +- Incorrectly deleted lines when increasing width with a prompt wrapped using spaces +- Documentation for class in `--help` missing information on setting general class +- Linewrap tracking when switching between primary and alternate screen buffer +- Preservation of the alternate screen's saved cursor when swapping to primary screen and back +- Reflow of cursor during resize +- Cursor color escape ignored when its color is set to inverted in the config +- Fontconfig's `autohint` and `hinting` options being ignored +- Ingoring of default FreeType properties +- Alacritty crashing at startup when the configured font does not exist +- Font size rounding error +- Opening URLs while search is active + +### Removed + +- Environment variable `RUST_LOG` for selecting the log level +- Deprecated `window.start_maximized` config field +- Deprecated `render_timer` config field +- Deprecated `persistent_logging` config field + +## 0.4.3 + +### Fixed + +- Tabstops not being reset with `reset` +- Fallback to `LC_CTYPE=UTF-8` on macOS without valid system locale +- Resize lag on launch under some X11 wms +- Increased input latency due to vsync behavior on X11 +- Emoji colors blending with terminal background +- Fix escapes prematurely terminated by terminators in unicode glyphs +- Incorrect location when clicking inside an unfocused window on macOS +- Startup mode `Maximized` on Windows +- Crash when writing a fullwidth character in the last column with auto-wrap mode disabled +- Crashing at startup on Windows + +## 0.4.2 + +### Packaging + +- Minimum Rust version has been bumped to 1.37.0 +- Added Rust features `x11` and `wayland` to pick backends, with both enabled by default +- Capitalized the Alacritty.desktop file + +### Added + +- Live config reload for `window.title` + +### Changed + +- Pressing additional modifiers for mouse bindings will no longer trigger them +- Renamed `WINIT_HIDPI_FACTOR` environment variable to `WINIT_X11_SCALE_FACTOR` +- Print an error instead of crashing, when startup working directory is invalid +- Line selection will now expand across wrapped lines +- The default value for `draw_bold_text_with_bright_colors` is now `false` +- Mirror OSC query terminators instead of always using BEL +- Increased Beam, Underline, and Hollow Block cursors' line widths +- Dynamic title is not disabled anymore when `window.title` is set in config + +### Fixed + +- Incorrect default config path in `--help` on Windows and macOS +- Semantic selection stopping at full-width glyphs +- Full-width glyphs cut off in last column +- Crash when starting on some X11 systems +- Font size resetting when Alacritty is moved between screens +- Limited payload length in clipboard escape (used for Tmux copy/paste) +- Alacritty not ignoring keyboard events for changing WM focus on X11 +- Regression which added a UNC path prefix to the working directory on Windows +- CLI parameters discarded when config is reload +- Blurred icons in KDE task switcher (alacritty.ico is now high-res) +- Consecutive builds failing on macOS due to preexisting `/Application` symlink +- Block selection starting from first column after beginning leaves the scrollback +- Incorrect selection status of the first cell when selection is off screen +- Backwards bracket selection +- Stack overflow when printing shader creation error +- Underline position for bitmap fonts +- Selection rotating outside of scrolling region +- Throughput performance problems caused by excessive font metric queries +- Unicode throughput performance on Linux/BSD +- Resize of bitmap fonts +- Crash when using bitmap font with `embeddedbitmap` set to `false` +- Inconsistent fontconfig fallback +- Handling of OpenType variable fonts +- Expansion of block-selection on partially selected full-width glyphs +- Minimize action only works with decorations on macOS +- Window permanently vanishing after hiding on macOS +- Handling of URLs with single quotes +- Parser reset between DCS escapes +- Parser stopping at unknown DEC private modes/SGR character attributes +- Block selection appending duplicate newlines when last column is selected +- Bitmap fonts being a bit smaller than they should be in some cases +- Config reload creating alternate screen history instead of updating scrollback +- Crash on Wayland compositors supporting `wl_seat` version 7+ +- Message bar not hiding after fixing wrong color value in config +- Tabstops cleared on resize +- Tabstops not breaking across lines +- Crash when parsing DCS escape with more than 16 parameters +- Ignoring of slow touchpad scrolling +- Selection invisible when starting above viewport and ending below it +- Clipboard not working after TTY switch on Wayland +- Crash when pasting non UTF-8 string advertised as UTF-8 string on Wayland +- Incorrect modifiers tracking on X11 and macOS, leading to 'sticky' modifiers +- Crash when starting on Windows with missing dark mode support +- Variables `XCURSOR_THEME` and `XCURSOR_SIZE` ignored on Wayland +- Low resolution mouse cursor and decorations on HiDPI Wayland outputs +- Decorations visible when in fullscreen on Wayland +- Window size not persisted correctly after fullscreening on macOS +- Crash on startup with some locales on X11 +- Shrinking terminal height in alt screen deleting primary screen content + +### Removed + +- Config option `auto_scroll`, which is now always disabled +- Config option `tabspaces`, which is now fixed at `8` + +## 0.4.1 + +### Packaging + +- Added compatibility logo variants for environments which can't render the default SVG + +### Added + +- Terminal escape bindings with combined modifiers for Delete and Insert +- /Applications symlink into OS X DMG for easier installation +- Colored emojis on Linux/BSD +- Value `randr` for `WINIT_HIDPI_FACTOR`, to ignore `Xft.dpi` and scale based on screen dimensions +- `Minimize` key binding action, bound to `cmd + m` on macOS + +### Changed + +- On Windows, the ConPTY backend will now be used by default if available +- The `enable_experimental_conpty_backend` config option has been replaced with `winpty_backend` + +### Fixed + +- URLs not truncated with non-matching single quote +- Absolute file URLs (`file:///home`) not recognized because of leading `/` +- Clipboard escape `OSC 52` not working with empty clipboard parameter +- Direct escape input on Windows using alt +- Incorrect window size on X11 when waking up from suspend +- Width of Unicode 11/12 emojis +- Minimize on windows causing layout issues +- Performance bottleneck when clearing colored rows +- Vague startup crash messages on Windows with WinPTY backend +- Deadlock on Windows when closing Alacritty using the title bar "X" button (ConPTY backend) +- Crash on `clear` when scrolled up in history +- Entire screen getting underlined/stroke out when running `clear` +- Slow startup on some Wayland compositors +- Padding not consistently visible on macOS +- Decorations ignoring Windows dark theme +- Crash on macOS when starting maximized without decorations +- Resize cursor not showing up on Wayland +- Maximized windows spawning behind system panel on Gnome Wayland + +### Removed + +- Support for 8-bit C1 escape sequences + +## 0.4.0 + +### Packaging + +- Minimum Rust version has been bumped to 1.36.0 +- Config is not generated anymore, please consider distributing the alacritty.yml as documentation +- Removed Alacritty terminfo from .deb in favor of ncurses provided one + +### Added + +- Block selection mode when Control is held while starting a selection +- Allow setting general window class on X11 using CLI or config (`window.class.general`) +- Config option `window.gtk_theme_variant` to set GTK theme variant +- Completions for `--class` and `-t` (short title) +- Change the mouse cursor when hovering over the message bar and its close button +- Support combined bold and italic text (with `font.bold_italic` to customize it) +- Extra bindings for F13-F20 +- Terminal escape bindings with combined modifiers +- Bindings for ScrollToTop and ScrollToBottom actions +- `ReceiveChar` key binding action to insert the key's text character +- New CLI flag `--hold` for keeping Alacritty opened after its child process exits +- Escape sequence to save and restore window title from stack +- Alternate scroll escape sequence (`CSI ? 1007 h` / `CSI ? 1007 l`) +- Print name of launch command if Alacritty failed to execute it +- Live reload font settings from config +- UTF-8 mouse mode escape sequence (`CSI ? 1005 h` / `CSI ? 1005 l`) +- Escape for reading clipboard (`OSC 52 ; ; ? BEL`) +- Set selection clipboard (`OSC 52 ; ; BEL`) + +### Changed + +- On Windows, query DirectWrite for recommended anti-aliasing settings +- Scroll lines out of the visible region instead of deleting them when clearing the screen + +### Fixed + +- GUI programs launched by Alacritty starting in the background on X11 +- Text Cursor position when scrolling +- Performance issues while resizing Alacritty +- First unfullscreen action ignored on window launched in fullscreen mode +- The window is now filled with the background color before displaying +- Cells sometimes not getting cleared correctly +- X11 clipboard hanging when mime type is set +- On macOS, Alacritty will now fallback to Menlo if a font specified in the config cannot be loaded +- Debug ref tests are now written to disk regardless of shutdown method +- Cursor color setting with escape sequence +- Override default bindings with subset terminal mode match +- On Linux, respect fontconfig's `embeddedbitmap` configuration option +- Selecting trailing tab with semantic expansion +- URL parser incorrectly handling Markdown URLs and angled brackets +- Intermediate bytes of CSI sequences not checked +- Wayland clipboard integration +- Use text mouse cursor when mouse mode is temporarily disabled with shift +- Wayland primary selection clipboard not storing text when selection is stopped outside of the window +- Block URL highlight while a selection is active +- Bindings for Alt + F1-F12 +- Discard scrolling region escape with bottom above top +- Opacity always applying to cells with their background color matching the teriminal background +- Allow semicolons when setting titles using an OSC +- Background always opaque on X11 +- Skipping redraws on PTY update +- Not redrawing while resizing on Windows/macOS +- Decorations `none` launching an invisible window on Windows +- Alacritty turning transparent when opening another window on macOS with chunkwm +- Startup mode `Maximized` having no effect on Windows +- Inserting Emojis using `Super+.` or compose sequences on Windows +- Change mouse cursor depending on mode with Wayland +- Hide mouse cursor when typing if the `mouse.hide_when_typing` option is set on Wayland +- Glitches when DPI changes on Windows +- Crash when resuming after suspension +- Crash when trying to start on X11 with a Wayland compositor running +- Crash with a virtual display connected on X11 +- Use `\` instead of `\\` as path separators on Windows for logging config file location +- Underline/strikeout drawn above visual bell +- Terminal going transparent during visual bell +- Selection not being cleared when sending chars through a binding +- Mouse protocols/encodings not being mutually exclusive within themselves +- Escape `CSI Ps M` deleting lines above cursor when at the bottom of the viewport +- Cell reset not clearing underline, strikeout and foreground color +- Escape `CSI Ps c` honored with a wrong `Ps` +- Ignore `ESC` escapes with invalid intermediates +- Blank lines after each line when pasting from GTK apps on Wayland + +### Removed + +- Bindings for Super/Command + F1-F12 +- Automatic config generation +- Deprecated `scrolling.faux_multiplier`, the alternate scroll escape can now be used to disable it + and `scrolling.multiplier` controls the number of scrolled lines + +## 0.3.3 + +### Packaging + +- Add appstream metadata, located at /extra/linux/io.alacritty.Alacritty.xml +- The xclip dependency has been removed +- On macOS, Alacritty now requests NSSystemAdministrationUsageDescription to + avoid permission failures +- Minimum Rust version has been bumped to 1.32.0 + +### Added + +- Added ToggleFullscreen action +- On macOS, there's a ToggleSimpleFullscreen action which allows switching to + fullscreen without occupying another space +- A new window option `window.startup_mode` which controls how the window is created +- `_NET_WM_ICON` property is set on X11 now, allowing for WMs to show icons in titlebars +- Current Git commit hash to `alacritty --version` +- Config options `window.title` and `window.class` +- Config option `working_directory` +- Config group `debug` with the options `debug.log_level`, `debug.print_events` + and `debug.ref_test` +- Select until next matching bracket when double-clicking a bracket +- Added foreground/background escape code request sequences +- Escape sequences now support 1, 3, and 4 digit hex colors + +### Changed + +- On Windows, Alacritty will now use the native DirectWrite font API +- The `start_maximized` window option is now `startup_mode: Maximized` +- Cells with identical foreground and background will now show their text upon selection/inversion +- Default Window padding to 0x0 +- Moved config option `render_timer` and `persistent_logging` to the `debug` group +- When the cursor is in the selection, it will be inverted again, making it visible + +### Fixed + +- Double-width characters in URLs only being highlit on the left half +- PTY size not getting updated when message bar is shown +- Text Cursor disappearing +- Incorrect positioning of zero-width characters over double-width characters +- Mouse mode generating events when the cell has not changed +- Selections not automatically expanding across double-width characters +- On macOS, automatic graphics switching has been enabled again +- Text getting recognized as URLs without slashes separating the scheme +- URL parser dropping trailing slashes from valid URLs +- UTF-8 BOM skipped when reading config file +- Terminfo backspace escape sequence (`kbs`) + +### Removed + +- Deprecated `mouse.faux_scrollback_lines` config field +- Deprecated `custom_cursor_colors` config field +- Deprecated `hide_cursor_when_typing` config field +- Deprecated `cursor_style` config field +- Deprecated `unfocused_hollow_cursor` config field +- Deprecated `dimensions` config field + +## Version 0.3.2 + +### Fixed + +- Panic on startup when using Conpty on Windows + +## Version 0.3.1 + +### Added + +- Added ScrollLineUp and ScrollLineDown actions for scrolling line by line +- Native clipboard support on X11 and Wayland + +### Changed + +- Alacritty now has a fixed minimum supported Rust version of 1.31.0 + +### Fixed + +- Reset scrolling region when the RIS escape sequence is received +- Subprocess spawning on macos +- Unnecessary resize at startup +- Text getting blurry after live-reloading shaders with padding active +- Resize events are not send to the shell anymore if dimensions haven't changed +- Minor performance issues with underline and strikeout checks +- Rare bug which would extend underline and strikeout beyond the end of line +- Cursors not spanning two lines when over double-width characters +- Incorrect cursor dimensions if the font offset isn't `0` + +## Version 0.3.0 + +### Packaging + +- On Linux, the .desktop file now uses `Alacritty` as icon name, which can be + found at `extra/logo/alacritty-term.svg` + +### Added + +- MSI installer for Windows is now available +- New default key bindings Alt+Home, Alt+End, Alt+PageUp and Alt+PageDown +- Dynamic title support on Windows +- Ability to specify starting position with the `--position` flag +- New configuration field `window.position` allows specifying the starting position +- Added the ability to change the selection color +- Text will reflow instead of truncating when resizing Alacritty +- Underline text and change cursor when hovering over URLs with required modifiers pressed + +### Changed + +- Clicking on non-alphabetical characters in front of URLs will no longer open them +- Command keybindings on Windows will no longer open new cmd.exe console windows +- On macOS, automatic graphics switching has been temporarily disabled due to a macos bug + +### Fixed + +- Fix panic which could occur when quitting Alacritty on Windows if using the Conpty backend +- Automatic copying of selection to clipboard when mouse is released outside of Alacritty +- Scrollback history live reload only working when shrinking lines +- Crash when decreasing scrollback history in config while scrolled in history +- Resetting the terminal while in the alt screen will no longer disable scrollback +- Cursor jumping around when leaving alt screen while not in the alt screen +- Text lingering around when resetting while scrolled up in the history +- Terminfo support for extended capabilities +- Allow mouse presses and beginning of mouse selection in padding +- Windows: Conpty backend could close immediately on startup in certain situations +- FreeBSD: SpawnNewInstance will now open new instances in the shell's current + working directory as long as linprocfs(5) is mounted on `/compat/linux/proc` +- Fix lingering Alacritty window after child process has exited +- Growing the terminal while scrolled up will no longer move the content down +- Support for alternate keyboard layouts on macOS +- Slow startup time on some X11 systems +- The AltGr key no longer sends escapes (like Alt) +- Fixes increase/decrease font-size keybindings on international keyboards +- On Wayland, the `--title` flag will set the Window title now +- Parsing issues with URLs starting in the first or ending in the last column +- URLs stopping at double-width characters +- Fix `start_maximized` option on X11 +- Error when parsing URLs ending with Unicode outside of the ascii range +- On Windows, focusing a Window will no longer start a selection + +## Version 0.2.9 + +### Changed + +- Accept fonts which are smaller in width or height than a single pixel + +### Fixed + +- Incorrect font spacing after moving Alacritty between displays + +## Version 0.2.8 + +### Added + +- Window class on Wayland is set to `Alacritty` by default +- Log file location is stored in the `ALACRITTY_LOG` environment variable +- Close button has been added to the error/warning messages + +### Changed + +- Improve scrolling accuracy with devices sending fractional updates (like touchpads) +- `scrolling.multiplier` now affects normal scrolling with touchpads +- Error/Warning bar doesn't overwrite the terminal anymore +- Full error/warning messages are displayed +- Config error messages are automatically removed when the config is fixed +- Scroll history on Shift+PgUp/PgDown when scrollback history is available + +### Fixed + +- Resolved off-by-one issue with erasing characters in the last column +- Excessive polling every 100ms with `live_config_reload` enabled +- Unicode characters at the beginning of URLs are now properly ignored +- Remove error message when reloading an empty config +- Allow disabling URL launching by setting the value of `mouse.url.launcher` to `None` +- Corrected the `window.decorations` config documentation for macOS +- Fix IME position on HiDPI displays +- URLs not opening while terminal is scrolled +- Reliably remove log file when Alacritty is closed and persistent logging is disabled +- Remove selections when clearing the screen partially (scrolling horizontally in less) +- Crash/Freeze when shrinking the font size too far +- Documentation of the `--dimensions` flag have been updated to display the correct default + +### Removed + +- `clear` doesn't remove error/warning messages anymore + +## Version 0.2.7 + +### Fixed + +- Crash when trying to start Alacritty on Windows + +## Version 0.2.6 + +### Added + +- New `alt_send_esc` option for controlling if alt key should send escape sequences + +### Changed + +- All options in the configuration file are now optional + +### Fixed + +- Replaced `Command` with `Super` in the Linux and Windows config documentation +- Prevent semantic and line selection from starting with the right or middle mouse button +- Prevent Alacritty from crashing when started on a system without any free space +- Resolve issue with high CPU usage after moving Alacritty between displays +- Characters will no longer be deleted when using ncurses with the hard tab optimization +- Crash on non-linux operating systems when using the `SpawnNewInstance` action + +### Removed + +- Windows and macOS configuration files (`alacritty.yml` is now platform independent) + +## Version 0.2.5 + +### Added + +- New configuration field `visual_bell.color` allows changing the visual bell color +- Crashes on Windows are now also reported with a popup in addition to stderr +- Windows: New configuration field `enable_experimental_conpty_backend` which enables support + for the Pseudoconsole API (ConPTY) added in Windows 10 October 2018 (1809) update +- New mouse and key action `SpawnNewInstance` for launching another instance of Alacritty + +### Changed + +- Log messages are now consistent in style, and some have been removed +- Windows configuration location has been moved from %USERPROFILE%\alacritty.yml + to %APPDATA%\alacritty\alacritty.yml +- Windows default shell is now PowerShell instead of cmd +- URL schemes have been limited to http, https, mailto, news, file, git, ssh and ftp + +### Fixed + +- Fix color issue in ncurses programs by updating terminfo pairs from 0x10000 to 0x7FFF +- Fix panic after quitting Alacritty on macOS +- Tabs are no longer replaced by spaces when copying them to the clipboard +- Alt modifier is no longer sent separately from the modified key +- Various Windows issues, like color support and performance, through the new ConPTY +- Fixed rendering non default mouse cursors in terminal mouse mode (linux) +- Fix the `Copy` `mouse_bindings` action ([#1963](https://github.com/alacritty/alacritty/issues/1963)) +- URLs are only launched when left-clicking +- Removal of extra characters (like `,`) at the end of URLs has been improved +- Single quotes (`'`) are removed from URLs when there is no matching opening quote +- Precompiled binaries now work with macOS versions before 10.13 (10.11 and above) + +## Version 0.2.4 + +### Added + +- Option for evenly spreading extra padding around the terminal (`window.dynamic_padding`) +- Option for maximizing alacritty on start (`window.start_maximized`) +- Display notice about errors and warnings inside Alacritty +- Log all messages to both stderr and a log file in the system's temporary directory +- New configuration option `persistent_logging` and CLI flag `--persistent-logging`, + for keeping the log file after closing Alacritty +- `ClearLogNotice` action for removing the warning and error message +- Terminal bells on macOS will now request the user's attention in the window +- Alacritty now requests privacy permissions on macOS + +### Changed + +- Extra padding is not evenly spread around the terminal by default anymore +- When the config file is empty, Alacritty now logs an info instead of an error message + +### Fixed + +- Fixed a bad type conversion which could cause underflow on a window resize +- Alacritty now spawns a login shell on macOS, as with Terminal.app and iTerm2 +- Fixed zombie processes sticking around after launching URLs +- Zero-width characters are now properly rendered without progressing the cursor + +## Version 0.2.3 + +### Fixed + +- Mouse cursor alignment issues and truncated last line caused by incorrect padding calculations + +## Version 0.2.2 + +### Added + +- Add support for Windows +- Add terminfo capabilities advertising support for changing the window title +- Allow using scancodes in the key_bindings section +- When `mouse.url.launcher` is set, clicking on URLs will now open them with the specified program +- New `mouse.url.modifiers` option to specify keyboard modifiers for opening URLs on click +- Binaries for macOS, Windows and Debian-based systems are now published with GitHub releases +- The keys F16-F24 have been added as options for key bindings +- DEB file adds Alacritty as option to `update-alternatives --config x-terminal-emulator` + +### Changed + +- The `colors.cursor.text` and `colors.cursor.cursor` fields are optional now +- Moved `cursor_style` to `cursor.style` +- Moved `unfocused_hollow_cursor` to `cursor.unfocused_hollow` +- Moved `hide_cursor_when_typing` to `mouse.hide_when_typing` +- Mouse bindings now ignore additional modifiers +- Extra padding is now spread evenly around the terminal grid +- DEB file installs to `usr/bin` instead of `usr/local/bin` + +### Fixed + +- Fixed erroneous results when using the `indexed_colors` config option +- Fixed rendering cursors other than rectangular with the RustType backend +- Selection memory leak and glitches in the alternate screen buffer +- Invalid default configuration on macOS and Linux +- Middle mouse pasting if mouse mode is enabled +- Selections now properly update as you scroll the scrollback buffer while selecting +- NUL character at the end of window titles +- DPI Scaling when moving windows across monitors +- On macOS, issues with Command-[KEY] and Control-Tab keybindings have been fixed +- Incorrect number of columns/lines when using the `window.dimensions` option +- On Wayland, windows will no longer be spawned outside of the visible region +- Resizing of windows without decorations +- On Wayland, key repetition works again +- On macOS, Alacritty will now use the integrated GPU again when available +- On Linux, the `WINIT_HIDPI_FACTOR` environment variable can be set from the config now + +### Removed + +- The `custom_cursor_colors` config field was deleted, remove the `colors.cursor.*` options + to achieve the same behavior as setting it to `false` +- The `scale_with_dpi` configuration value has been removed, on Linux the env + variable `WINIT_HIDPI_FACTOR=1` can be set instead to disable DPI scaling + +## Version 0.2.1 + +### Added + +- Implement the `hidden` escape sequence (`echo -e "\e[8mTEST"`) +- Add support for macOS systemwide dark mode +- Set the environment variable `COLORTERM="truecolor"` to advertise 24-bit color support +- On macOS, there are two new values for the config option `window.decorations`: + - `transparent` - This makes the title bar transparent and allows the + viewport to extend to the top of the window. + - `buttonless` - Similar to transparent but also removed the buttons. +- Add support for changing the colors from 16 to 256 in the `indexed_colors` config section +- Add `save_to_clipboard` configuration option for copying selected text to the system clipboard +- New terminfo entry, `alacritty-direct`, that advertises 24-bit color support +- Add support for CSI sequences Cursor Next Line (`\e[nE`) and Cursor Previous Line (`\e[nF`) + +### Changed + +- Inverse/Selection color is now modelled after XTerm/VTE instead of URxvt to improve consistency +- First click on unfocused Alacritty windows is no longer ignored on platforms other than macOS +- Reduce memory usage significantly by only initializing part of the scrollback buffer at startup +- The `alacritty` terminfo entry no longer requires the `xterm` definition to be + present on the system +- The default `TERM` value is no longer static; the `alacritty` entry is used if + available, otherwise the `xterm-256color` entry is used instead +- The values `true` and `false` for the config option `window.decorations` have been replaced with + `full` and `none` + +### Fixed + +- Rendering now occurs without the terminal locked which improves performance +- Clear screen properly before rendering of content to prevent various graphical glitches +- Fix build failure on 32-bit systems +- Windows started as unfocused now show the hollow cursor if the setting is enabled +- Empty lines in selections are now properly copied to the clipboard +- Selection start point lagging behind initial cursor position +- Rendering of selections which start above the visible area and end below it +- Bracketed paste mode now filters escape sequences beginning with \x1b + +### Removed + +- The terminfo entry `alacritty-256color`. It is replaced by the `alacritty` + entry (which also advertises 256 colors) + +## Version 0.2.0 + +### Added + +- Add a scrollback history buffer (10_000 lines by default) +- CHANGELOG has been added for documenting relevant user-facing changes +- Add `ClearHistory` key binding action and the `Erase Saved Lines` control sequence +- When growing the window height, Alacritty will now try to load additional lines out of the + scrollback history +- Support the dim foreground color (`echo -e '\033[2mDimmed Text'`) +- Add support for the LCD-V pixel mode (vertical screens) +- Pressing enter on the numpad should now insert a newline +- The mouse bindings now support keyboard modifiers (shift/ctrl/alt/super) +- Add support for the bright foreground color +- Support for setting foreground, background colors in one escape sequence + +### Changed + +- Multiple key/mouse bindings for a single key will now all be executed instead of picking one and + ignoring the rest +- Improve text scrolling performance (affects applications like `yes`, not scrolling the history) + +### Fixed + +- Clear the visible region when the RIS escape sequence (`echo -ne '\033c'`) is received +- Prevent logger from crashing Alacritty when stdout/stderr is not available +- Fix a crash when sending the IL escape sequence with a large number of lines diff --git a/.config/alacritty/alacritty/CONTRIBUTING.md b/.config/alacritty/alacritty/CONTRIBUTING.md new file mode 100644 index 0000000..5794fc8 --- /dev/null +++ b/.config/alacritty/alacritty/CONTRIBUTING.md @@ -0,0 +1,164 @@ +# Contributing to Alacritty + +Thank you for your interest in contributing to Alacritty! + +Table of Contents: + +1. [Feature Requests](#feature-requests) +2. [Bug Reports](#bug-reports) +3. [Patches / Pull Requests](#patches--pull-requests) + 1. [Testing](#testing) + 2. [Performance](#performance) + 3. [Documentation](#documentation) + 4. [Style](#style) +4. [Release Process](#release-process) +5. [Contact](#contact) + +## Feature Requests + +Feature requests should be reported in the +[Alacritty issue tracker](https://github.com/alacritty/alacritty/issues). To reduce the number of +duplicates, please make sure to check the existing +[enhancement](https://github.com/alacritty/alacritty/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Aenhancement) +and +[missing feature](https://github.com/alacritty/alacritty/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22B+-+missing+feature%22) +issues. + +## Bug Reports + +Bug reports should be reported in the +[Alacritty issue tracker](https://github.com/alacritty/alacritty/issues). + +If a bug was not present in a previous version of Alacritty, providing the exact commit which +introduced the regression helps out a lot. + +## Patches / Pull Requests + +All patches have to be sent on Github as [pull requests](https://github.com/alacritty/alacritty/pulls). + +If you are looking for a place to start contributing to Alacritty, take a look at the +[help wanted](https://github.com/alacritty/alacritty/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) +and +[easy](https://github.com/alacritty/alacritty/issues?q=is%3Aopen+is%3Aissue+label%3A%22D+-+easy%22) +issues. + +Please note that the minimum supported version of Alacritty is Rust 1.46.0. All patches are expected +to work with the minimum supported version. + +Since `alacritty_terminal`'s version always tracks the next release, make sure that the version is +bumped according to semver when necessary. + +### Testing + +To make sure no regressions were introduced, all tests should be run before sending a pull request. +The following command can be run to test Alacritty: + +``` +cargo test +``` + +Additionally if there's any functionality included which would lend itself to additional testing, +new tests should be added. These can either be in the form of Rust tests using the `#[test]` +annotation, or Alacritty's ref tests. + +To record a new ref test, a release version of the patched binary should be created and run with the +`--ref-test` flag. After closing the Alacritty window, or killing it (`exit` and `^D` do not work), +some new files should have been generated in the working directory. Those can then be copied to the +`./tests/ref/NEW_TEST_NAME` directory and the test can be enabled by editing the `ref_tests!` macro +in the `./tests/ref.rs` file. When fixing a bug, it should be checked that the ref test does not +complete correctly with the unpatched version, to make sure the test case is covered properly. + +### Performance + +If changes could affect throughput or latency of Alacritty, these aspects should be benchmarked to +prevent potential regressions. Since there are often big performance differences between Rust's +nightly releases, it's advised to perform these tests on the latest Rust stable release. + +Alacritty mainly uses the [vtebench](https://github.com/alacritty/vtebench) tool for testing Alacritty's +performance. Instructions on how to use it can be found in its +[README](https://github.com/alacritty/vtebench/blob/master/README.md). + +Latency is another important factor for Alacritty. On X11, Windows, and macOS the +[typometer](https://github.com/pavelfatin/typometer) tool allows measuring keyboard latency. + +### Documentation + +Code should be documented where appropriate. The existing code can be used as a guidance here and +the general `rustfmt` rules can be followed for formatting. + +If any change has been made to the `config.rs` file, these changes should also be documented in the +example configuration file `alacritty.yml`. + +Changes compared to the latest Alacritty release which have a direct effect on the user (opposed to +things like code refactorings or documentation/tests) additionally need to be documented in the +`CHANGELOG.md`. The existing entries should be used as a style guideline. The change log should be +used to document changes from a user-perspective, instead of explaining the technical background +(like commit messages). More information about Alacritty's change log format can be found +[here](https://keepachangelog.com). + +### Style + +All Alacritty changes are automatically verified by CI to conform to its rustfmt guidelines. If a CI +build is failing because of formatting issues, you can install rustfmt using `rustup component add +rustfmt` and then format all code using `cargo fmt`. + +Unless otherwise specified, Alacritty follows the Rust compiler's style guidelines: + +https://rust-lang.github.io/api-guidelines + +All comments should be fully punctuated with a trailing period. This applies both to regular and +documentation comments. + +# Release Process + +Alacritty's release process aims to provide stable and well tested releases without having to hold +back new features during the testing period. + +To achieve these goals, a new branch is created for every new release. Both the release candidates +and the final version are only comitted and tagged in this branch. The master branch only tracks +development versions, allowing us to keep the branches completely separate without merging releases +back into master. + +The exact steps for an exemplary `0.2.0` release might look like this: + 1. Initially, the version on the latest master is `0.2.0-dev` + 2. A new `v0.2.0` branch is created for the release + 3. In the branch, the version is bumped to `0.2.0-rc1` + 4. The new commit in the branch is tagged as `v0.2.0-rc1` + 5. A GitHub release is created for the `v0.2.0-rc1` tag + 6. The changelog since the last release (stable or RC) is added to the GitHub release description + 7. On master, the version is bumped to `0.3.0-dev` + and the `-dev` suffix is removed from the `0.2.0-dev` changelog + 8. Bug fixes are cherry-picked from master into the branch and steps 4-7 are repeated until no + major issues are found in the release candidates + 9. In the branch, the version is bumped to `0.2.0` + 10. The new commit in the branch is tagged as `v0.2.0` + 11. The new version is published to crates.io + 12. A GitHub release is created for the `v0.2.0` tag + 13. The changelog since the last stable release (**not** RC) is added to the GitHub release + description + +On master and with new planned releases, only the minor version is bumped. This makes it possible to +create bug fix releases by incrementing the patch version of a previous minor release, without +having to adjust the next planned release's version number. + +The exact steps for an exemplary `0.2.3` release might look like this: + 1. Initially, the version on the latest master is `0.3.0-dev` and the latest release was `0.2.2` + 2. A new `v0.2.3` branch is forked from the `v0.2.2` branch + 4. All bug fixes are cherry-picked from master into the `v0.2.3` branch + 5. The version is bumped to `v0.2.3-rc1` and the changelog is updated to include all fixes + 6. Follow Steps 5-12 of the regular release's example + 7. The release's changelog is ported back to master, removing fixes from the `0.2.3` release + +The `alacritty_terminal` crate is released in synchronization with `alacritty`, keeping the `-dev` +and `-rcX` version suffix identical across the two crates. As soon as the new Alacritty stable +release is made, releases are tagged as `alacritty_terminal_vX.Y.Z` and pushed to crates.io. During +a release, only the patch version is bumped on master, since there haven't been any changes since +the last release yet. + +# Contact + +If there are any outstanding questions about contributing to Alacritty, they can be asked on the +[Alacritty issue tracker](https://github.com/alacritty/alacritty/issues). + +As a more immediate and direct form of communication, the Alacritty IRC channel (`#alacritty` on +Libera.Chat) can be used to contact many of the Alacritty contributors. diff --git a/.config/alacritty/alacritty/Cargo.lock b/.config/alacritty/alacritty/Cargo.lock new file mode 100644 index 0000000..fee60d8 --- /dev/null +++ b/.config/alacritty/alacritty/Cargo.lock @@ -0,0 +1,2012 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9fe5e32de01730eb1f6b7f5b51c17e03e2325bf40a74f754f04f130043affff" + +[[package]] +name = "adler32" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" + +[[package]] +name = "alacritty" +version = "0.10.0-dev" +dependencies = [ + "alacritty_config_derive", + "alacritty_terminal", + "bitflags", + "cocoa 0.24.0", + "copypasta", + "crossfont", + "dirs", + "embed-resource", + "fnv", + "gl_generator", + "glutin", + "libc", + "log", + "notify", + "objc", + "parking_lot", + "png", + "raw-window-handle", + "serde", + "serde_json", + "serde_yaml", + "structopt", + "time", + "unicode-width", + "wayland-client", + "winapi 0.3.9", + "x11-dl", + "xdg", +] + +[[package]] +name = "alacritty_config_derive" +version = "0.1.0" +dependencies = [ + "log", + "proc-macro2", + "quote", + "serde", + "serde_yaml", + "syn", +] + +[[package]] +name = "alacritty_terminal" +version = "0.15.1-dev" +dependencies = [ + "alacritty_config_derive", + "base64", + "bitflags", + "dirs", + "libc", + "log", + "mio", + "mio-anonymous-pipes", + "mio-extras", + "miow 0.3.7", + "nix 0.22.0", + "parking_lot", + "regex-automata", + "serde", + "serde_json", + "serde_yaml", + "signal-hook", + "unicode-width", + "vte", + "winapi 0.3.9", +] + +[[package]] +name = "andrew" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c4afb09dd642feec8408e33f92f3ffc4052946f6b20f32fb99c1f58cd4fa7cf" +dependencies = [ + "bitflags", + "rusttype", + "walkdir", + "xdg", + "xml-rs", +] + +[[package]] +name = "android_glue" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "000444226fcff248f2bc4c7625be32c63caccfecc2723a2b9f78a7487a49c407" + +[[package]] +name = "ansi_term" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "bitflags" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "calloop" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b036167e76041694579972c28cf4877b4f92da222560ddb49008937b6a6727c" +dependencies = [ + "log", + "nix 0.18.0", +] + +[[package]] +name = "cc" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cgl" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff" +dependencies = [ + "libc", +] + +[[package]] +name = "clap" +version = "2.33.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" +dependencies = [ + "ansi_term", + "atty", + "bitflags", + "strsim 0.8.0", + "textwrap", + "unicode-width", + "vec_map", +] + +[[package]] +name = "clipboard-win" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342" +dependencies = [ + "lazy-bytes-cast", + "winapi 0.3.9", +] + +[[package]] +name = "cmake" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb6210b637171dfba4cda12e579ac6dc73f5165ad56133e5d72ef3131f320855" +dependencies = [ + "cc", +] + +[[package]] +name = "cocoa" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c54201c07dcf3a5ca33fececb8042aed767ee4bfd5a0235a8ceabcda956044b2" +dependencies = [ + "bitflags", + "block", + "cocoa-foundation", + "core-foundation 0.9.1", + "core-graphics 0.22.2", + "foreign-types 0.3.2", + "libc", + "objc", +] + +[[package]] +name = "cocoa" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63902e9223530efb4e26ccd0cf55ec30d592d3b42e21a28defc42a9586e832" +dependencies = [ + "bitflags", + "block", + "cocoa-foundation", + "core-foundation 0.9.1", + "core-graphics 0.22.2", + "foreign-types 0.3.2", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" +dependencies = [ + "bitflags", + "block", + "core-foundation 0.9.1", + "core-graphics-types", + "foreign-types 0.3.2", + "libc", + "objc", +] + +[[package]] +name = "copypasta" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4423d79fed83ebd9ab81ec21fa97144300a961782158287dc9bf7eddac37ff0b" +dependencies = [ + "clipboard-win", + "objc", + "objc-foundation", + "objc_id", + "smithay-clipboard", + "x11-clipboard", +] + +[[package]] +name = "core-foundation" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" +dependencies = [ + "core-foundation-sys 0.7.0", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" +dependencies = [ + "core-foundation-sys 0.8.2", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" + +[[package]] +name = "core-foundation-sys" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" + +[[package]] +name = "core-graphics" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3889374e6ea6ab25dba90bb5d96202f61108058361f6dc72e8b03e6f8bbe923" +dependencies = [ + "bitflags", + "core-foundation 0.7.0", + "foreign-types 0.3.2", + "libc", +] + +[[package]] +name = "core-graphics" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "269f35f69b542b80e736a20a89a05215c0ce80c2c03c514abb2e318b78379d86" +dependencies = [ + "bitflags", + "core-foundation 0.9.1", + "core-graphics-types", + "foreign-types 0.3.2", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" +dependencies = [ + "bitflags", + "core-foundation 0.9.1", + "foreign-types 0.3.2", + "libc", +] + +[[package]] +name = "core-text" +version = "19.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25" +dependencies = [ + "core-foundation 0.9.1", + "core-graphics 0.22.2", + "foreign-types 0.3.2", + "libc", +] + +[[package]] +name = "core-video-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ecad23610ad9757664d644e369246edde1803fcb43ed72876565098a5d3828" +dependencies = [ + "cfg-if 0.1.10", + "core-foundation-sys 0.7.0", + "core-graphics 0.19.2", + "libc", + "objc", +] + +[[package]] +name = "crc32fast" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "crossfont" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c0967e93a0440865bf1d867c3a50d6993f5054b2a10186fc2830397918241d" +dependencies = [ + "cocoa 0.24.0", + "core-foundation 0.9.1", + "core-foundation-sys 0.8.2", + "core-graphics 0.22.2", + "core-text", + "dwrote", + "foreign-types 0.5.0", + "freetype-rs", + "libc", + "log", + "pkg-config", + "servo-fontconfig", + "winapi 0.3.9", +] + +[[package]] +name = "darling" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.9.3", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dirs" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dlib" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b11f15d1e3268f140f68d390637d5e76d849782d971ae7063e0da69fe9709a76" +dependencies = [ + "libloading 0.6.7", +] + +[[package]] +name = "dlib" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794" +dependencies = [ + "libloading 0.7.0", +] + +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] +name = "dtoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" + +[[package]] +name = "dwrote" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b" +dependencies = [ + "lazy_static", + "libc", + "serde", + "serde_derive", + "winapi 0.3.9", + "wio", +] + +[[package]] +name = "embed-resource" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45de30eb317b4cd3882ee16623cb3004e5fb99a8f4cd40097cadf61efbc54adc" +dependencies = [ + "cc", + "vswhom", + "winreg", +] + +[[package]] +name = "expat-sys" +version = "2.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658f19728920138342f68408b7cf7644d90d4784353d8ebc32e7e8663dbe45fa" +dependencies = [ + "cmake", + "pkg-config", +] + +[[package]] +name = "filetime" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "redox_syscall", + "winapi 0.3.9", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared 0.3.0", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63f713f8b2aa9e24fec85b0e290c56caee12e3b6ae0aeeda238a75b28251afd6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "foreign-types-shared" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7684cf33bb7f28497939e8c7cf17e3e4e3b8d9a0080ffa4f8ae2f515442ee855" + +[[package]] +name = "freetype-rs" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74eadec9d0a5c28c54bb9882e54787275152a4e36ce206b45d7451384e5bf5fb" +dependencies = [ + "bitflags", + "freetype-sys", + "libc", +] + +[[package]] +name = "freetype-sys" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a37d4011c0cc628dfa766fcc195454f4b068d7afdc2adfd28861191d866e731a" +dependencies = [ + "cmake", + "libc", + "pkg-config", +] + +[[package]] +name = "fsevent" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6" +dependencies = [ + "bitflags", + "fsevent-sys", +] + +[[package]] +name = "fsevent-sys" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0" +dependencies = [ + "libc", +] + +[[package]] +name = "fuchsia-zircon" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" +dependencies = [ + "bitflags", + "fuchsia-zircon-sys", +] + +[[package]] +name = "fuchsia-zircon-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi", +] + +[[package]] +name = "gl_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +dependencies = [ + "khronos_api", + "log", + "xml-rs", +] + +[[package]] +name = "glutin" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ae1cbb9176b9151c4ce03f012e3cd1c6c18c4be79edeaeb3d99f5d8085c5fa3" +dependencies = [ + "android_glue", + "cgl", + "cocoa 0.23.0", + "core-foundation 0.9.1", + "glutin_egl_sys", + "glutin_emscripten_sys", + "glutin_gles2_sys", + "glutin_glx_sys", + "glutin_wgl_sys", + "lazy_static", + "libloading 0.6.7", + "log", + "objc", + "osmesa-sys", + "parking_lot", + "wayland-client", + "wayland-egl", + "winapi 0.3.9", + "winit", +] + +[[package]] +name = "glutin_egl_sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2abb6aa55523480c4adc5a56bbaa249992e2dddb2fc63dc96e04a3355364c211" +dependencies = [ + "gl_generator", + "winapi 0.3.9", +] + +[[package]] +name = "glutin_emscripten_sys" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80de4146df76e8a6c32b03007bc764ff3249dcaeb4f675d68a06caf1bac363f1" + +[[package]] +name = "glutin_gles2_sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8094e708b730a7c8a1954f4f8a31880af00eb8a1c5b5bf85d28a0a3c6d69103" +dependencies = [ + "gl_generator", + "objc", +] + +[[package]] +name = "glutin_glx_sys" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e393c8fc02b807459410429150e9c4faffdb312d59b8c038566173c81991351" +dependencies = [ + "gl_generator", + "x11-dl", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da5951a1569dbab865c6f2a863efafff193a93caf05538d193e9e3816d21696" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "inotify" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f" +dependencies = [ + "bitflags", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + +[[package]] +name = "instant" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "iovec" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" +dependencies = [ + "libc", +] + +[[package]] +name = "itoa" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "lazy-bytes-cast" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10257499f089cd156ad82d0a9cd57d9501fa2c989068992a97eb3c27836f206b" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "libc" +version = "0.2.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790" + +[[package]] +name = "libloading" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "351a32417a12d5f7e82c368a66781e307834dae04c6ce0cd4456d52989229883" +dependencies = [ + "cfg-if 1.0.0", + "winapi 0.3.9", +] + +[[package]] +name = "libloading" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a" +dependencies = [ + "cfg-if 1.0.0", + "winapi 0.3.9", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" + +[[package]] +name = "lock_api" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +dependencies = [ + "cfg-if 1.0.0", + "serde", +] + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "memchr" +version = "2.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" + +[[package]] +name = "memmap2" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b70ca2a6103ac8b665dc150b142ef0e4e89df640c9e6cf295d189c3caebe5a" +dependencies = [ + "libc", +] + +[[package]] +name = "memmap2" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "723e3ebdcdc5c023db1df315364573789f8857c11b631a2fdfad7c00f5c046b4" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" +dependencies = [ + "autocfg", +] + +[[package]] +name = "miniz_oxide" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" +dependencies = [ + "adler32", +] + +[[package]] +name = "mio" +version = "0.6.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +dependencies = [ + "cfg-if 0.1.10", + "fuchsia-zircon", + "fuchsia-zircon-sys", + "iovec", + "kernel32-sys", + "libc", + "log", + "miow 0.2.2", + "net2", + "slab", + "winapi 0.2.8", +] + +[[package]] +name = "mio-anonymous-pipes" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bc513025fe5005a3aa561b50fdb2cda5a150b84800ae02acd8aa9ed62ca1a6b" +dependencies = [ + "mio", + "miow 0.3.7", + "parking_lot", + "spsc-buffer", + "winapi 0.3.9", +] + +[[package]] +name = "mio-extras" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" +dependencies = [ + "lazycell", + "log", + "mio", + "slab", +] + +[[package]] +name = "miow" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" +dependencies = [ + "kernel32-sys", + "net2", + "winapi 0.2.8", + "ws2_32-sys", +] + +[[package]] +name = "miow" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "ndk" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb167c1febed0a496639034d0c76b3b74263636045db5489eee52143c246e73" +dependencies = [ + "jni-sys", + "ndk-sys", + "num_enum", + "thiserror", +] + +[[package]] +name = "ndk-glue" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdf399b8b7a39c6fb153c4ec32c72fd5fe789df24a647f229c239aa7adb15241" +dependencies = [ + "lazy_static", + "libc", + "log", + "ndk", + "ndk-macro", + "ndk-sys", +] + +[[package]] +name = "ndk-macro" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05d1c6307dc424d0f65b9b06e94f88248e6305726b14729fd67a5e47b2dc481d" +dependencies = [ + "darling", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "ndk-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c44922cb3dbb1c70b5e5f443d63b64363a898564d739ba5198e3a9138442868d" + +[[package]] +name = "net2" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "nix" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83450fe6a6142ddd95fb064b746083fc4ef1705fe81f64a64e1d4b39f54a1055" +dependencies = [ + "bitflags", + "cc", + "cfg-if 0.1.10", + "libc", +] + +[[package]] +name = "nix" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a" +dependencies = [ + "bitflags", + "cc", + "cfg-if 1.0.0", + "libc", +] + +[[package]] +name = "nix" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf1e25ee6b412c2a1e3fcb6a4499a5c1bfe7f43e014bdce9a6b6666e5aa2d187" +dependencies = [ + "bitflags", + "cc", + "cfg-if 1.0.0", + "libc", + "memoffset", +] + +[[package]] +name = "nom" +version = "6.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c5c51b9083a3c620fa67a2a635d1ce7d95b897e957d6b28ff9a5da960a103a6" +dependencies = [ + "memchr", + "version_check", +] + +[[package]] +name = "notify" +version = "4.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257" +dependencies = [ + "bitflags", + "filetime", + "fsevent", + "fsevent-sys", + "inotify", + "libc", + "mio", + "mio-extras", + "walkdir", + "winapi 0.3.9", +] + +[[package]] +name = "num_enum" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca565a7df06f3d4b485494f25ba05da1435950f4dc263440eda7a6fa9b8e36e4" +dependencies = [ + "derivative", + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffa5a33ddddfee04c0283a7653987d634e880347e96b5b2ed64de07efb59db9d" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + +[[package]] +name = "objc-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + +[[package]] +name = "once_cell" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" + +[[package]] +name = "osmesa-sys" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88cfece6e95d2e717e0872a7f53a8684712ad13822a7979bc760b9c77ec0013b" +dependencies = [ + "shared_library", +] + +[[package]] +name = "owned_ttf_parser" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f923fb806c46266c02ab4a5b239735c144bdeda724a50ed058e5226f594cde3" +dependencies = [ + "ttf-parser", +] + +[[package]] +name = "parking_lot" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" +dependencies = [ + "cfg-if 1.0.0", + "instant", + "libc", + "redox_syscall", + "smallvec", + "winapi 0.3.9", +] + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pkg-config" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" + +[[package]] +name = "png" +version = "0.16.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" +dependencies = [ + "bitflags", + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "raw-window-handle" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a441a7a6c80ad6473bd4b74ec1c9a4c951794285bf941c2126f607c72e48211" +dependencies = [ + "libc", +] + +[[package]] +name = "redox_syscall" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_users" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +dependencies = [ + "getrandom", + "redox_syscall", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" + +[[package]] +name = "rusttype" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc7c727aded0be18c5b80c1640eae0ac8e396abf6fa8477d96cb37d18ee5ec59" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ryu" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scoped-tls" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "serde" +version = "1.0.127" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.127" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_yaml" +version = "0.8.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15654ed4ab61726bf918a39cb8d98a2e2995b002387807fa6ba58fdf7f59bb23" +dependencies = [ + "dtoa", + "linked-hash-map", + "serde", + "yaml-rust", +] + +[[package]] +name = "servo-fontconfig" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7e3e22fe5fd73d04ebf0daa049d3efe3eae55369ce38ab16d07ddd9ac5c217c" +dependencies = [ + "libc", + "servo-fontconfig-sys", +] + +[[package]] +name = "servo-fontconfig-sys" +version = "5.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e36b879db9892dfa40f95da1c38a835d41634b825fbd8c4c418093d53c24b388" +dependencies = [ + "expat-sys", + "freetype-sys", + "pkg-config", +] + +[[package]] +name = "shared_library" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11" +dependencies = [ + "lazy_static", + "libc", +] + +[[package]] +name = "signal-hook" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e31d442c16f047a671b5a71e2161d6e68814012b7f5379d269ebd915fac2729" +dependencies = [ + "libc", + "mio", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" + +[[package]] +name = "smallvec" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" + +[[package]] +name = "smithay-client-toolkit" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4750c76fd5d3ac95fa3ed80fe667d6a3d8590a960e5b575b98eea93339a80b80" +dependencies = [ + "andrew", + "bitflags", + "calloop", + "dlib 0.4.2", + "lazy_static", + "log", + "memmap2 0.1.0", + "nix 0.18.0", + "wayland-client", + "wayland-cursor", + "wayland-protocols", +] + +[[package]] +name = "smithay-client-toolkit" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec783683499a2cfc85b6df3d04f83b1907b5cbd98a1aed44667dbdf1eac4e64c" +dependencies = [ + "bitflags", + "dlib 0.5.0", + "lazy_static", + "log", + "memmap2 0.2.3", + "nix 0.20.0", + "wayland-client", + "wayland-cursor", + "wayland-protocols", +] + +[[package]] +name = "smithay-clipboard" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "986c5b4a7bd4f50d4c51f81f844745535cb488360f9cf63293780b109b9295f3" +dependencies = [ + "smithay-client-toolkit 0.14.0", + "wayland-client", +] + +[[package]] +name = "spsc-buffer" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be6c3f39c37a4283ee4b43d1311c828f2e1fb0541e76ea0cb1a2abd9ef2f5b3b" + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "strsim" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" + +[[package]] +name = "structopt" +version = "0.3.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69b041cdcb67226aca307e6e7be44c8806423d83e018bd662360a93dabce4d71" +dependencies = [ + "clap", + "lazy_static", + "structopt-derive", +] + +[[package]] +name = "structopt-derive" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7813934aecf5f51a54775e00068c237de98489463968231a51746bbbc03f9c10" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "syn" +version = "1.0.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "thiserror" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "time" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "toml" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +dependencies = [ + "serde", +] + +[[package]] +name = "ttf-parser" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e5d7cd7ab3e47dda6e56542f4bbf3824c15234958c6e1bd6aaa347e93499fdc" + +[[package]] +name = "unicode-segmentation" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" + +[[package]] +name = "unicode-width" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" + +[[package]] +name = "utf8parse" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "version_check" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" + +[[package]] +name = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc2f5402d3d0e79a069714f7b48e3ecc60be7775a2c049cb839457457a239532" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "vte" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983" +dependencies = [ + "utf8parse", + "vte_generate_state_changes", +] + +[[package]] +name = "vte_generate_state_changes" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "walkdir" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi 0.3.9", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + +[[package]] +name = "wayland-client" +version = "0.28.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ab332350e502f159382201394a78e3cc12d0f04db863429260164ea40e0355" +dependencies = [ + "bitflags", + "downcast-rs", + "libc", + "nix 0.20.0", + "scoped-tls", + "wayland-commons", + "wayland-scanner", + "wayland-sys", +] + +[[package]] +name = "wayland-commons" +version = "0.28.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21817947c7011bbd0a27e11b17b337bfd022e8544b071a2641232047966fbda" +dependencies = [ + "nix 0.20.0", + "once_cell", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-cursor" +version = "0.28.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be610084edd1586d45e7bdd275fe345c7c1873598caa464c4fb835dee70fa65a" +dependencies = [ + "nix 0.20.0", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-egl" +version = "0.28.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99ba1ab1e18756b23982d36f08856d521d7df45015f404a2d7c4f0b2d2f66956" +dependencies = [ + "wayland-client", + "wayland-sys", +] + +[[package]] +name = "wayland-protocols" +version = "0.28.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "286620ea4d803bacf61fa087a4242ee316693099ee5a140796aaba02b29f861f" +dependencies = [ + "bitflags", + "wayland-client", + "wayland-commons", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.28.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce923eb2deb61de332d1f356ec7b6bf37094dc5573952e1c8936db03b54c03f1" +dependencies = [ + "proc-macro2", + "quote", + "xml-rs", +] + +[[package]] +name = "wayland-sys" +version = "0.28.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d841fca9aed7febf9bed2e9796c49bf58d4152ceda8ac949ebe00868d8f0feb8" +dependencies = [ + "dlib 0.5.0", + "lazy_static", + "pkg-config", +] + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "winit" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da4eda6fce0eb84bd0a33e3c8794eb902e1033d0a1d5a31bc4f19b1b4bbff597" +dependencies = [ + "bitflags", + "cocoa 0.24.0", + "core-foundation 0.9.1", + "core-graphics 0.22.2", + "core-video-sys", + "dispatch", + "instant", + "lazy_static", + "libc", + "log", + "mio", + "mio-extras", + "ndk", + "ndk-glue", + "ndk-sys", + "objc", + "parking_lot", + "percent-encoding", + "raw-window-handle", + "serde", + "smithay-client-toolkit 0.12.3", + "wayland-client", + "winapi 0.3.9", + "x11-dl", +] + +[[package]] +name = "winreg" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16cdb3898397cf7f624c294948669beafaeebc5577d5ec53d0afb76633593597" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "wio" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "ws2_32-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "x11-clipboard" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b397ace6e980510de59a4fe3d4c758dffab231d6d747ce9fa1aba6b6035d5f32" +dependencies = [ + "xcb", +] + +[[package]] +name = "x11-dl" +version = "2.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf981e3a5b3301209754218f962052d4d9ee97e478f4d26d4a6eced34c1fef8" +dependencies = [ + "lazy_static", + "libc", + "maybe-uninit", + "pkg-config", +] + +[[package]] +name = "xcb" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62056f63138b39116f82a540c983cc11f1c90cd70b3d492a70c25eaa50bd22a6" +dependencies = [ + "libc", + "log", +] + +[[package]] +name = "xcursor" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a9a231574ae78801646617cefd13bfe94be907c0e4fa979cfd8b770aa3c5d08" +dependencies = [ + "nom", +] + +[[package]] +name = "xdg" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a23fe958c70412687039c86f578938b4a0bb50ec788e96bce4d6ab00ddd5803" +dependencies = [ + "dirs", +] + +[[package]] +name = "xml-rs" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" + +[[package]] +name = "yaml-rust" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +dependencies = [ + "linked-hash-map", +] diff --git a/.config/alacritty/alacritty/Cargo.toml b/.config/alacritty/alacritty/Cargo.toml new file mode 100644 index 0000000..7a6dec8 --- /dev/null +++ b/.config/alacritty/alacritty/Cargo.toml @@ -0,0 +1,11 @@ +[workspace] +members = [ + "alacritty", + "alacritty_terminal", + "alacritty_config_derive", +] + +[profile.release] +lto = true +debug = 1 +incremental = false diff --git a/.config/alacritty/alacritty/INSTALL.md b/.config/alacritty/alacritty/INSTALL.md new file mode 100644 index 0000000..d8f6ef8 --- /dev/null +++ b/.config/alacritty/alacritty/INSTALL.md @@ -0,0 +1,363 @@ +# Cargo Installation + +If you're just interested in the Alacritty binary and you don't need the +[terminfo file](#terminfo), [desktop entry](#desktop-entry), +[manual page](#manual-page) or [shell completions](#shell-completions), you can +install it directly through cargo: + +```sh +cargo install alacritty +``` + +Note that you will still need to install the dependencies for your OS of choice. +Please refer to the [Dependencies](#dependencies) section. + +# Manual Installation + +1. [Prerequisites](#prerequisites) + 1. [Source Code](#clone-the-source-code) + 2. [Rust Compiler](#install-the-rust-compiler-with-rustup) + 3. [Dependencies](#dependencies) + 1. [Debian/Ubuntu](#debianubuntu) + 2. [Arch Linux](#arch-linux) + 3. [Fedora](#fedora) + 4. [CentOS/RHEL 7](#centosrhel-7) + 5. [openSUSE](#opensuse) + 6. [Slackware](#slackware) + 7. [Void Linux](#void-linux) + 8. [FreeBSD](#freebsd) + 9. [OpenBSD](#openbsd) + 10. [Solus](#solus) + 11. [NixOS/Nixpkgs](#nixosnixpkgs) + 12. [Gentoo](#gentoo) + 13. [Clear Linux](#clear-linux) + 14. [GNU Guix](#gnu-guix) + 15. [Alpine Linux](#alpine-linux) + 16. [Windows](#windows) + 17. [Other](#other) +2. [Building](#building) + 1. [Linux/Windows](#linux--windows) + 2. [macOS](#macos) +3. [Post Build](#post-build) + 1. [Terminfo](#terminfo) + 2. [Desktop Entry](#desktop-entry) + 3. [Manual Page](#manual-page) + 4. [Shell completions](#shell-completions) + 1. [Zsh](#zsh) + 2. [Bash](#bash) + 3. [Fish](#fish) + +## Prerequisites + +### Clone the source code + +Before compiling Alacritty, you'll have to first clone the source code: + +```sh +git clone https://github.com/alacritty/alacritty.git +cd alacritty +``` + +### Install the Rust compiler with `rustup` + +1. Install [`rustup.rs`](https://rustup.rs/). + +3. To make sure you have the right Rust compiler installed, run + + ```sh + rustup override set stable + rustup update stable + ``` + +### Dependencies + +These are the minimum dependencies required to build Alacritty, please note +that with some setups additional dependencies might be desired. + +If you're running Wayland with an Nvidia GPU, you'll likely want the EGL +drivers installed too (these are called `libegl1-mesa-dev` on Ubuntu). + +#### Debian/Ubuntu + +If you'd like to build a local version manually, you need a few extra libraries +to build Alacritty. Here's an apt command that should install all of them. If +something is still found to be missing, please open an issue. + +```sh +apt-get install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3 +``` + +#### Arch Linux + +On Arch Linux, you need a few extra libraries to build Alacritty. Here's a +`pacman` command that should install all of them. If something is still found +to be missing, please open an issue. + +```sh +pacman -S cmake freetype2 fontconfig pkg-config make libxcb libxkbcommon python +``` + +#### Fedora + +On Fedora, you need a few extra libraries to build Alacritty. Here's a `dnf` +command that should install all of them. If something is still found to be +missing, please open an issue. + +```sh +dnf install cmake freetype-devel fontconfig-devel libxcb-devel libxkbcommon-devel g++ +``` + +#### CentOS/RHEL 7 + +On CentOS/RHEL 7, you need a few extra libraries to build Alacritty. Here's a `yum` +command that should install all of them. If something is still found to be +missing, please open an issue. + +```sh +yum install cmake freetype-devel fontconfig-devel libxcb-devel libxkbcommon-devel xcb-util-devel +yum group install "Development Tools" +``` + +#### openSUSE + +On openSUSE, you need a few extra libraries to build Alacritty. Here's +a `zypper` command that should install all of them. If something is +still found to be missing, please open an issue. + +```sh +zypper install cmake freetype-devel fontconfig-devel libxcb-devel libxkbcommon-dev +``` + +#### Slackware + +Compiles out of the box for 14.2 + +#### Void Linux + +On [Void Linux](https://voidlinux.org), install following packages before +compiling Alacritty: + +```sh +xbps-install cmake freetype-devel expat-devel fontconfig-devel libxcb-devel pkg-config python3 +``` + +#### FreeBSD + +On FreeBSD, you need a few extra libraries to build Alacritty. Here's a `pkg` +command that should install all of them. If something is still found to be +missing, please open an issue. + +```sh +pkg install cmake freetype2 fontconfig pkgconf python3 +``` + +#### OpenBSD + +On OpenBSD 6.5, you need [Xenocara](https://xenocara.org) and Rust to build +Alacritty, plus Python 3 to build its XCB dependency. If something is still +found to be missing, please open an issue. + +```sh +pkg_add rust python +``` + +Select the package for Python 3 (e.g. `python-3.6.8p0`) when prompted. + +The default user limits in OpenBSD are insufficient to build Alacritty. A +`datasize-cur` of at least 3GB is recommended (see [login.conf](https://man.openbsd.org/login.conf)). + +#### Solus + +On [Solus](https://solus-project.com/), you need a few extra libraries to build +Alacritty. Here's a `eopkg` command that should install all of them. If +something is still found to be missing, please open an issue. + +```sh +eopkg install fontconfig-devel +``` + +#### NixOS/Nixpkgs + +The following command can be used to get a shell with all development +dependencies on [NixOS](https://nixos.org). + +```sh +nix-shell -A alacritty '' +``` + +#### Gentoo + +On Gentoo, you need a few extra libraries to build Alacritty. The following +command should install all of them. If something is still found to be missing, +please open an issue. + +```sh +emerge --onlydeps x11-terms/alacritty +``` + +#### Clear Linux + +On Clear Linux, you need a few extra libraries to build Alacritty. Here's a +`swupd` command that should install all of them. If something is still found +to be missing, please open an issue. + +```sh +swupd bundle-add devpkg-expat devpkg-freetype devpkg-libxcb devpkg-fontconfig +``` + +#### GNU Guix + +The following command can be used to get a shell with all development +dependencies on [GNU Guix](https://guix.gnu.org/). + +```sh +guix environment alacritty +``` + +#### Alpine Linux + +On Alpine Linux, you need a few extra libraries to build Alacritty. Here's an +`apk` command that should install all of them. If something is still found to +be missing, please open an issue. + +```sh +sudo apk add cmake pkgconf freetype-dev fontconfig-dev python3 libxcb-dev +``` + +#### Windows + +On windows you will need to have the `{architecture}-pc-windows-msvc` toolchain +installed as well as [Clang 3.9 or greater](http://releases.llvm.org/download.html). + +#### Other + +If you build Alacritty on another distribution, we would love some help +filling in this section of the README. + +## Building + +### Linux / Windows + +```sh +cargo build --release +``` + +If all goes well, this should place a binary at `target/release/alacritty`. + +### macOS + +```sh +make app +cp -r target/release/osx/Alacritty.app /Applications/ +``` + +#### Universal Binary + +The following will build an executable that runs on both x86 and ARM macos +architectures: + +```sh +rustup target add x86_64-apple-darwin aarch64-apple-darwin +make app-universal +``` + +## Post Build + +There are some extra things you might want to set up after installing Alacritty. +All the post build instruction assume you're still inside the Alacritty +repository. + +### Terminfo + +To make sure Alacritty works correctly, either the `alacritty` or +`alacritty-direct` terminfo must be used. The `alacritty` terminfo will be +picked up automatically if it is installed. + +If the following command returns without any errors, the `alacritty` terminfo is +already installed: + +```sh +infocmp alacritty +``` + +If it is not present already, you can install it globally with the following +command: + +``` +sudo tic -xe alacritty,alacritty-direct extra/alacritty.info +``` + +### Desktop Entry + +Many Linux and BSD distributions support desktop entries for adding applications +to system menus. This will install the desktop entry for Alacritty: + +```sh +sudo cp target/release/alacritty /usr/local/bin # or anywhere else in $PATH +sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg +sudo desktop-file-install extra/linux/Alacritty.desktop +sudo update-desktop-database +``` + +If you are having problems with Alacritty's logo, you can replace it with +prerendered PNGs and simplified SVGs available in the `extra/logo/compat` +directory. + +### Manual Page + +Installing the manual page requires the additional dependency `gzip`. + +```sh +sudo mkdir -p /usr/local/share/man/man1 +gzip -c extra/alacritty.man | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null +``` + +### Shell completions + +To get automatic completions for Alacritty's flags and arguments you can install the provided shell completions. + +#### Zsh + +To install the completions for zsh, you can place the `extra/completions/_alacritty` file in any +directory referenced by `$fpath`. + +If you do not already have such a directory registered through your `~/.zshrc`, you can add one like this: + +```sh +mkdir -p ${ZDOTDIR:-~}/.zsh_functions +echo 'fpath+=${ZDOTDIR:-~}/.zsh_functions' >> ${ZDOTDIR:-~}/.zshrc +``` + +Then copy the completion file to this directory: + +```sh +cp extra/completions/_alacritty ${ZDOTDIR:-~}/.zsh_functions/_alacritty +``` + +#### Bash + +To install the completions for bash, you can `source` the `extra/completions/alacritty.bash` file +in your `~/.bashrc` file. + +If you do not plan to delete the source folder of alacritty, you can run + +```sh +echo "source $(pwd)/extra/completions/alacritty.bash" >> ~/.bashrc +``` + +Otherwise you can copy it to the `~/.bash_completion` folder and source it from there: + +```sh +mkdir -p ~/.bash_completion +cp extra/completions/alacritty.bash ~/.bash_completion/alacritty +echo "source ~/.bash_completion/alacritty" >> ~/.bashrc +``` + +#### Fish + +To install the completions for fish, run + +``` +mkdir -p $fish_complete_path[1] +cp extra/completions/alacritty.fish $fish_complete_path[1]/alacritty.fish +``` diff --git a/.config/alacritty/alacritty/LICENSE-APACHE b/.config/alacritty/alacritty/LICENSE-APACHE new file mode 100644 index 0000000..9c3147f --- /dev/null +++ b/.config/alacritty/alacritty/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright 2020 The Alacritty Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/.config/alacritty/alacritty/Makefile b/.config/alacritty/alacritty/Makefile new file mode 100644 index 0000000..a509a8d --- /dev/null +++ b/.config/alacritty/alacritty/Makefile @@ -0,0 +1,75 @@ +TARGET = alacritty + +ASSETS_DIR = extra +RELEASE_DIR = target/release +MANPAGE = $(ASSETS_DIR)/alacritty.man +TERMINFO = $(ASSETS_DIR)/alacritty.info +COMPLETIONS_DIR = $(ASSETS_DIR)/completions +COMPLETIONS = $(COMPLETIONS_DIR)/_alacritty \ + $(COMPLETIONS_DIR)/alacritty.bash \ + $(COMPLETIONS_DIR)/alacritty.fish + +APP_NAME = Alacritty.app +APP_TEMPLATE = $(ASSETS_DIR)/osx/$(APP_NAME) +APP_DIR = $(RELEASE_DIR)/osx +APP_BINARY = $(RELEASE_DIR)/$(TARGET) +APP_BINARY_DIR = $(APP_DIR)/$(APP_NAME)/Contents/MacOS +APP_EXTRAS_DIR = $(APP_DIR)/$(APP_NAME)/Contents/Resources +APP_COMPLETIONS_DIR = $(APP_EXTRAS_DIR)/completions + +DMG_NAME = Alacritty.dmg +DMG_DIR = $(RELEASE_DIR)/osx + +vpath $(TARGET) $(RELEASE_DIR) +vpath $(APP_NAME) $(APP_DIR) +vpath $(DMG_NAME) $(APP_DIR) + +all: help + +help: ## Print this help message + @grep -E '^[a-zA-Z._-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' + +binary: $(TARGET)-native ## Build a release binary +binary-universal: $(TARGET)-universal ## Build a universal release binary +$(TARGET)-native: + MACOSX_DEPLOYMENT_TARGET="10.11" cargo build --release +$(TARGET)-universal: + MACOSX_DEPLOYMENT_TARGET="10.11" cargo build --release --target=x86_64-apple-darwin + MACOSX_DEPLOYMENT_TARGET="10.11" cargo build --release --target=aarch64-apple-darwin + @lipo target/{x86_64,aarch64}-apple-darwin/release/$(TARGET) -create -output $(APP_BINARY) + +app: $(APP_NAME)-native ## Create an Alacritty.app +app-universal: $(APP_NAME)-universal ## Create a universal Alacritty.app +$(APP_NAME)-%: $(TARGET)-% + @mkdir -p $(APP_BINARY_DIR) + @mkdir -p $(APP_EXTRAS_DIR) + @mkdir -p $(APP_COMPLETIONS_DIR) + @gzip -c $(MANPAGE) > $(APP_EXTRAS_DIR)/alacritty.1.gz + @tic -xe alacritty,alacritty-direct -o $(APP_EXTRAS_DIR) $(TERMINFO) + @cp -fRp $(APP_TEMPLATE) $(APP_DIR) + @cp -fp $(APP_BINARY) $(APP_BINARY_DIR) + @cp -fp $(COMPLETIONS) $(APP_COMPLETIONS_DIR) + @touch -r "$(APP_BINARY)" "$(APP_DIR)/$(APP_NAME)" + @echo "Created '$(APP_NAME)' in '$(APP_DIR)'" + +dmg: $(DMG_NAME)-native ## Create an Alacritty.dmg +dmg-universal: $(DMG_NAME)-universal ## Create a universal Alacritty.dmg +$(DMG_NAME)-%: $(APP_NAME)-% + @echo "Packing disk image..." + @ln -sf /Applications $(DMG_DIR)/Applications + @hdiutil create $(DMG_DIR)/$(DMG_NAME) \ + -volname "Alacritty" \ + -fs HFS+ \ + -srcfolder $(APP_DIR) \ + -ov -format UDZO + @echo "Packed '$(APP_NAME)' in '$(APP_DIR)'" + +install: $(INSTALL)-native ## Mount disk image +install-universal: $(INSTALL)-native ## Mount universal disk image +$(INSTALL)-%: $(DMG_NAME)-% + @open $(DMG_DIR)/$(DMG_NAME) + +.PHONY: app binary clean dmg install $(TARGET) $(TARGET)-universal + +clean: ## Remove all build artifacts + @cargo clean diff --git a/.config/alacritty/alacritty/README.md b/.config/alacritty/alacritty/README.md new file mode 100644 index 0000000..479764c --- /dev/null +++ b/.config/alacritty/alacritty/README.md @@ -0,0 +1,114 @@ +

+ Alacritty Logo +

+ +

Alacritty - A fast, cross-platform, OpenGL terminal emulator

+ +

+ Alacritty - A fast, cross-platform, OpenGL terminal emulator +

+ +## About + +Alacritty is a modern terminal emulator that comes with sensible defaults, but +allows for extensive [configuration](#configuration). By integrating with other +applications, rather than reimplementing their functionality, it manages to +provide a flexible set of [features](./docs/features.md) with high performance. +The supported platforms currently consist of BSD, Linux, macOS and Windows. + +The software is considered to be at a **beta** level of readiness; there are +a few missing features and bugs to be fixed, but it is already used by many as +a daily driver. + +Precompiled binaries are available from the [GitHub releases page](https://github.com/alacritty/alacritty/releases). + +## Features + +You can find an overview over the features available in Alacritty [here](./docs/features.md). + +## Further information + +- [Announcing Alacritty, a GPU-Accelerated Terminal Emulator](https://jwilm.io/blog/announcing-alacritty/) January 6, 2017 +- [A talk about Alacritty at the Rust Meetup January 2017](https://www.youtube.com/watch?v=qHOdYO3WUTk) January 19, 2017 +- [Alacritty Lands Scrollback, Publishes Benchmarks](https://jwilm.io/blog/alacritty-lands-scrollback/) September 17, 2018 +- [Version 0.3.0 Release Announcement](https://blog.christianduerr.com/alacritty_030_announcement) April 07, 2019 +- [Version 0.5.0 Release Announcement](https://blog.christianduerr.com/alacritty_0_5_0_announcement) July 31, 2020 + +## Installation + +Alacritty can be installed by using various package managers on Linux, BSD, +macOS and Windows. + +Prebuilt binaries for macOS and Windows can also be downloaded from the +[GitHub releases page](https://github.com/alacritty/alacritty/releases). + +For everyone else, the detailed instructions to install Alacritty can be found +[here](INSTALL.md). + +### Requirements + +- OpenGL 3.3 or higher +- [Windows] ConPTY support (Windows 10 version 1809 or higher) + +## Configuration + +You can find the default configuration file with documentation for all available +fields on the [GitHub releases page](https://github.com/alacritty/alacritty/releases) for each release. + +Alacritty doesn't create the config file for you, but it looks for one in the +following locations: + +1. `$XDG_CONFIG_HOME/alacritty/alacritty.yml` +2. `$XDG_CONFIG_HOME/alacritty.yml` +3. `$HOME/.config/alacritty/alacritty.yml` +4. `$HOME/.alacritty.yml` + +### Windows + +On Windows, the config file should be located at: + +`%APPDATA%\alacritty\alacritty.yml` + +## Contributing + +A guideline about contributing to Alacritty can be found in the +[`CONTRIBUTING.md`](CONTRIBUTING.md) file. + +## FAQ + +**_Is it really the fastest terminal emulator?_** + +Benchmarking terminal emulators is complicated. Alacritty uses +[vtebench](https://github.com/alacritty/vtebench) to quantify terminal emulator +throughput and manages to consistently score better than the competition using +it. If you have found an example where this is not the case, please report a +bug. + +Other aspects like latency or framerate and frame consistency are more difficult +to quantify. Some terminal emulators also intentionally slow down to save +resources, which might be preferred by some users. + +If you have doubts about Alacritty's performance or usability, the best way to +quantify terminal emulators is always to test them with **your** specific +usecases. + +**_Why isn't feature X implemented?_** + +Alacritty has many great features, but not every feature from every other +terminal. This could be for a number of reasons, but sometimes it's just not a +good fit for Alacritty. This means you won't find things like tabs or splits +(which are best left to a window manager or [terminal multiplexer][tmux]) nor +niceties like a GUI config editor. + +## IRC + +Alacritty discussions can be found in `#alacritty` on Libera.Chat. + +## License + +Alacritty is released under the [Apache License, Version 2.0]. + +[Apache License, Version 2.0]: https://github.com/alacritty/alacritty/blob/master/LICENSE-APACHE +[tmux]: https://github.com/tmux/tmux diff --git a/.config/alacritty/alacritty/docs/ansicode.txt b/.config/alacritty/alacritty/docs/ansicode.txt new file mode 100644 index 0000000..3a10f62 --- /dev/null +++ b/.config/alacritty/alacritty/docs/ansicode.txt @@ -0,0 +1,779 @@ +Summary of ANSI standards for ASCII terminals Joe Smith, 18-May-84 + +Contents: + 1. Overview and Definitions + 2. General rules for interpreting an ESCape Sequence + 3. General rules for interpreting a Control Sequence + 4. C0 and C1 control codes in numeric order + 5. Two and three-character ESCape Sequences in numeric order + 6. Control Sequences in numeric order + 7. VT100 emulation requirements + +The VT100 USER GUIDE and ANSI standard X3.64-1979 both list the ANSI ESCape +sequences in alphabetic order by mnemonic, but do not have a have a cross +reference in order by ASCII code. This paper lists the combination of all +definitions from the three ANSI standards in numeric order. For a description +of the advantages of using these standards, see the article "Toward +Standardized Video Terminals" in the April-1984 issue of BYTE magazine. + +ANSI X3.4-1977 defines the 7-bit ASCII character set (C0 and G0). It was +written in 1968, revised in 1977, and explains the decisions made in laying out +the ASCII code. In particular, it explains why ANSI chose to make ASCII +incompatible with EBCDIC in order to make it self-consistant. + +ANSI X3.41-1974 introduces the idea of an 8-bit ASCII character set (C1 and G1 +in addition to the existing C0 and G0). It describes how to use the 8-bit +features in a 7-bit environment. X3.41 defines the format of all ESCape +sequences, but defines only the 3-character ones with a parameter character +in the middle. These instruct the terminal how to interpret the C0, G0, C1, +and G1 characters (such as by selecting different character-set ROMs). + + Note: NAPLPS does videotex graphics by redefining the C1 set and + selecting alternate G0, G1, G2, and G3 sets. + See the February 1983 issue of BYTE magazine for details. + +ANSI X3.64-1979 defines the remaining ESCape sequences. It defines all the C1 +control characters, and specifies that certain two-character ESCape sequences +in the 7-bit environment are to act exactly like the 8-bit C1 control set. +X3.64 introduces the idea of a Control-Sequence, which starts with CSI +character, has an indefinite length, and is terminated by an alphabetic +character. The VT100 was one of the first terminals to implement this +standard. + +Definitions: + + Control Character - A single character with an ASCII code with the range + of 000 to 037 and 200 to 237 octal, 00 to 1F and 80 to 9F hex. + + Escape Sequence - A two or three character string starting with ESCape. + (Four or more character strings are allowed but not defined.) + + Control Sequence - A string starting with CSI (233 octal, 9B hex) or + with ESCape Left-Bracket, and terminated by an alphabetic character. + Any number of parameter characters (digits 0 to 9, semicolon, and + question mark) may appear within the Control Sequence. The terminating + character may be preceded by an intermediate character (such as space). + Character classifications: + +C0 Control 000-037 octal, 00-1F hex (G0 is 041-176 octal, 21-7E hex) +SPACE 040+240 octal, 20+A0 hex Always and everywhere a blank space +Intermediate 040-057 octal, 20-2F hex !"#$%&'()*+,-./ +Parameters 060-077 octal, 30-3F hex 0123456789:;<=>? +Uppercase 100-137 octal, 40-5F hex @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +Lowercase 140-176 octal, 60-7E hex `abcdefghijlkmnopqrstuvwxyz{|}~ +Alphabetic 100-176 octal, 40-7E hex (all of upper and lower case) +Delete 177 octal, 7F hex Always and everywhere ignored +C1 Control 200-237 octal, 80-9F hex 32 additional control characters +G1 Displayable 241-376 octal, A1-FE hex 94 additional displayable characters +Special 240+377 octal, A0+FF hex Same as SPACE and DELETE + +Note that in this paper, the terms uppercase, lowercase, and alphabetics +include more characters than just A to Z. + +------------------------------------------------------------------------------ + +General rules for interpreting an ESCape Sequence: + + An ESCape Sequence starts with the ESC character (033 octal, 1B hex). +The length of the ESCape Sequence depends on the character that immediately +follows the ESCape. + +If the next character is + C0 control: Interpret it first, then resume processing ESCape sequence. + Example: CR, LF, XON, and XOFF work as normal within an ESCape sequence. + Intermediate: Expect zero or more intermediates, a parameter terminates + a private function, an alphabetic terminates a standard sequence. + Example: ESC ( A defines standard character set, ESC ( 0 a DEC set. + Parameter: End of a private 2-character escape sequence. + Example: ESC = sets special keypad mode, ESC > clears it. + Uppercase: Translate it into a C1 control character and act on it. + Example: ESC D does indexes down, ESC M indexes up. (CSI is special) + Lowercase: End of a standard 2-character escape sequence. + Example: ESC c resets the terminal. + Delete: Ignore it, and continue interpreting the ESCape sequence + C1 and G1: Treat the same as their 7-bit counterparts + + Note that CSI is the two-character sequence ESCape left-bracket or the 8-bit +C1 code of 233 octal, 9B hex. CSI introduces a Control Sequence, which +continues until an alphabetic character is received. + +General rules for interpreting a Control Sequence: + +1) It starts with CSI, the Control Sequence Introducer. +2) It contains any number of parameter characters (0123456789:;<=>?). +3) It terminates with an alphabetic character. +4) Intermediate characters (if any) immediately precede the terminator. + +If the first character after CSI is one of "<=>?" (074-077 octal, 3C-3F hex), +then Control Sequence is to be interpreted according to private standards (such +as setting and resetting modes not defined by ANSI). The terminal should +expect any number of numeric parameters, separated by semicolons (073 octal, +3B hex). Only after the terminating alphabetic character is received should +the terminal act on the Control Sequence. + +============================================================================= + C0 set of 7-bit control characters (from ANSI X3.4-1977). + +Oct Hex Name * (* marks function used in DEC VT series or LA series terminals) +--- -- - --- - -------------------------------------------------------------- +000 00 @ NUL * Null filler, terminal should ignore this character +001 01 A SOH Start of Header +002 02 B STX Start of Text, implied end of header +003 03 C ETX End of Text, causes some terminal to respond with ACK or NAK +004 04 D EOT End of Transmission +005 05 E ENQ * Enquiry, causes terminal to send ANSWER-BACK ID +006 06 F ACK Acknowledge, usually sent by terminal in response to ETX +007 07 G BEL * Bell, triggers the bell, buzzer, or beeper on the terminal +010 08 H BS * Backspace, can be used to define overstruck characters +011 09 I HT * Horizontal Tabulation, move to next predetermined position +012 0A J LF * Linefeed, move to same position on next line (see also NL) +013 0B K VT * Vertical Tabulation, move to next predetermined line +014 0C L FF * Form Feed, move to next form or page +015 0D M CR * Carriage Return, move to first character of current line +016 0E N SO * Shift Out, switch to G1 (other half of character set) +017 0F O SI * Shift In, switch to G0 (normal half of character set) +020 10 P DLE Data Link Escape, interpret next control character specially +021 11 Q XON * (DC1) Terminal is allowed to resume transmitting +022 12 R DC2 Device Control 2, causes ASR-33 to activate paper-tape reader +023 13 S XOFF* (DC2) Terminal must pause and refrain from transmitting +024 14 T DC4 Device Control 4, causes ASR-33 to deactivate paper-tape reader +025 15 U NAK Negative Acknowledge, used sometimes with ETX and ACK +026 16 V SYN Synchronous Idle, used to maintain timing in Sync communication +027 17 W ETB End of Transmission block +030 18 X CAN * Cancel (makes VT100 abort current escape sequence if any) +031 19 Y EM End of Medium +032 1A Z SUB * Substitute (VT100 uses this to display parity errors) +033 1B [ ESC * Prefix to an ESCape sequence +034 1C \ FS File Separator +035 1D ] GS Group Separator +036 1E ^ RS * Record Separator (sent by VT132 in block-transfer mode) +037 1F _ US Unit Separator + +040 20 SP * Space (should never be defined to be otherwise) +177 7F DEL * Delete, should be ignored by terminal + +============================================================================== + C1 set of 8-bit control characters (from ANSI X3.64-1979) + +Oct Hex Name * (* marks function used in DEC VT series or LA series terminals) +--- -- - --- - -------------------------------------------------------------- +200 80 @ Reserved for future standardization +201 81 A Reserved +202 82 B Reserved +203 83 C Reserved +204 84 D IND * Index, moves down one line same column regardless of NL +205 85 E NEL * NEw Line, moves done one line and to first column (CR+LF) +206 86 F SSA Start of Selected Area to be sent to auxiliary output device +207 87 G ESA End of Selected Area to be sent to auxiliary output device +210 88 H HTS * Horizontal Tabulation Set at current position +211 89 I HTJ Hor Tab Justify, moves string to next tab position +212 8A J VTS Vertical Tabulation Set at current line +213 8B K PLD Partial Line Down (subscript) +214 8C L PLU Partial Line Up (superscript) +215 8D M RI * Reverse Index, go up one line, reverse scroll if necessary +216 8E N SS2 * Single Shift to G2 +217 8F O SS3 * Single Shift to G3 (VT100 uses this for sending PF keys) +220 90 P DCS * Device Control String, terminated by ST (VT125 enters graphics) +221 91 Q PU1 Private Use 1 +222 92 R PU2 Private Use 2 +223 93 S STS Set Transmit State +224 94 T CCH Cancel CHaracter, ignore previous character +225 95 U MW Message Waiting, turns on an indicator on the terminal +226 96 V SPA Start of Protected Area +227 97 W EPA End of Protected Area +230 98 X Reserved for for future standard +231 99 Y Reserved +232 9A Z * Reserved, but causes DEC terminals to respond with DA codes +233 9B [ CSI * Control Sequence Introducer (described in a separate table) +234 9C \ ST * String Terminator (VT125 exits graphics) +235 9D ] OSC Operating System Command (reprograms intelligent terminal) +236 9E ^ PM Privacy Message (password verification), terminated by ST +237 9F _ APC Application Program Command (to word processor), term by ST + +============================================================================== + Character set selection sequences (from ANSI X3.41-1974) + All are 3 characters long (including the ESCape). Alphabetic characters + as 3rd character are defined by ANSI, parameter characters as 3rd character + may be interpreted differently by each terminal manufacturer. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- -- - ------------------------------------------------------------------ +040 20 ANNOUNCER - Determines whether to use 7-bit or 8-bit ASCII + A G0 only will be used. Ignore SI, SO, and G1. + B G0 and G1 used internally. SI and SO affect G0, G1 is ignored. + C G0 and G1 in an 8-bit only environment. SI and SO are ignored. + D G0 and G1 are used, SI and SO affect G0. + E + F * 7-bit transmission, VT240/PRO350 sends CSI as two characters ESC [ + G * 8-bit transmission, VT240/PRO350 sends CSI as single 8-bit character +041 21 ! Select C0 control set (choice of 63 standard, 16 private) +042 22 " Select C1 control set (choice of 63 standard, 16 private) +043 23 # Translate next character to a special single character + #3 * DECDHL1 - Double height line, top half + #4 * DECDHL2 - Double height line, bottom half + #5 * DECSWL - Single width line + #6 * DECDWL - Double width line + #7 * DECHCP - Make a hardcopy of the graphics screen (GIGI,VT125,VT241) + #8 * DECALN - Alignment display, fill screen with "E" to adjust focus +044 24 $ MULTIBYTE CHARACTERS - Displayable characters require 2-bytes each +045 25 % SPECIAL INTERPRETATION - Such as 9-bit data +046 26 & Reserved for future standardization +047 27 ' Reserved for future standardization +050 28 ( * SCS - Select G0 character set (choice of 63 standard, 16 private) + (0 * DEC VT100 line drawing set (affects lowercase characters) + (1 * DEC Alternate character ROM set (RAM set on GIGI and VT220) + (2 * DEC Alternate character ROM set with line drawing + (5 * DEC Finnish on LA100 + (6 * DEC Norwegian/Danish on LA100 + (7 * DEC Swedish on LA100 + (9 * DEC French Canadian + (< * DEC supplemental graphics (everything not in USASCII) + (A * UKASCII (British pound sign) + (B * USASCII (American pound sign) + (C * ISO Finnish on LA120 + (E * ISO Norwegian/Danish on LA120 + (H * ISO Swedish on LA120 + (K * ISO German on LA100,LA120 + (R * ISO French on LA100,LA120 + (Y * ISO Italian on LA100 + (Z * ISO Spanish on LA100 +051 29 ) * SCS - Select G1 character set (choice of 63 standard, 16 private) + * (same character sets as listed under G0) +052 2A * * SCS - Select G2 character set + * (same character sets as listed under G0) +053 2B + * SCS - Select G3 character set + * (same character sets as listed under G0) +054 2C , SCS - Select G0 character set (additional 63+16 sets) +055 2D - SCS - Select G1 character set (additional 63+16 sets) +056 2E . SCS - Select G2 character set +057 2F / SCS - Select G3 character set + +============================================================================== + Private two-character escape sequences (allowed by ANSI X3.41-1974) + These can be defined differently by each terminal manufacturer. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- - - ------------------------------------------------------------------ +060 30 0 +061 31 1 DECGON graphics on for VT105, DECHTS horiz tab set for LA34/LA120 +062 32 2 DECGOFF graphics off VT105, DECCAHT clear all horz tabs LA34/LA120 +063 33 3 DECVTS - set vertical tab for LA34/LA120 +064 34 4 DECCAVT - clear all vertical tabs for LA34/LA120 +065 35 5 * DECXMT - Host requests that VT132 transmit as if ENTER were pressed +066 36 6 +067 37 7 * DECSC - Save cursor position and character attributes +070 38 8 * DECRC - Restore cursor and attributes to previously saved position +071 39 9 +072 3A : +073 3B ; +074 3C < * DECANSI - Switch from VT52 mode to VT100 mode +075 3D = * DECKPAM - Set keypad to applications mode (ESCape instead of digits) +076 3E > * DECKPNM - Set keypad to numeric mode (digits instead of ESCape seq) +077 3F ? + + DCS Device Control Strings used by DEC terminals (ends with ST) + +Pp = Start ReGIS graphics (VT125, GIGI, VT240, PRO350) +Pq = Start SIXEL graphics (screen dump to LA34, LA100, screen load to VT125) +Pr = SET-UP data for GIGI, $PrVC0$\ disables both visible cursors. +Ps = Reprogram keys on the GIGI, $P0sDIR$\ makes keypad 0 send "DIR" + 0-9=digits on keypad, 10=ENTER, 11=minus, 12=comma, 13=period, + 14-17=PF1-PF4, 18-21=cursor keys. Enabled by $[?23h (PK1). +Pt = Start VT105 graphics on a VT125 + +============================================================================== + + Standard two-character escape sequences (defined by ANSI X3.64-1979) + +100 40 @ See description of C1 control characters + An ESCape followed by one of these uppercase characters is translated + to an 8-bit C1 control character before being interpreted. +220 90 P DCS - Device Control String, terminated by ST - see table above. +133 5B [ CSI - Control Sequence Introducer - see table below. +137 5F _ See description of C1 control characters + +============================================================================== + + Indepenent control functions (from Appendix E of X3.64-1977). + These four controls have the same meaning regardless of the current + definition of the C0 and C1 control sets. Each control is a two-character + ESCape sequence, the 2nd character is lowercase. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- - - -------------------------------------------------------------------- +140 60 ` DMI - Disable Manual Input +141 61 a INT - INTerrupt the terminal and do special action +142 62 b EMI - Enable Manual Input +143 63 c * RIS - Reset to Initial State (VT100 does a power-on reset) + ... The remaining lowercase characters are reserved by ANSI. +153 6B k NAPLPS lock-shift G1 to GR +154 6C l NAPLPS lock-shift G2 to GR +155 6D m NAPLPS lock-shift G3 to GR +156 6E n * LS2 - Shift G2 to GL (extension of SI) VT240,NAPLPS +157 6F o * LS3 - Shift G3 to GL (extension of SO) VT240,NAPLPS + ... The remaining lowercase characters are reserved by ANSI. +174 7C | * LS3R - VT240 lock-shift G3 to GR +175 7D } * LS2R - VT240 lock-shift G2 to GR +176 7E ~ * LS1R - VT240 lock-shift G1 to GR + +============================================================================== + Control Sequences (defined by ANSI X3.64-1979) + +Control Sequences are started by either ESC [ or CSI and are terminated by an +"alphabetic" character (100 to 176 octal, 40 to 7E hex). Intermediate +characters are space through slash (40 to 57 octal, 20 to 2F hex) and parameter +characters are zero through question mark (60 to 77 octal, 30 to 3F hex, +including digits and semicolon). Parameters consist of zero or more decimal +numbers separated by semicolons. Leading zeros are optional, leading blanks +are not allowed. If no digits precede the final character, the default +parameter is used. Many functions treat a parameter of 0 as if it were 1. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- - - -------------------------------------------------------------------- +100 40 @ ICH - Insert CHaracter + [10@ = Make room for 10 characters at current position +101 41 A * CUU - CUrsor Up + * [A = Move up one line, stop at top of screen, [9A = move up 9 +102 42 B * CUD - CUrsor Down + * [B = Move down one line, stop at bottom of screen +103 43 C * CUF - CUrsor Forward + * [C = Move forward one position, stop at right edge of screen +104 44 D * CUB - CUrsor Backward + * [D = Same as BackSpace, stop at left edge of screen +105 45 E CNL - Cursor to Next Line + [5E = Move to first position of 5th line down +106 46 F CPL - Cursor to Previous Line + [5F = Move to first position of 5th line previous +107 47 G CHA - Cursor Horizontal position Absolute + [40G = Move to column 40 of current line +110 48 H * CUP - CUrsor Position + * [H = Home, [24;80H = Row 24, Column 80 +111 49 I CHT - Cursor Horizontal Tabulation + [I = Same as HT (Control-I), [3I = Go forward 3 tabs +112 4A J * ED - Erase in Display (cursor does not move) + * [J = [0J = Erase from current position to end (inclusive) + * [1J = Erase from beginning to current position (inclusive) + * [2J = Erase entire display + * [?0J = Selective erase in display ([?1J, [?2J similar) +113 4B K * EL - Erase in Line (cursor does not move) + * [K = [0K = Erase from current position to end (inclusive) + * [1K = Erase from beginning to current position + * [2K = Erase entire current line + * [?0K = Selective erase to end of line ([?1K, [?2K similar) +114 4C L * IL - Insert Line, current line moves down (VT102 series) + [3L = Insert 3 lines if currently in scrolling region +115 4D M * DL - Delete Line, lines below current move up (VT102 series) + [2M = Delete 2 lines if currently in scrolling region +116 4E N EF - Erase in Field (as bounded by protected fields) + [0N, [1N, [2N act like [L but within currend field +117 4F O EA - Erase in qualified Area (defined by DAQ) + [0O, [1O, [2O act like [J but within current area +120 50 P * DCH - Delete Character, from current position to end of field + [4P = Delete 4 characters, VT102 series +121 51 Q SEM - Set Editing extent Mode (limits ICH and DCH) + [0Q = [Q = Insert/delete character affects rest of display + [1Q = ICH/DCH affect the current line only + [2Q = ICH/DCH affect current field (between tab stops) only + [3Q = ICH/DCH affect qualified area (between protected fields) +122 52 R * CPR - Cursor Position Report (from terminal to host) + * [24;80R = Cursor is positioned at line 24 column 80 +123 53 S SU - Scroll up, entire display is moved up, new lines at bottom + [3S = Move everything up 3 lines, bring in 3 new lines +124 54 T SD - Scroll down, new lines inserted at top of screen + [4T = Scroll down 4, bring previous lines back into view +125 55 U NP - Next Page (if terminal has more than 1 page of memory) + [2U = Scroll forward 2 pages +126 56 V PP - Previous Page (if terminal remembers lines scrolled off top) + [1V = Scroll backward 1 page +127 57 W CTC - Cursor Tabulation Control + [0W = Set horizontal tab for current line at current position + [1W = Set vertical tab stop for current line of current page + [2W = Clear horiz tab stop at current position of current line + [3W = Clear vert tab stop at current line of current page + [4W = Clear all horiz tab stops on current line only + [5W = Clear all horiz tab stops for the entire terminal + [6W = Clear all vert tabs stops for the entire terminal +130 58 X ECH - Erase CHaracter + [4X = Change next 4 characters to "erased" state +131 59 Y CVT - Cursor Vertical Tab + [2Y = Move forward to 2nd following vertical tab stop +132 5A Z CBT - Cursor Back Tab + [3Z = Move backwards to 3rd previous horizontal tab stop +133 5B [ Reserved for future standardization left bracket +134 5C \ Reserved reverse slant +135 5D ] Reserved right bracket +136 5E ^ Reserved circumflex +137 5F _ Reserved underscore +140 60 ` * HPA - Horizontal Position Absolute (depends on PUM) + [720` = Move to 720 decipoints (1 inch) from left margin + * [80` = Move to column 80 on LA120 +141 61 a * HPR - Horizontal Position Relative (depends on PUM) + [360a = Move 360 decipoints (1/2 inch) from current position + * [40a = Move 40 columns to right of current position on LA120 +142 62 b REP - REPeat previous displayable character + [80b = Repeat character 80 times +143 63 c * DA - Device Attributes + * [c = Terminal will identify itself + * [?1;2c = Terminal is saying it is a VT100 with AVO + * [>0c = Secondary DA request (distinguishes VT240 from VT220) +144 64 d * VPA - Vertical Position Absolute (depends on PUM) + [90d = Move to 90 decipoints (1/8 inch) from top margin + * [10d = Move to line 10 if before that else line 10 next page +145 65 e * VPR - Vertical Position Relative (depends on PUM) + [720e = Move 720 decipoints (1 inch) down from current position + * [6e = Advance 6 lines forward on LA120 +146 66 f * HVP - Horizontal and Vertical Position (depends on PUM) + [720,1440f = Move to 1 inch down and 2 inches over (decipoints) + * [24;80f = Move to row 24 column 80 if PUM is set to character +147 67 g * TBC - Tabulation Clear + * [0g = Clear horizontal tab stop at current position + * [1g = Clear vertical tab stop at current line (LA120) + * [2g = Clear all horizontal tab stops on current line only LA120 + * [3g = Clear all horizontal tab stops in the terminal +150 68 h * SM - Set Mode (. means permanently set on VT100) + [0h = Error, this command is ignored + * [1h = GATM - Guarded Area Transmit Mode, send all (VT132) + [2h = KAM - Keyboard Action Mode, disable keyboard input + [3h = CRM - Control Representation Mode, show all control chars + * [4h = IRM - Insertion/Replacement Mode, set insert mode (VT102) + [5h = SRTM - Status Report Transfer Mode, report after DCS + * [6h = ERM - ERasure Mode, erase protected and unprotected + [7h = VEM - Vertical Editing Mode, IL/DL affect previous lines + [8h, [9h are reserved + [10h = HEM - Horizontal Editing mode, ICH/DCH/IRM go backwards + [11h = PUM - Positioning Unit Mode, use decipoints for HVP/etc + . [12h = SRM - Send Receive Mode, transmit without local echo + [13h = FEAM - Format Effector Action Mode, FE's are stored + [14h = FETM - Format Effector Transfer Mode, send only if stored + [15h = MATM - Multiple Area Transfer Mode, send all areas + * [16h = TTM - Transmit Termination Mode, send scrolling region + [17h = SATM - Send Area Transmit Mode, send entire buffer + [18h = TSM - Tabulation Stop Mode, lines are independent + [19h = EBM - Editing Boundry Mode, all of memory affected + * [20h = LNM - Linefeed Newline Mode, LF interpreted as CR LF + * [?1h = DECCKM - Cursor Keys Mode, send ESC O A for cursor up + * [?2h = DECANM - ANSI Mode, use ESC < to switch VT52 to ANSI + * [?3h = DECCOLM - COLumn mode, 132 characters per line + * [?4h = DECSCLM - SCrolL Mode, smooth scrolling + * [?5h = DECSCNM - SCreeN Mode, black on white background + * [?6h = DECOM - Origin Mode, line 1 is relative to scroll region + * [?7h = DECAWM - AutoWrap Mode, start newline after column 80 + * [?8h = DECARM - Auto Repeat Mode, key will autorepeat + * [?9h = DECINLM - INterLace Mode, interlaced for taking photos + * [?10h = DECEDM - EDit Mode, VT132 is in EDIT mode + * [?11h = DECLTM - Line Transmit Mode, ignore TTM, send line + [?12h = ? + * [?13h = DECSCFDM - Space Compression/Field Delimiting on, + * [?14h = DECTEM - Transmit Execution Mode, transmit on ENTER + [?15h = ? + * [?16h = DECEKEM - Edit Key Execution Mode, EDIT key is local + [?17h = ? + * [?18h = DECPFF - Print FormFeed mode, send FF after printscreen + * [?19h = DECPEXT - Print Extent mode, print entire screen + * [?20h = OV1 - Overstrike, overlay characters on GIGI + * [?21h = BA1 - Local BASIC, GIGI to keyboard and screen + * [?22h = BA2 - Host BASIC, GIGI to host computer + * [?23h = PK1 - GIGI numeric keypad sends reprogrammable sequences + * [?24h = AH1 - Autohardcopy before erasing or rolling GIGI screen + * [?29h = - Use only the proper pitch for the LA100 font + * [?38h = DECTEK - TEKtronix mode graphics +151 69 i * MC - Media Copy (printer port on VT102) + * [0i = Send contents of text screen to printer + [1i = Fill screen from auxiliary input (printer's keyboard) + [2i = Send screen to secondary output device + [3i = Fill screen from secondary input device + * [4i = Turn on copying received data to primary output (VT125) + * [4i = Received data goes to VT102 screen, not to its printer + * [5i = Turn off copying received data to primary output (VT125) + * [5i = Received data goes to VT102's printer, not its screen + * [6i = Turn off copying received data to secondary output (VT125) + * [7i = Turn on copying received data to secondary output (VT125) + * [?0i = Graphics screen dump goes to graphics printer VT125,VT240 + * [?1i = Print cursor line, terminated by CR LF + * [?2i = Graphics screen dump goes to host computer VT125,VT240 + * [?4i = Disable auto print + * [?5i = Auto print, send a line at a time when linefeed received +152 6A j Reserved for future standardization +153 6B k Reserved for future standardization +154 6C l * RM - Reset Mode (. means permanently reset on VT100) + * [1l = GATM - Transmit only unprotected characters (VT132) + . [2l = KAM - Enable input from keyboard + . [3l = CRM - Control characters are not displayable characters + * [4l = IRM - Reset to replacement mode (VT102) + . [5l = SRTM - Report only on command (DSR) + * [6l = ERM - Erase only unprotected fields + . [7l = VEM - IL/DL affect lines after current line + [8l, [9l are reserved + . [10l = HEM - ICH and IRM shove characters forward, DCH pulls + . [11l = PUM - Use character positions for HPA/HPR/VPA/VPR/HVP + [12l = SRM - Local echo - input from keyboard sent to screen + . [13l = FEAM - HPA/VPA/SGR/etc are acted upon when received + . [14l = FETM - Format Effectors are sent to the printer + [15l = MATM - Send only current area if SATM is reset + * [16l = TTM - Transmit partial page, up to cursor position + [17l = SATM - Transmit areas bounded by SSA/ESA/DAQ + . [18l = TSM - Setting a tab stop on one line affects all lines + . [19l = EBM - Insert does not overflow to next page + * [20l = LNM - Linefeed does not change horizontal position + * [?1l = DECCKM - Cursor keys send ANSI cursor position commands + * [?2l = DECANM - Use VT52 emulation instead of ANSI mode + * [?3l = DECCOLM - 80 characters per line (erases screen) + * [?4l = DECSCLM - Jump scrolling + * [?5l = DECSCNM - Normal screen (white on black background) + * [?6l = DECOM - Line numbers are independent of scrolling region + * [?7l = DECAWM - Cursor remains at end of line after column 80 + * [?8l = DECARM - Keys do not repeat when held down + * [?9l = DECINLM - Display is not interlaced to avoid flicker + * [?10l = DECEDM - VT132 transmits all key presses + * [?11l = DECLTM - Send page or partial page depending on TTM + [?12l = ? + * [?13l = DECSCFDM - Don't suppress trailing spaces on transmit + * [?14l = DECTEM - ENTER sends ESC S (STS) a request to send + [?15l = ? + * [?16l = DECEKEM - EDIT key transmits either $[10h or $[10l + [?17l = ? + * [?18l = DECPFF - Don't send a formfeed after printing screen + * [?19l = DECPEXT - Print only the lines within the scroll region + * [?20l = OV0 - Space is destructive, replace not overstrike, GIGI + * [?21l = BA0 - No BASIC, GIGI is On-Line or Local + * [?22l = BA0 - No BASIC, GIGI is On-Line or Local + * [?23l = PK0 - Ignore reprogramming on GIGI keypad and cursors + * [?24l = AH0 - No auto-hardcopy when GIGI screen erased + * [?29l = Allow all character pitches on the LA100 + * [?38l = DECTEK - Ignore TEKtronix graphics commands +155 6D m * SGR - Set Graphics Rendition (affects character attributes) + * [0m = Clear all special attributes + * [1m = Bold or increased intensity + * [2m = Dim or secondary color on GIGI (superscript on XXXXXX) + [3m = Italic (subscript on XXXXXX) + * [4m = Underscore, [0;4m = Clear, then set underline only + * [5m = Slow blink + [6m = Fast blink (overscore on XXXXXX) + * [7m = Negative image, [0;1;7m = Bold + Inverse + [8m = Concealed (do not display character echoed locally) + [9m = Reserved for future standardization + * [10m = Select primary font (LA100) + * [11m - [19m = Selete alternate font (LA100 has 11 thru 14) + [20m = FRAKTUR (whatever that means) + * [22m = Cancel bold or dim attribute only (VT220) + * [24m = Cancel underline attribute only (VT220) + * [25m = Cancel fast or slow blink attribute only (VT220) + * [27m = Cancel negative image attribute only (VT220) + * [30m = Write with black, [40m = Set background to black (GIGI) + * [31m = Write with red, [41m = Set background to red + * [32m = Write with green, [42m = Set background to green + * [33m = Write with yellow, [43m = Set background to yellow + * [34m = Write with blue, [44m = Set background to blue + * [35m = Write with magenta, [45m = Set background to magenta + * [36m = Write with cyan, [46m = Set background to cyan + * [37m = Write with white, [47m = Set background to white + [38m, [39m, [48m, [49m are reserved +156 6E n * DSR - Device Status Report + * [0n = Terminal is ready, no malfunctions detected + [1n = Terminal is busy, retry later + [2n = Terminal is busy, it will send DSR when ready + * [3n = Malfunction, please try again + [4n = Malfunction, terminal will send DSR when ready + * [5n = Command to terminal to report its status + * [6n = Command to terminal requesting cursor position (CPR) + * [?15n = Command to terminal requesting printer status, returns + [?10n = OK, [?11n = not OK, [?13n = no printer. + * [?25n = "Are User Defined Keys Locked?" (VT220) +157 6F o DAQ - Define Area Qualification starting at current position + [0o = Accept all input, transmit on request + [1o = Protected and guarded, accept no input, do not transmit + [2o = Accept any printing character in this field + [3o = Numeric only field + [4o = Alphabetic (A-Z and a-z) only + [5o = Right justify in area + [3;6o = Zero fill in area + [7o = Set horizontal tab stop, this is the start of the field + [8o = Protected and unguarded, accept no input, do transmit + [9o = Space fill in area + +============================================================================== + + Private Control Sequences (allowed by ANSI X3.41-1974). + These take parameter strings and terminate with the last half of lowercase. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- - - -------------------------------------------------------------------- +160 70 p * DECSTR - Soft Terminal Reset + [!p = Soft Terminal Reset +161 71 q * DECLL - Load LEDs + [0q = Turn off all, [?1;4q turns on L1 and L4, etc + [154;155;157q = VT100 goes bonkers + [2;23!q = Partial screen dump from GIGI to graphics printer + [0"q = DECSCA Select Character Attributes off + [1"q = DECSCA - designate set as non-erasable + [2"q = DECSCA - designate set as erasable +162 72 r * DECSTBM - Set top and bottom margins (scroll region on VT100) + [4;20r = Set top margin at line 4 and bottom at line 20 +163 73 s * DECSTRM - Set left and right margins on LA100,LA120 + [5;130s = Set left margin at column 5 and right at column 130 +164 74 t * DECSLPP - Set physical lines per page + [66t = Paper has 66 lines (11 inches at 6 per inch) +165 75 u * DECSHTS - Set many horizontal tab stops at once on LA100 + [9;17;25;33;41;49;57;65;73;81u = Set standard tab stops +166 76 v * DECSVTS - Set many vertical tab stops at once on LA100 + [1;16;31;45v = Set vert tabs every 15 lines +167 77 w * DECSHORP - Set horizontal pitch on LAxxx printers + [1w = 10 characters per inch, [2w = 12 characters per inch + [0w=10, [3w=13.2, [4w=16.5, [5w=5, [6w=6, [7w=6.6, [8w=8.25 +170 78 x * DECREQTPARM - Request terminal parameters + [3;5;2;64;64;1;0x = Report, 7 bit Even, 1200 baud, 1200 baud +171 79 y * DECTST - Invoke confidence test + [2;1y = Power-up test on VT100 series (and VT100 part of VT125) + [3;1y = Power-up test on GIGI (VK100) + [4;1y = Power-up test on graphics portion of VT125 +172 7A z * DECVERP - Set vertical pitch on LA100 + [1z = 6 lines per inch, [2z = 8 lines per inch + [0z=6, [3z=12, [4z=3, [5z=3, [6z=4 +173 7B { Private +174 7C | * DECTTC - Transmit Termination Character + [0| = No extra characters, [1| = terminate with FF +175 7D } * DECPRO - Define protected field on VT132 + [0} = No protection, [1;4;5;7} = Any attribute is protected + [254} = Characters with no attributes are protected +176 7E ~ * DECKEYS - Sent by special function keys + [1~=FIND, [2~=INSERT, [3~=REMOVE, [4~=SELECT, [5~=PREV, [6~=NEXT + [17~=F6...[34~=F20 ([23~=ESC,[24~=BS,[25~=LF,[28~=HELP,[29~=DO) +177 7F DELETE is always ignored + +============================================================================== + Control Sequences with intermediate characters (from ANSI X3.64-1979). + Note that there is a SPACE character before the terminating alphabetic. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- - - -------------------------------------------------------------------- +100 40 @ SL - Scroll Left + [4 @ = Move everything over 4 columns, 4 new columns at right +101 41 A SR - Scroll Right + [2 A = Move everything over 2 columns, 2 new columns at left +102 42 B GSM - Graphic Size Modification + [110;50 B = Make 110% high, 50% wide +103 43 C GSS - Graphic Size Selection + [120 C = Make characters 120 decipoints (1/6 inch) high +104 44 D FNT - FoNT selection (used by SGR, [10m thru [19m) + [0;23 D = Make primary font be registered font #23 +105 45 E TSS - Thin Space Specification + [36 E = Define a thin space to be 36 decipoints (1/20 inch) +106 46 F JFY - JustiFY, done by the terminal/printer + [0 E = No justification + [1 E = Fill, bringing words up from next line if necessary + [2 E = Interword spacing, adjust spaces between words + [3 E = Letter spacing, adjust width of each letter + [4 E = Use hyphenation + [5 E = Flush left margin + [6 E = Center following text between margins (until [0 E) + [7 E = Flush right margin + [8 E = Italian form (underscore instead of hyphen) +107 47 G SPI - SPacing Increment (in decipoints) + [120;72 G = 6 per inch vertical, 10 per inch horizontal +110 48 H QUAD- Do quadding on current line of text (typography) + [0 H = Flush left, [1 H = Flush left and fill with leader + [2 H = Center, [3 H = Center and fill with leader + [4 H = Flush right, [5 H = Flush right and fill with leader +111 49 I Reserved for future standardization +157 67 o Reserved for future standardization +160 70 p Private use + ... May be defined by the printer manufacturer +176 7E ~ Private use +177 7F DELETE is always ignored + +============================================================================== + Minimum requirements for VT100 emulation: + +1) To act as a passive display, implement the 4 cursor commands, the 2 erase + commands, direct cursor addressing, and at least inverse characters. + The software should be capable of handling strings with 16 numeric parameters + with values in the range of 0 to 255. + + [A Move cursor up one row, stop if a top of screen + [B Move cursor down one row, stop if at bottom of screen + [C Move cursor forward one column, stop if at right edge of screen + [D Move cursor backward one column, stop if at left edge of screen + [H Home to row 1 column 1 (also [1;1H) + [J Clear from current position to bottom of screen + [K Clear from current position to end of line + [24;80H Position to line 24 column 80 (any line 1 to 24, any column 1 to 132) + [0m Clear attributes to normal characters + [7m Add the inverse video attribute to succeeding characters + [0;7m Set character attributes to inverse video only + +2) To enter data in VT100 mode, implement the 4 cursor keys and the 4 PF keys. + It must be possible to enter ESC, TAB, BS, DEL, and LF from the keyboard. + + [A Sent by the up-cursor key (alternately ESC O A) + [B Sent by the down-cursor key (alternately ESC O B) + [C Sent by the right-cursor key (alternately ESC O C) + [D Sent by the left-cursor key (alternately ESC O D) + OP PF1 key sends ESC O P + OQ PF2 key sends ESC O Q + OR PF3 key sends ESC O R + OS PF3 key sends ESC O S + [c Request for the terminal to identify itself + [?1;0c VT100 with memory for 24 by 80, inverse video character attribute + [?1;2c VT100 capable of 132 column mode, with bold+blink+underline+inverse + +3) When doing full-screen editing on a VT100, implement directed erase, the + numeric keypad in applications mode, and the limited scrolling region. + The latter is needed to do insert/delete line functions without rewriting + the screen. + + [0J Erase from current position to bottom of screen inclusive + [1J Erase from top of screen to current position inclusive + [2J Erase entire screen (without moving the cursor) + [0K Erase from current position to end of line inclusive + [1K Erase from beginning of line to current position inclusive + [2K Erase entire line (without moving cursor) + [12;24r Set scrolling region to lines 12 thru 24. If a linefeed or an + INDex is received while on line 24, the former line 12 is deleted + and rows 13-24 move up. If a RI (reverse Index) is received while + on line 12, a blank line is inserted there as rows 12-13 move down. + All VT100 compatible terminals (except GIGI) have this feature. + ESC = Set numeric keypad to applications mode + ESC > Set numeric keypad to numbers mode + OA Up-cursor key sends ESC O A after ESC = ESC [ ? 1 h + OB Down-cursor key sends ESC O B " " " + OC Right-cursor key sends ESC O B " " " + OB Left-cursor key sends ESC O B " " " + OM ENTER key sends ESC O M after ESC = + Ol COMMA on keypad sends ESC O l " " (that's lowercase L) + Om MINUS on keypad sends ESC O m " " + Op ZERO on keypad sends ESC O p " " + Oq ONE on keypad sends ESC O q " " + Or TWO on keypad sends ESC O r " " + Os THREE on keypad sends ESC O s " " + Ot FOUR on keypad sends ESC O t " " + Ou FIVE on keypad sends ESC O u " " + Ov SIX on keypad sends ESC O v " " + Ow SEVEN on keypad sends ESC O w " " + Ox EIGHT on keypad sends ESC O x " " + Oy NINE on keypad sends ESC O y " " + +4) If the hardware is capable of double width/double height: + + #3 Top half of a double-width double-height line + #4 Bottom half of a double-width double-height line + #5 Make line single-width (lines are set this way when cleared by ESC [ J) + #6 Make line double-width normal height (40 or 66 characters) + +5) If the terminal emulator is capable of insert/delete characters, +insert/delete lines, insert/replace mode, and can do a full-screen dump to +the printer (in text mode), then it should identify itself as a VT102 + + [c Request for the terminal to identify itself + [?6c VT102 (printer port, 132 column mode, and ins/del standard) + [1@ Insert a blank character position (shift line to the right) + [1P Delete a character position (shift line to the left) + [1L Insert blank line at current row (shift screen down) + [1M Delete the current line (shift screen up) + [4h Set insert mode, new characters shove existing ones to the right + [4l Reset insert mode, new characters replace existing ones + [0i Print screen (all 24 lines) to the printer + [4i All received data goes to the printer (nothing to the screen) + [5i All received data goes to the screen (nothing to the printer) + + +[End of ANSICODE.TXT] diff --git a/.config/alacritty/alacritty/docs/escape_support.md b/.config/alacritty/alacritty/docs/escape_support.md new file mode 100644 index 0000000..4cb6c6f --- /dev/null +++ b/.config/alacritty/alacritty/docs/escape_support.md @@ -0,0 +1,104 @@ +# Escape Sequence Support + +This list includes all escape sequences Alacritty currently supports. + +### Legend + +The available statuses are `PARTIAL`, `IMPLEMENTED` and `REJECTED`. While a +status of `PARTIAL` means there is still work left to be done, a status of +`IMPLEMENTED` for something partially implemented means all other features were +rejected. + +All whitespace in escape sequences is solely for formatting purposes and all +relevant spaces are denoted as `SP`. The escape parameters are omitted for +brevity. + +### ESC codes - `ESC` + +| ESCAPE | STATUS | NOTE | +| --------- | ----------- | -------------------------------------------------- | +| `ESC (` | IMPLEMENTED | Only charsets `B` and `0` are supported | +| `ESC )` | IMPLEMENTED | Only charsets `B` and `0` are supported | +| `ESC *` | IMPLEMENTED | Only charsets `B` and `0` are supported | +| `ESC +` | IMPLEMENTED | Only charsets `B` and `0` are supported | +| `ESC =` | IMPLEMENTED | | +| `ESC >` | IMPLEMENTED | | +| `ESC 7` | IMPLEMENTED | | +| `ESC 8` | IMPLEMENTED | | +| `ESC # 8` | IMPLEMENTED | | +| `ESC D` | IMPLEMENTED | | +| `ESC E` | IMPLEMENTED | | +| `ESC H` | IMPLEMENTED | | +| `ESC M` | IMPLEMENTED | | +| `ESC Z` | IMPLEMENTED | | + +### CSI (Control Sequence Introducer) - `ESC [` + +| ESCAPE | STATUS | NOTE | +| ---------- | ----------- | ------------------------------------------------- | +| ``CSI ` `` | IMPLEMENTED | | +| `CSI @` | IMPLEMENTED | | +| `CSI A` | IMPLEMENTED | | +| `CSI a` | IMPLEMENTED | | +| `CSI B` | IMPLEMENTED | | +| `CSI b` | IMPLEMENTED | | +| `CSI C` | IMPLEMENTED | | +| `CSI c` | IMPLEMENTED | | +| `CSI D` | IMPLEMENTED | | +| `CSI d` | IMPLEMENTED | | +| `CSI E` | IMPLEMENTED | | +| `CSI e` | IMPLEMENTED | | +| `CSI F` | IMPLEMENTED | | +| `CSI f` | IMPLEMENTED | | +| `CSI G` | IMPLEMENTED | | +| `CSI g` | IMPLEMENTED | | +| `CSI H` | IMPLEMENTED | | +| `CSI h` | PARTIAL | Only modes `4` and `20` are supported | +| `CSI ? h` | PARTIAL | Supported modes: | +| | | `1`, `3`, `6`, `7`, `12`, `25`, `1000`, `1002` | +| | | `1004`, `1005`, `1006`, `1007`, `1042`, `1049` | +| | | `2004` | +| `CSI I` | IMPLEMENTED | | +| `CSI J` | IMPLEMENTED | | +| `CSI K` | IMPLEMENTED | | +| `CSI L` | IMPLEMENTED | | +| `CSI l` | PARTIAL | See `CSI h` for supported modes | +| `CSI ? l` | PARTIAL | See `CSI ? h` for supported modes | +| `CSI M` | IMPLEMENTED | | +| `CSI m` | PARTIAL | Only singular straight underlines are supported | +| `CSI n` | IMPLEMENTED | | +| `CSI P` | IMPLEMENTED | | +| `CSI SP q` | IMPLEMENTED | | +| `CSI r` | IMPLEMENTED | | +| `CSI S` | IMPLEMENTED | | +| `CSI s` | IMPLEMENTED | | +| `CSI T` | IMPLEMENTED | | +| `CSI t` | PARTIAL | Only parameters `22` and `23` are supported | +| | REJECTED | `1`-`13`, `15`, `19`-`21`, `24` | +| `CSI u` | IMPLEMENTED | | +| `CSI X` | IMPLEMENTED | | +| `CSI Z` | IMPLEMENTED | | + +### OSC (Operating System Command) - `ESC ]` + +| ESCAPE | STATUS | NOTE | +| --------- | ----------- | -------------------------------------------------- | +| `OSC 0` | IMPLEMENTED | Icon names are not supported | +| `OSC 1` | REJECTED | Icon names are not supported | +| `OSC 2` | IMPLEMENTED | | +| `OSC 4` | IMPLEMENTED | | +| `OSC 10` | IMPLEMENTED | | +| `OSC 11` | IMPLEMENTED | | +| `OSC 12` | IMPLEMENTED | | +| `OSC 50` | IMPLEMENTED | Only `CursorShape` is supported | +| `OSC 52` | IMPLEMENTED | Only Clipboard and primary selection supported | +| `OSC 104` | IMPLEMENTED | | +| `OSC 110` | IMPLEMENTED | | +| `OSC 111` | IMPLEMENTED | | +| `OSC 112` | IMPLEMENTED | | + +### DCS (Device Control String) - `ESC P` + +| ESCAPE | STATUS | NOTE | +| --------- | ----------- | -------------------------------------------------- | +| `DCS = s` | IMPLEMENTED | | diff --git a/.config/alacritty/alacritty/docs/features.md b/.config/alacritty/alacritty/docs/features.md new file mode 100644 index 0000000..a97c143 --- /dev/null +++ b/.config/alacritty/alacritty/docs/features.md @@ -0,0 +1,86 @@ +# Features + +This document gives an overview over Alacritty's features beyond its terminal +emulation capabilities. To get a list with supported control sequences take a +look at [Alacritty's escape sequence support](./escape_support.md). + +## Vi Mode + +The vi mode allows moving around Alacritty's viewport and scrollback using the +keyboard. It also serves as a jump-off point for other features like search and +opening URLs with the keyboard. By default you can launch it using +Ctrl Shift Space. + +### Motion + +The cursor motions are setup by default to mimic vi, however they are fully +configurable. If you don't like vi's bindings, take a look at the [configuration +file] to change the various movements. + +### Selection + +One useful feature of vi mode is the ability to make selections and copy text to +the clipboard. By default you can start a selection using v and copy +it using y. All selection modes that are available with the mouse can +be accessed from vi mode, including the semantic (Alt v), +line (Shift v) and block selection (Ctrl +v). You can also toggle between them while the selection is still +active. + +## Search + +Search allows you to find anything in Alacritty's scrollback buffer. You can +search forward using Ctrl Shift f and +backward using Ctrl Shift b. + +### Vi Search + +In vi mode the search is bound to / for forward and ? for +backward search. This allows you to move around quickly and help with selecting +content. The `SearchStart` and `SearchEnd` keybinding actions can be bound if +you're looking for a way to jump to the start or the end of a match. + +### Normal Search + +During normal search you don't have the opportunity to move around freely, but +you can still jump between matches using Enter and Shift +Enter. After leaving search with Escape your active match +stays selected, allowing you to easily copy it. + +## Hints + +Terminal hints allow easily interacting with visible text without having to +start vi mode. They consist of a regex that detects these text elements and then +either feeds them to an external application or triggers one of Alacritty's +built-in actions. + +Hints can also be triggered using the mouse or vi mode cursor. If a hint is +enabled for mouse interaction and recognized as such, it will be underlined when +the mouse or vi mode cursor is on top of it. Using the left mouse button or +Enter key in vi mode will then trigger the hint. + +Hints can be configured in the `hints` and `colors.hints` sections in the +Alacritty configuration file. + +## Selection expansion + +After making a selection, you can use the right mouse button to expand it. +Double-clicking will expand the selection semantically, while triple-clicking +will perform line selection. If you hold Ctrl while expanding the +selection, it will switch to the block selection mode. + +## Opening URLs with the mouse + +You can open URLs with your mouse by clicking on them. The modifiers required to +be held and program which should open the URL can be setup in the configuration +file. If an application captures your mouse clicks, which is indicated by a +change in mouse cursor shape, you're required to hold Shift to bypass +that. + +[configuration file]: ../alacritty.yml + +## Multi-Window + +Alacritty supports running multiple terminal emulators from the same Alacritty +instance. New windows can be created either by using the `CreateNewWindow` +keybinding action, or by executing the `alacritty msg create-window` subcommand. diff --git a/.config/alacritty/alacritty/extra/alacritty-msg.man b/.config/alacritty/alacritty/extra/alacritty-msg.man new file mode 100644 index 0000000..818169d --- /dev/null +++ b/.config/alacritty/alacritty/extra/alacritty-msg.man @@ -0,0 +1,31 @@ +.TH ALACRITTY-MSG "1" "October 2021" "alacritty 0.10.0-dev" "User Commands" +.SH NAME +alacritty-msg \- Send messages to Alacritty +.SH "SYNOPSIS" +alacritty msg [OPTIONS] [MESSAGES] +.SH DESCRIPTION +This command communicates with running Alacritty instances through a socket, +making it possible to control Alacritty without directly accessing it. +.SH "OPTIONS" +.TP +\fB\-s\fR, \fB\-\-socket\fR +Path for IPC socket creation +.SH "MESSAGES" +.TP +\fBcreate-window\fR +Create a new window in the same Alacritty process +.SH "SEE ALSO" +See the alacritty github repository at https://github.com/alacritty/alacritty for the full documentation. +.SH "BUGS" +Found a bug? Please report it at https://github.com/alacritty/alacritty/issues. +.SH "MAINTAINERS" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Christian Duerr diff --git a/.config/alacritty/alacritty/extra/alacritty.info b/.config/alacritty/alacritty/extra/alacritty.info new file mode 100644 index 0000000..2917143 --- /dev/null +++ b/.config/alacritty/alacritty/extra/alacritty.info @@ -0,0 +1,110 @@ +alacritty|alacritty terminal emulator, + use=alacritty+common, + rs1=\Ec\E]104\007, + ccc, + colors#0x100, pairs#0x7FFF, + initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%* + %{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\, + oc=\E]104\007, + setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48; + 5;%p1%d%;m, + setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5 + ;%p1%d%;m, + setb@, setf@, + +alacritty-direct|alacritty with direct color indexing, + use=alacritty+common, + RGB, + colors#0x1000000, pairs#0x7FFF, + initc@, op=\E[39;49m, + setab=\E[%?%p1%{8}%<%t4%p1%d%e48\:2\:\:%p1%{65536}%/%d\:%p1%{256} + %/%{255}%&%d\:%p1%{255}%&%d%;m, + setaf=\E[%?%p1%{8}%<%t3%p1%d%e38\:2\:\:%p1%{65536}%/%d\:%p1%{256} + %/%{255}%&%d\:%p1%{255}%&%d%;m, + setb@, setf@, + +alacritty+common|base fragment for alacritty, + OTbs, am, bce, km, mir, msgr, xenl, AX, XT, + colors#8, cols#80, it#8, lines#24, pairs#64, + acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, + clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=\r, + csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, + cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C, + cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, + cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, + dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, + el1=\E[1K, flash=\E[?5h$<100/>\E[?5l, home=\E[H, + hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, + il=\E[%p1%dL, il1=\E[L, ind=\n, invis=\E[8m, + is2=\E[!p\E[?3;4l\E[4l\E>, kmous=\E[M, meml=\El, + memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, + rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, + rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec, + rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm, + setaf=\E[3%p1%dm, + setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6} + %=%t3%e%p1%d%;m, + setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6} + %=%t3%e%p1%d%;m, + sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%; + %?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m, + sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h, + smkx=\E[?1h\E=, smm=\E[?1034h, smso=\E[7m, smul=\E[4m, + tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J, + kbs=^?, + ritm=\E[23m, sitm=\E[3m, + mc5i, + mc0=\E[i, mc4=\E[4i, mc5=\E[5i, + u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c, + u9=\E[c, + rmcup=\E[?1049l\E[23;0;0t, smcup=\E[?1049h\E[22;0;0t, + npc, + indn=\E[%p1%dS, kb2=\EOE, kcbt=\E[Z, kent=\EOM, + rin=\E[%p1%dT, + rep=%p1%c\E[%p2%{1}%-%db, + rmxx=\E[29m, smxx=\E[9m, + kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\EOF, + khome=\EOH, + kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, + kf13=\E[1;2P, kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S, + kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ, + kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~, + kf23=\E[23;2~, kf24=\E[24;2~, kf25=\E[1;5P, kf26=\E[1;5Q, + kf27=\E[1;5R, kf28=\E[1;5S, kf29=\E[15;5~, kf3=\EOR, + kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~, + kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~, + kf36=\E[24;5~, kf37=\E[1;6P, kf38=\E[1;6Q, kf39=\E[1;6R, + kf4=\EOS, kf40=\E[1;6S, kf41=\E[15;6~, kf42=\E[17;6~, + kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~, + kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~, + kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q, kf51=\E[1;3R, + kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~, + kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~, + kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~, + kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~, + kf8=\E[19~, kf9=\E[20~, + kLFT=\E[1;2D, kRIT=\E[1;2C, kind=\E[1;2B, kri=\E[1;2A, + kDN=\E[1;2B, kDN3=\E[1;3B, kDN4=\E[1;4B, kDN5=\E[1;5B, + kDN6=\E[1;6B, kDN7=\E[1;7B, kLFT3=\E[1;3D, kLFT4=\E[1;4D, + kLFT5=\E[1;5D, kLFT6=\E[1;6D, kLFT7=\E[1;7D, + kRIT3=\E[1;3C, kRIT4=\E[1;4C, kRIT5=\E[1;5C, + kRIT6=\E[1;6C, kRIT7=\E[1;7C, kUP=\E[1;2A, kUP3=\E[1;3A, + kUP4=\E[1;4A, kUP5=\E[1;5A, kUP6=\E[1;6A, kUP7=\E[1;7A, + kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~, + kNXT=\E[6;2~, kPRV=\E[5;2~, kich1=\E[2~, knp=\E[6~, + kpp=\E[5~, kDC3=\E[3;3~, kDC4=\E[3;4~, kDC5=\E[3;5~, + kDC6=\E[3;6~, kDC7=\E[3;7~, kEND3=\E[1;3F, kEND4=\E[1;4F, + kEND5=\E[1;5F, kEND6=\E[1;6F, kEND7=\E[1;7F, + kHOM3=\E[1;3H, kHOM4=\E[1;4H, kHOM5=\E[1;5H, + kHOM6=\E[1;6H, kHOM7=\E[1;7H, kIC3=\E[2;3~, kIC4=\E[2;4~, + kIC5=\E[2;5~, kIC6=\E[2;6~, kIC7=\E[2;7~, kNXT3=\E[6;3~, + kNXT4=\E[6;4~, kNXT5=\E[6;5~, kNXT6=\E[6;6~, + kNXT7=\E[6;7~, kPRV3=\E[5;3~, kPRV4=\E[5;4~, + kPRV5=\E[5;5~, kPRV6=\E[5;6~, kPRV7=\E[5;7~, + kdch1=\E[3~, + Cr=\E]112\007, Cs=\E]12;%p1%s\007, + Ms=\E]52;%p1%s;%p2%s\007, Se=\E[0 q, Ss=\E[%p1%d q, + hs, dsl=\E]2;\007, fsl=^G, tsl=\E]2;, + Smulx=\E[4\:%p1%dm, + Sync=\EP=%p1%ds\E\\, diff --git a/.config/alacritty/alacritty/extra/alacritty.man b/.config/alacritty/alacritty/extra/alacritty.man new file mode 100644 index 0000000..5ff0852 --- /dev/null +++ b/.config/alacritty/alacritty/extra/alacritty.man @@ -0,0 +1,91 @@ +.TH ALACRITTY "1" "August 2018" "alacritty 0.10.0-dev" "User Commands" +.SH NAME +Alacritty \- A fast, cross-platform, OpenGL terminal emulator +.SH "SYNOPSIS" +alacritty [SUBCOMMANDS] [FLAGS] [OPTIONS] +.SH DESCRIPTION +Alacritty is a modern terminal emulator that comes with sensible defaults, but +allows for extensive configuration. By integrating with other applications, +rather than reimplementing their functionality, it manages to provide a flexible +set of features with high performance. +.SH "FLAGS" +.TP +\fB\-h\fR, \fB\-\-help\fR +Prints help information +.TP +\fB\-\-hold\fR +Remain open after child process exits +.TP +\fB\-\-print\-events\fR +Print all events to stdout +.TP +\fB\-q\fR +Reduces the level of verbosity (the min level is \fB\-qq\fR) +.TP +\fB\-\-ref\-test\fR +Generates ref test +.TP +\fB\-v\fR +Increases the level of verbosity (the max level is \fB\-vvv\fR) +.TP +\fB\-V\fR, \fB\-\-version\fR +Prints version information +.SH "OPTIONS" +.TP +\fB\-\-class\fR | , +Defines the window class hint on Linux [default: Alacritty,Alacritty] + +On Wayland the instance class sets the `app_id`, while the general class is ignored. +.TP +\fB\-e\fR, \fB\-\-command\fR ... +Command and args to execute (must be last argument) +.TP +\fB\-\-config\-file\fR +Specify alternative configuration file + +Alacritty looks for the configuration file at the following paths: + 1. $XDG_CONFIG_HOME/alacritty/alacritty.yml + 2. $XDG_CONFIG_HOME/alacritty.yml + 3. $HOME/.config/alacritty/alacritty.yml + 4. $HOME/.alacritty.yml + +On Windows, the configuration file is located at %APPDATA%\\alacritty\\alacritty.yml. +.TP +\fB\-\-embed\fR +Defines the X11 window ID (as a decimal integer) to embed Alacritty within +.TP +\fB\-o\fR, \fB\-\-option\fR