aboutsummaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorAyose <ayosec@gmail.com>2024-02-11 00:00:00 +0000
committerAyose <ayosec@gmail.com>2024-02-11 00:00:00 +0000
commit5e75fc92bd6bd956873baa8e30d2c14f2fe83a54 (patch)
tree25836c51f65adf60c2ea2d0f799f77b12446451a /extra
parent713c5415262ab091a645f976907dacaf40703ae8 (diff)
parent117719b3216d60ddde4096d9b2bdccecfd214c42 (diff)
downloadr-alacritty-5e75fc92bd6bd956873baa8e30d2c14f2fe83a54.tar.gz
r-alacritty-5e75fc92bd6bd956873baa8e30d2c14f2fe83a54.tar.bz2
r-alacritty-5e75fc92bd6bd956873baa8e30d2c14f2fe83a54.zip
Merge remote-tracking branch 'vendor/master' into graphics
Diffstat (limited to 'extra')
-rw-r--r--extra/alacritty-msg.man64
-rw-r--r--extra/alacritty.info4
-rw-r--r--extra/alacritty.man93
l---------extra/alacritty.yml1
-rw-r--r--extra/completions/_alacritty196
-rw-r--r--extra/completions/alacritty.bash220
-rw-r--r--extra/completions/alacritty.fish32
-rw-r--r--extra/linux/Alacritty.desktop1
-rw-r--r--extra/man/alacritty-bindings.5.scd577
-rw-r--r--extra/man/alacritty-msg.1.scd92
-rw-r--r--extra/man/alacritty.1.scd141
-rw-r--r--extra/man/alacritty.5.scd1040
-rw-r--r--extra/osx/Alacritty.app/Contents/Info.plist2
-rw-r--r--extra/promo/alacritty-readme.pngbin0 -> 131996 bytes
14 files changed, 2245 insertions, 218 deletions
diff --git a/extra/alacritty-msg.man b/extra/alacritty-msg.man
deleted file mode 100644
index 4c843899..00000000
--- a/extra/alacritty-msg.man
+++ /dev/null
@@ -1,64 +0,0 @@
-.TH ALACRITTY-MSG "1" "October 2021" "alacritty 0.13.0-dev" "User Commands"
-.SH NAME
-alacritty-msg \- Send messages to Alacritty
-.SH "SYNOPSIS"
-alacritty msg [OPTIONS] <MESSAGE> [MESSAGE_OPTIONS]
-.SH DESCRIPTION
-This command communicates with running Alacritty instances through a socket,
-making it possible to control Alacritty without directly accessing it.
-.SH "OPTIONS"
-\fB\-s\fR, \fB\-\-socket\fR <socket>
-Path for IPC socket creation
-.SH "MESSAGES"
-.TP
-\fBcreate-window\fR
-Create a new window in the same Alacritty process
-.TP
-.SH "\tOPTIONS"
-.RS 12
-.TP
-\fB\-\-hold\fR
-Remain open after child process exits
-.TP
-\fB\-\-working\-directory\fR <working\-directory>
-Start the shell in the specified working directory
-.TP
-\fB\-e\fR, \fB\-\-command\fR <command>...
-Command and args to execute (must be last argument)
-.RE
-.TP
-\fBconfig\fR
-Update the Alacritty configuration
-.TP
-.SH "\tARGS"
-.RS 12
-.TP
-\fB<CONFIG_OPTIONS>...\fR
-Configuration file options [example: cursor.style=Beam]
-.RE
-.TP
-.SH "\tOPTIONS"
-.RS 12
-.TP
-\fB\-w\fR, \fB\-\-window\-id\fR <WINDOW_ID>
-Window ID for the new config.
-
-Use `-1` to apply this change to all windows.
-
-[default: \fB$ALACRITTY_WINDOW_ID\fR]
-.RE
-.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 <contact@christianduerr.com>
diff --git a/extra/alacritty.info b/extra/alacritty.info
index 29171438..d7710882 100644
--- a/extra/alacritty.info
+++ b/extra/alacritty.info
@@ -107,4 +107,6 @@ alacritty+common|base fragment for alacritty,
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\\,
+ Sync=\E[?2026%?%p1%{1}%-%tl%eh%;,
+ XF, kxIN=\E[I, kxOUT=\E[O,
+ BD=\E[?2004l, BE=\E[?2004h, PE=\E[201~, PS=\E[200~,
diff --git a/extra/alacritty.man b/extra/alacritty.man
deleted file mode 100644
index d1472bfd..00000000
--- a/extra/alacritty.man
+++ /dev/null
@@ -1,93 +0,0 @@
-.TH ALACRITTY "1" "August 2018" "alacritty 0.13.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 <general> | <general>,<instance>
-Defines the window class hint on Linux [default: Alacritty,Alacritty]
-
-When only the general class is passed, instance will be set to the same value.
-
-On Wayland the general class sets the `app_id`, while the instance class is ignored.
-.TP
-\fB\-e\fR, \fB\-\-command\fR <command>...
-Command and args to execute (must be last argument)
-.TP
-\fB\-\-config\-file\fR <config\-file>
-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 <parent>
-X11 window ID to embed Alacritty within (decimal or hexadecimal with "0x" prefix)
-.TP
-\fB\-o\fR, \fB\-\-option\fR <option>...
-Override configuration file options [example: cursor.style=Beam]
-.TP
-\fB\-\-socket\fR <socket>
-Path for IPC socket creation
-.TP
-\fB\-T\fR, \fB\-\-title\fR <title>
-Defines the window title [default: Alacritty]
-.TP
-\fB\-\-working\-directory\fR <working\-directory>
-Start the shell in the specified working directory
-.SH "SUBCOMMANDS"
-.TP
-\fBmsg\fR
-Available socket messages
-.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 <contact@christianduerr.com>
-.sp
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-Joe Wilm <joe@jwilm.com>
diff --git a/extra/alacritty.yml b/extra/alacritty.yml
deleted file mode 120000
index 2db9ba40..00000000
--- a/extra/alacritty.yml
+++ /dev/null
@@ -1 +0,0 @@
-../alacritty.yml \ No newline at end of file
diff --git a/extra/completions/_alacritty b/extra/completions/_alacritty
index b9ae3518..a510fb15 100644
--- a/extra/completions/_alacritty
+++ b/extra/completions/_alacritty
@@ -16,25 +16,25 @@ _alacritty() {
local context curcontext="$curcontext" state line
_arguments "${_arguments_options[@]}" \
'--embed=[X11 window ID to embed Alacritty within (decimal or hexadecimal with "0x" prefix)]:EMBED: ' \
-'--config-file=[Specify alternative configuration file \[default: $XDG_CONFIG_HOME/alacritty/alacritty.yml\]]:CONFIG_FILE:_files' \
+'--config-file=[Specify alternative configuration file \[default\: \$XDG_CONFIG_HOME/alacritty/alacritty.toml\]]:CONFIG_FILE:_files' \
'--socket=[Path for IPC socket creation]:SOCKET:_files' \
-'*-o+[Override configuration file options \[example: cursor.style=Beam\]]:OPTION: ' \
-'*--option=[Override configuration file options \[example: cursor.style=Beam\]]:OPTION: ' \
'--working-directory=[Start the shell in the specified working directory]:WORKING_DIRECTORY:_files' \
'*-e+[Command and args to execute (must be last argument)]:COMMAND: ' \
'*--command=[Command and args to execute (must be last argument)]:COMMAND: ' \
-'-T+[Defines the window title \[default: Alacritty\]]:TITLE: ' \
-'--title=[Defines the window title \[default: Alacritty\]]:TITLE: ' \
-'--class=[Defines window class/app_id on X11/Wayland \[default: Alacritty\]]:general> | <general>,<instance: ' \
-'-h[Print help information]' \
-'--help[Print help information]' \
-'-V[Print version information]' \
-'--version[Print version information]' \
-'--print-events[Print all events to stdout]' \
+'-T+[Defines the window title \[default\: Alacritty\]]:TITLE: ' \
+'--title=[Defines the window title \[default\: Alacritty\]]:TITLE: ' \
+'--class=[Defines window class/app_id on X11/Wayland \[default\: Alacritty\]]:general> | <general>,<instance: ' \
+'*-o+[Override configuration file options \[example\: '\''cursor.style="Beam"'\''\]]:OPTION: ' \
+'*--option=[Override configuration file options \[example\: '\''cursor.style="Beam"'\''\]]:OPTION: ' \
+'--print-events[Print all events to STDOUT]' \
'--ref-test[Generates ref test]' \
'(-v)*-q[Reduces the level of verbosity (the min level is -qq)]' \
'(-q)*-v[Increases the level of verbosity (the max level is -vvv)]' \
'--hold[Remain open after child process exit]' \
+'-h[Print help]' \
+'--help[Print help]' \
+'-V[Print version]' \
+'--version[Print version]' \
":: :_alacritty_commands" \
"*::: :->alacritty" \
&& ret=0
@@ -48,8 +48,8 @@ _alacritty() {
_arguments "${_arguments_options[@]}" \
'-s+[IPC socket connection path override]:SOCKET:_files' \
'--socket=[IPC socket connection path override]:SOCKET:_files' \
-'-h[Print help information]' \
-'--help[Print help information]' \
+'-h[Print help]' \
+'--help[Print help]' \
":: :_alacritty__msg_commands" \
"*::: :->msg" \
&& ret=0
@@ -65,12 +65,14 @@ _arguments "${_arguments_options[@]}" \
'--working-directory=[Start the shell in the specified working directory]:WORKING_DIRECTORY:_files' \
'*-e+[Command and args to execute (must be last argument)]:COMMAND: ' \
'*--command=[Command and args to execute (must be last argument)]:COMMAND: ' \
-'-T+[Defines the window title \[default: Alacritty\]]:TITLE: ' \
-'--title=[Defines the window title \[default: Alacritty\]]:TITLE: ' \
-'--class=[Defines window class/app_id on X11/Wayland \[default: Alacritty\]]:general> | <general>,<instance: ' \
+'-T+[Defines the window title \[default\: Alacritty\]]:TITLE: ' \
+'--title=[Defines the window title \[default\: Alacritty\]]:TITLE: ' \
+'--class=[Defines window class/app_id on X11/Wayland \[default\: Alacritty\]]:general> | <general>,<instance: ' \
+'*-o+[Override configuration file options \[example\: '\''cursor.style="Beam"'\''\]]:OPTION: ' \
+'*--option=[Override configuration file options \[example\: '\''cursor.style="Beam"'\''\]]:OPTION: ' \
'--hold[Remain open after child process exit]' \
-'-h[Print help information]' \
-'--help[Print help information]' \
+'-h[Print help]' \
+'--help[Print help]' \
&& ret=0
;;
(config)
@@ -79,58 +81,196 @@ _arguments "${_arguments_options[@]}" \
'--window-id=[Window ID for the new config]:WINDOW_ID: ' \
'()-r[Clear all runtime configuration changes]' \
'()--reset[Clear all runtime configuration changes]' \
-'-h[Print help information]' \
-'--help[Print help information]' \
-'*::options -- Configuration file options \[example\: cursor.style=Beam\]:' \
+'-h[Print help (see more with '\''--help'\'')]' \
+'--help[Print help (see more with '\''--help'\'')]' \
+'*::options -- Configuration file options \[example\: '\''cursor.style="Beam"'\''\]:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
-'*::subcommand -- The subcommand whose help message to display:' \
+":: :_alacritty__msg__help_commands" \
+"*::: :->help" \
+&& ret=0
+
+ case $state in
+ (help)
+ words=($line[1] "${words[@]}")
+ (( CURRENT += 1 ))
+ curcontext="${curcontext%:*:*}:alacritty-msg-help-command-$line[1]:"
+ case $line[1] in
+ (create-window)
+_arguments "${_arguments_options[@]}" \
+&& ret=0
+;;
+(config)
+_arguments "${_arguments_options[@]}" \
+&& ret=0
+;;
+(help)
+_arguments "${_arguments_options[@]}" \
+&& ret=0
+;;
+ esac
+ ;;
+esac
+;;
+ esac
+ ;;
+esac
+;;
+(migrate)
+_arguments "${_arguments_options[@]}" \
+'-c+[Path to the configuration file]:CONFIG_FILE:_files' \
+'--config-file=[Path to the configuration file]:CONFIG_FILE:_files' \
+'-d[Only output TOML config to STDOUT]' \
+'--dry-run[Only output TOML config to STDOUT]' \
+'-i[Do not recurse over imports]' \
+'--skip-imports[Do not recurse over imports]' \
+'--skip-renames[Do not move renamed fields to their new location]' \
+'-s[Do not output to STDOUT]' \
+'--silent[Do not output to STDOUT]' \
+'-h[Print help]' \
+'--help[Print help]' \
+&& ret=0
+;;
+(help)
+_arguments "${_arguments_options[@]}" \
+":: :_alacritty__help_commands" \
+"*::: :->help" \
+&& ret=0
+
+ case $state in
+ (help)
+ words=($line[1] "${words[@]}")
+ (( CURRENT += 1 ))
+ curcontext="${curcontext%:*:*}:alacritty-help-command-$line[1]:"
+ case $line[1] in
+ (msg)
+_arguments "${_arguments_options[@]}" \
+":: :_alacritty__help__msg_commands" \
+"*::: :->msg" \
+&& ret=0
+
+ case $state in
+ (msg)
+ words=($line[1] "${words[@]}")
+ (( CURRENT += 1 ))
+ curcontext="${curcontext%:*:*}:alacritty-help-msg-command-$line[1]:"
+ case $line[1] in
+ (create-window)
+_arguments "${_arguments_options[@]}" \
+&& ret=0
+;;
+(config)
+_arguments "${_arguments_options[@]}" \
&& ret=0
;;
esac
;;
esac
;;
+(migrate)
+_arguments "${_arguments_options[@]}" \
+&& ret=0
+;;
(help)
_arguments "${_arguments_options[@]}" \
-'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
esac
;;
esac
+;;
+ esac
+ ;;
+esac
}
(( $+functions[_alacritty_commands] )) ||
_alacritty_commands() {
local commands; commands=(
'msg:Send a message to the Alacritty socket' \
+'migrate:Migrate the configuration file' \
'help:Print this message or the help of the given subcommand(s)' \
)
_describe -t commands 'alacritty commands' commands "$@"
}
+(( $+functions[_alacritty__help__msg__config_commands] )) ||
+_alacritty__help__msg__config_commands() {
+ local commands; commands=()
+ _describe -t commands 'alacritty help msg config commands' commands "$@"
+}
(( $+functions[_alacritty__msg__config_commands] )) ||
_alacritty__msg__config_commands() {
local commands; commands=()
_describe -t commands 'alacritty msg config commands' commands "$@"
}
+(( $+functions[_alacritty__msg__help__config_commands] )) ||
+_alacritty__msg__help__config_commands() {
+ local commands; commands=()
+ _describe -t commands 'alacritty msg help config commands' commands "$@"
+}
+(( $+functions[_alacritty__help__msg__create-window_commands] )) ||
+_alacritty__help__msg__create-window_commands() {
+ local commands; commands=()
+ _describe -t commands 'alacritty help msg create-window commands' commands "$@"
+}
(( $+functions[_alacritty__msg__create-window_commands] )) ||
_alacritty__msg__create-window_commands() {
local commands; commands=()
_describe -t commands 'alacritty msg create-window commands' commands "$@"
}
+(( $+functions[_alacritty__msg__help__create-window_commands] )) ||
+_alacritty__msg__help__create-window_commands() {
+ local commands; commands=()
+ _describe -t commands 'alacritty msg help create-window commands' commands "$@"
+}
(( $+functions[_alacritty__help_commands] )) ||
_alacritty__help_commands() {
- local commands; commands=()
+ local commands; commands=(
+'msg:Send a message to the Alacritty socket' \
+'migrate:Migrate the configuration file' \
+'help:Print this message or the help of the given subcommand(s)' \
+ )
_describe -t commands 'alacritty help commands' commands "$@"
}
+(( $+functions[_alacritty__help__help_commands] )) ||
+_alacritty__help__help_commands() {
+ local commands; commands=()
+ _describe -t commands 'alacritty help help commands' commands "$@"
+}
(( $+functions[_alacritty__msg__help_commands] )) ||
_alacritty__msg__help_commands() {
- local commands; commands=()
+ local commands; commands=(
+'create-window:Create a new window in the same Alacritty process' \
+'config:Update the Alacritty configuration' \
+'help:Print this message or the help of the given subcommand(s)' \
+ )
_describe -t commands 'alacritty msg help commands' commands "$@"
}
+(( $+functions[_alacritty__msg__help__help_commands] )) ||
+_alacritty__msg__help__help_commands() {
+ local commands; commands=()
+ _describe -t commands 'alacritty msg help help commands' commands "$@"
+}
+(( $+functions[_alacritty__help__migrate_commands] )) ||
+_alacritty__help__migrate_commands() {
+ local commands; commands=()
+ _describe -t commands 'alacritty help migrate commands' commands "$@"
+}
+(( $+functions[_alacritty__migrate_commands] )) ||
+_alacritty__migrate_commands() {
+ local commands; commands=()
+ _describe -t commands 'alacritty migrate commands' commands "$@"
+}
+(( $+functions[_alacritty__help__msg_commands] )) ||
+_alacritty__help__msg_commands() {
+ local commands; commands=(
+'create-window:Create a new window in the same Alacritty process' \
+'config:Update the Alacritty configuration' \
+ )
+ _describe -t commands 'alacritty help msg commands' commands "$@"
+}
(( $+functions[_alacritty__msg_commands] )) ||
_alacritty__msg_commands() {
local commands; commands=(
@@ -141,4 +281,8 @@ _alacritty__msg_commands() {
_describe -t commands 'alacritty msg commands' commands "$@"
}
-_alacritty "$@"
+if [ "$funcstack[1]" = "_alacritty" ]; then
+ _alacritty "$@"
+else
+ compdef _alacritty alacritty
+fi
diff --git a/extra/completions/alacritty.bash b/extra/completions/alacritty.bash
index 60025f5f..c1546f50 100644
--- a/extra/completions/alacritty.bash
+++ b/extra/completions/alacritty.bash
@@ -1,5 +1,5 @@
_alacritty() {
- local i cur prev opts cmds
+ local i cur prev opts cmd
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
@@ -8,21 +8,51 @@ _alacritty() {
for i in ${COMP_WORDS[@]}
do
- case "${i}" in
- "$1")
+ case "${cmd},${i}" in
+ ",$1")
cmd="alacritty"
;;
- config)
- cmd+="__config"
+ alacritty,help)
+ cmd="alacritty__help"
;;
- create-window)
- cmd+="__create__window"
+ alacritty,migrate)
+ cmd="alacritty__migrate"
;;
- help)
- cmd+="__help"
+ alacritty,msg)
+ cmd="alacritty__msg"
;;
- msg)
- cmd+="__msg"
+ alacritty__help,help)
+ cmd="alacritty__help__help"
+ ;;
+ alacritty__help,migrate)
+ cmd="alacritty__help__migrate"
+ ;;
+ alacritty__help,msg)
+ cmd="alacritty__help__msg"
+ ;;
+ alacritty__help__msg,config)
+ cmd="alacritty__help__msg__config"
+ ;;
+ alacritty__help__msg,create-window)
+ cmd="alacritty__help__msg__create__window"
+ ;;
+ alacritty__msg,config)
+ cmd="alacritty__msg__config"
+ ;;
+ alacritty__msg,create-window)
+ cmd="alacritty__msg__create__window"
+ ;;
+ alacritty__msg,help)
+ cmd="alacritty__msg__help"
+ ;;
+ alacritty__msg__help,config)
+ cmd="alacritty__msg__help__config"
+ ;;
+ alacritty__msg__help,create-window)
+ cmd="alacritty__msg__help__create__window"
+ ;;
+ alacritty__msg__help,help)
+ cmd="alacritty__msg__help__help"
;;
*)
;;
@@ -31,7 +61,7 @@ _alacritty() {
case "${cmd}" in
alacritty)
- opts="-h -V -q -v -o -e -T --help --version --print-events --ref-test --embed --config-file --socket --option --working-directory --hold --command --title --class msg help"
+ opts="-q -v -e -T -o -h -V --print-events --ref-test --embed --config-file --socket --working-directory --hold --command --title --class --option --help --version msg migrate help"
if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
return 0
@@ -49,14 +79,6 @@ _alacritty() {
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
- --option)
- COMPREPLY=($(compgen -f "${cur}"))
- return 0
- ;;
- -o)
- COMPREPLY=($(compgen -f "${cur}"))
- return 0
- ;;
--working-directory)
COMPREPLY=($(compgen -f "${cur}"))
return 0
@@ -81,6 +103,14 @@ _alacritty() {
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
+ --option)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -o)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
*)
COMPREPLY=()
;;
@@ -89,12 +119,104 @@ _alacritty() {
return 0
;;
alacritty__help)
- opts="<SUBCOMMAND>..."
+ opts="msg migrate help"
+ if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ fi
+ case "${prev}" in
+ *)
+ COMPREPLY=()
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ ;;
+ alacritty__help__help)
+ opts=""
+ if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ fi
+ case "${prev}" in
+ *)
+ COMPREPLY=()
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ ;;
+ alacritty__help__migrate)
+ opts=""
+ if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ fi
+ case "${prev}" in
+ *)
+ COMPREPLY=()
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ ;;
+ alacritty__help__msg)
+ opts="create-window config"
+ if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ fi
+ case "${prev}" in
+ *)
+ COMPREPLY=()
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ ;;
+ alacritty__help__msg__config)
+ opts=""
+ if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ fi
+ case "${prev}" in
+ *)
+ COMPREPLY=()
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ ;;
+ alacritty__help__msg__create__window)
+ opts=""
+ if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ fi
+ case "${prev}" in
+ *)
+ COMPREPLY=()
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ ;;
+ alacritty__migrate)
+ opts="-c -d -i -s -h --config-file --dry-run --skip-imports --skip-renames --silent --help"
if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
return 0
fi
case "${prev}" in
+ --config-file)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -c)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
*)
COMPREPLY=()
;;
@@ -147,7 +269,7 @@ _alacritty() {
return 0
;;
alacritty__msg__create__window)
- opts="-e -T -h --working-directory --hold --command --title --class --help"
+ opts="-e -T -o -h --working-directory --hold --command --title --class --option --help"
if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
return 0
@@ -177,6 +299,14 @@ _alacritty() {
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
+ --option)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -o)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
*)
COMPREPLY=()
;;
@@ -185,7 +315,7 @@ _alacritty() {
return 0
;;
alacritty__msg__help)
- opts="<SUBCOMMAND>..."
+ opts="create-window config help"
if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
return 0
@@ -198,7 +328,49 @@ _alacritty() {
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
return 0
;;
+ alacritty__msg__help__config)
+ opts=""
+ if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ fi
+ case "${prev}" in
+ *)
+ COMPREPLY=()
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ ;;
+ alacritty__msg__help__create__window)
+ opts=""
+ if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ fi
+ case "${prev}" in
+ *)
+ COMPREPLY=()
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ ;;
+ alacritty__msg__help__help)
+ opts=""
+ if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ fi
+ case "${prev}" in
+ *)
+ COMPREPLY=()
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
+ return 0
+ ;;
esac
}
-complete -F _alacritty -o bashdefault -o default alacritty
+complete -F _alacritty -o nosort -o bashdefault -o default alacritty
diff --git a/extra/completions/alacritty.fish b/extra/completions/alacritty.fish
index 2ff7c1f1..72609f70 100644
--- a/extra/completions/alacritty.fish
+++ b/extra/completions/alacritty.fish
@@ -1,22 +1,23 @@
complete -c alacritty -n "__fish_use_subcommand" -l embed -d 'X11 window ID to embed Alacritty within (decimal or hexadecimal with "0x" prefix)' -r
-complete -c alacritty -n "__fish_use_subcommand" -l config-file -d 'Specify alternative configuration file [default: $XDG_CONFIG_HOME/alacritty/alacritty.yml]' -r -F
+complete -c alacritty -n "__fish_use_subcommand" -l config-file -d 'Specify alternative configuration file [default: $XDG_CONFIG_HOME/alacritty/alacritty.toml]' -r -F
complete -c alacritty -n "__fish_use_subcommand" -l socket -d 'Path for IPC socket creation' -r -F
-complete -c alacritty -n "__fish_use_subcommand" -s o -l option -d 'Override configuration file options [example: cursor.style=Beam]' -r
complete -c alacritty -n "__fish_use_subcommand" -l working-directory -d 'Start the shell in the specified working directory' -r -F
complete -c alacritty -n "__fish_use_subcommand" -s e -l command -d 'Command and args to execute (must be last argument)' -r
complete -c alacritty -n "__fish_use_subcommand" -s T -l title -d 'Defines the window title [default: Alacritty]' -r
complete -c alacritty -n "__fish_use_subcommand" -l class -d 'Defines window class/app_id on X11/Wayland [default: Alacritty]' -r
-complete -c alacritty -n "__fish_use_subcommand" -s h -l help -d 'Print help information'
-complete -c alacritty -n "__fish_use_subcommand" -s V -l version -d 'Print version information'
-complete -c alacritty -n "__fish_use_subcommand" -l print-events -d 'Print all events to stdout'
+complete -c alacritty -n "__fish_use_subcommand" -s o -l option -d 'Override configuration file options [example: \'cursor.style="Beam"\']' -r
+complete -c alacritty -n "__fish_use_subcommand" -l print-events -d 'Print all events to STDOUT'
complete -c alacritty -n "__fish_use_subcommand" -l ref-test -d 'Generates ref test'
complete -c alacritty -n "__fish_use_subcommand" -s q -d 'Reduces the level of verbosity (the min level is -qq)'
complete -c alacritty -n "__fish_use_subcommand" -s v -d 'Increases the level of verbosity (the max level is -vvv)'
complete -c alacritty -n "__fish_use_subcommand" -l hold -d 'Remain open after child process exit'
+complete -c alacritty -n "__fish_use_subcommand" -s h -l help -d 'Print help'
+complete -c alacritty -n "__fish_use_subcommand" -s V -l version -d 'Print version'
complete -c alacritty -n "__fish_use_subcommand" -f -a "msg" -d 'Send a message to the Alacritty socket'
+complete -c alacritty -n "__fish_use_subcommand" -f -a "migrate" -d 'Migrate the configuration file'
complete -c alacritty -n "__fish_use_subcommand" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -s s -l socket -d 'IPC socket connection path override' -r -F
-complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help information'
+complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "create-window" -d 'Create a new window in the same Alacritty process'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "config" -d 'Update the Alacritty configuration'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
@@ -24,8 +25,23 @@ complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subco
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s e -l command -d 'Command and args to execute (must be last argument)' -r
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s T -l title -d 'Defines the window title [default: Alacritty]' -r
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -l class -d 'Defines window class/app_id on X11/Wayland [default: Alacritty]' -r
+complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s o -l option -d 'Override configuration file options [example: \'cursor.style="Beam"\']' -r
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -l hold -d 'Remain open after child process exit'
-complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s h -l help -d 'Print help information'
+complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s h -l help -d 'Print help'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s w -l window-id -d 'Window ID for the new config' -r
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s r -l reset -d 'Clear all runtime configuration changes'
-complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s h -l help -d 'Print help information'
+complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s h -l help -d 'Print help (see more with \'--help\')'
+complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "create-window" -d 'Create a new window in the same Alacritty process'
+complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "config" -d 'Update the Alacritty configuration'
+complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
+complete -c alacritty -n "__fish_seen_subcommand_from migrate" -s c -l config-file -d 'Path to the configuration file' -r -F
+complete -c alacritty -n "__fish_seen_subcommand_from migrate" -s d -l dry-run -d 'Only output TOML config to STDOUT'
+complete -c alacritty -n "__fish_seen_subcommand_from migrate" -s i -l skip-imports -d 'Do not recurse over imports'
+complete -c alacritty -n "__fish_seen_subcommand_from migrate" -l skip-renames -d 'Do not move renamed fields to their new location'
+complete -c alacritty -n "__fish_seen_subcommand_from migrate" -s s -l silent -d 'Do not output to STDOUT'
+complete -c alacritty -n "__fish_seen_subcommand_from migrate" -s h -l help -d 'Print help'
+complete -c alacritty -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from migrate; and not __fish_seen_subcommand_from help" -f -a "msg" -d 'Send a message to the Alacritty socket'
+complete -c alacritty -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from migrate; and not __fish_seen_subcommand_from help" -f -a "migrate" -d 'Migrate the configuration file'
+complete -c alacritty -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from migrate; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
+complete -c alacritty -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config" -f -a "create-window" -d 'Create a new window in the same Alacritty process'
+complete -c alacritty -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config" -f -a "config" -d 'Update the Alacritty configuration'
diff --git a/extra/linux/Alacritty.desktop b/extra/linux/Alacritty.desktop
index 0872a764..a99ef733 100644
--- a/extra/linux/Alacritty.desktop
+++ b/extra/linux/Alacritty.desktop
@@ -9,6 +9,7 @@ Categories=System;TerminalEmulator;
Name=Alacritty
GenericName=Terminal
Comment=A fast, cross-platform, OpenGL terminal emulator
+StartupNotify=true
StartupWMClass=Alacritty
Actions=New;
diff --git a/extra/man/alacritty-bindings.5.scd b/extra/man/alacritty-bindings.5.scd
new file mode 100644
index 00000000..3de2986e
--- /dev/null
+++ b/extra/man/alacritty-bindings.5.scd
@@ -0,0 +1,577 @@
+ALACRITTY-BINDINGS(5)
+
+# NAME
+
+Alacritty Bindings - Default configuration file bindings.
+
+# SYNOPSIS
+
+This page documents all key and mouse bindings for the default Alacritty
+configuration. See *alacritty*(5) for full configuration format documentation.
+
+# MOUSE BINDINGS
+
+[[ *mouse*
+:[ *mods*
+:[ *action*
+| _"Right"_
+:[
+: _"ExpandSelection"_
+| _"Right"_
+: _"Control"_
+: _"ExpandSelection"_
+| _"Middle"_
+: _"~Vi"_
+: _"PasteSelection"_
+
+# KEY BINDINGS
+
+[[ *key*
+:[ *mods*
+:[ *mode*
+:[ *action* / *chars*
+| _"Paste"_
+:[
+:[
+: _"Paste"_
+| _"Copy"_
+:[
+:[
+: _"Copy"_
+| _"L"_
+: _"Control"_
+:[
+: _"ClearLogNotice"_
+| _"Paste"_
+:[
+: _"Vi|Search"_
+: _"Paste"_
+| _"L"_
+: _"Control"_
+: _"~Vi|~Search"_
+: *chars*: _"\\u000c"_
+| _"PageUp"_
+: _"Shift"_
+: _"~Alt"_
+: _"ScrollPageUp"_
+| _"PageDown"_
+: _"Shift"_
+: _"~Alt"_
+: _"ScrollPageDown"_
+| _"Home"_
+: _"Shift"_
+: _"~Alt"_
+: _"ScrollToTop"_
+| _"End"_
+: _"Shift"_
+: _"~Alt"_
+: _"ScrollToBottom"_
+
+## Vi Mode
+
+[[ *key*
+:[ *mods*
+:[ *mode*
+:[ *action*
+| _"Space"_
+: _"Shift|Control"_
+: _"~Search"_
+: _"ToggleViMode"_
+| _"Space"_
+: _"Shift|Control"_
+: _"Vi|~Search"_
+: _"ScrollToBottom"_
+| _"Escape"_
+:[
+: _"Vi|~Search"_
+: _"ClearSelection"_
+| _"I"_
+:[
+: _"Vi|~Search"_
+: _"ToggleViMode"_
+| _"I"_
+:[
+: _"Vi|~Search"_
+: _"ScrollToBottom"_
+| _"C"_
+: _"Control"_
+: _"Vi|~Search"_
+: _"ToggleViMode"_
+| _"Y"_
+: _"Control"_
+: _"Vi|~Search"_
+: _"ScrollLineUp"_
+| _"E"_
+: _"Control"_
+: _"Vi|~Search"_
+: _"ScrollLineDown"_
+| _"G"_
+:[
+: _"Vi|~Search"_
+: _"ScrollToTop"_
+| _"G"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"ScrollToBottom"_
+| _"B"_
+: _"Control"_
+: _"Vi|~Search"_
+: _"ScrollPageUp"_
+| _"F"_
+: _"Control"_
+: _"Vi|~Search"_
+: _"ScrollPageDown"_
+| _"U"_
+: _"Control"_
+: _"Vi|~Search"_
+: _"ScrollHalfPageUp"_
+| _"D"_
+: _"Control"_
+: _"Vi|~Search"_
+: _"ScrollHalfPageDown"_
+| _"Y"_
+:[
+: _"Vi|~Search"_
+: _"Copy"_
+| _"Y"_
+:[
+: _"Vi|~Search"_
+: _"ClearSelection"_
+| _"Copy"_
+:[
+: _"Vi|~Search"_
+: _"ClearSelection"_
+| _"V"_
+:[
+: _"Vi|~Search"_
+: _"ToggleNormalSelection"_
+| _"V"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"ToggleLineSelection"_
+| _"V"_
+: _"Control"_
+: _"Vi|~Search"_
+: _"ToggleBlockSelection"_
+| _"V"_
+: _"Alt"_
+: _"Vi|~Search"_
+: _"ToggleSemanticSelection"_
+| _"Enter"_
+:[
+: _"Vi|~Search"_
+: _"Open"_
+| _"Z"_
+:[
+: _"Vi|~Search"_
+: _"CenterAroundViCursor"_
+| _"F"_
+:[
+: _"Vi|~Search"_
+: _"InlineSearchForward"_
+| _"F"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"InlineSearchBackward"_
+| _"T"_
+:[
+: _"Vi|~Search"_
+: _"InlineSearchForwardShort"_
+| _"T"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"InlineSearchBackwardShort"_
+| _";"_
+:[
+: _"Vi|~Search"_
+: _"InlineSearchNext"_
+| _","_
+:[
+: _"Vi|~Search"_
+: _"InlineSearchPrevious"_
+| _"K"_
+:[
+: _"Vi|~Search"_
+: _"Up"_
+| _"J"_
+:[
+: _"Vi|~Search"_
+: _"Down"_
+| _"H"_
+:[
+: _"Vi|~Search"_
+: _"Left"_
+| _"L"_
+:[
+: _"Vi|~Search"_
+: _"Right"_
+| _"ArrowUp"_
+:[
+: _"Vi|~Search"_
+: _"Up"_
+| _"ArrowDown"_
+:[
+: _"Vi|~Search"_
+: _"Down"_
+| _"ArrowLeft"_
+:[
+: _"Vi|~Search"_
+: _"Left"_
+| _"ArrowRight"_
+:[
+: _"Vi|~Search"_
+: _"Right"_
+| _"0"_
+:[
+: _"Vi|~Search"_
+: _"First"_
+| _"$"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"Last"_
+| _"Home"_
+:[
+: _"Vi|~Search"_
+: _"First"_
+| _"End"_
+:[
+: _"Vi|~Search"_
+: _"Last"_
+| _"^"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"FirstOccupied"_
+| _"H"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"High"_
+| _"M"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"Middle"_
+| _"L"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"Low"_
+| _"B"_
+:[
+: _"Vi|~Search"_
+: _"SemanticLeft"_
+| _"W"_
+:[
+: _"Vi|~Search"_
+: _"SemanticRight"_
+| _"E"_
+:[
+: _"Vi|~Search"_
+: _"SemanticRightEnd"_
+| _"B"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"WordLeft"_
+| _"W"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"WordRight"_
+| _"E"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"WordRightEnd"_
+| _"%"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"Bracket"_
+| _"/"_
+:[
+: _"Vi|~Search"_
+: _"SearchForward"_
+| _"?"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"SearchBackward"_
+| _"N"_
+:[
+: _"Vi|~Search"_
+: _"SearchNext"_
+| _"N"_
+: _"Shift"_
+: _"Vi|~Search"_
+: _"SearchPrevious"_
+
+
+## Search Mode
+
+[[ *key*
+:[ *mods*
+:[ *mode*
+:[ *action*
+| _"Enter"_
+:[
+: _"Search|Vi"_
+: _"SearchConfirm"_
+| _"Escape"_
+:[
+: _"Search"_
+: _"SearchCancel"_
+| _"C"_
+: _"Control"_
+: _"Search"_
+: _"SearchCancel"_
+| _"U"_
+: _"Control"_
+: _"Search"_
+: _"SearchClear"_
+| _"W"_
+: _"Control"_
+: _"Search"_
+: _"SearchDeleteWord"_
+| _"P"_
+: _"Control"_
+: _"Search"_
+: _"SearchHistoryPrevious"_
+| _"N"_
+: _"Control"_
+: _"Search"_
+: _"SearchHistoryNext"_
+| _"ArrowUp"_
+:[
+: _"Search"_
+: _"SearchHistoryPrevious"_
+| _"ArrowDown"_
+:[
+: _"Search"_
+: _"SearchHistoryNext"_
+| _"Enter"_
+:[
+: _"Search|~Vi"_
+: _"SearchFocusNext"_
+
+## Windows, Linux, and BSD only
+
+[[ *key*
+:[ *mods*
+:[ *mode*
+:[ *action*
+| _"V"_
+: _"Control|Shift"_
+: _"~Vi"_
+: _"Paste"_
+| _"V"_
+: _"Control|Shift"_
+: _"Vi|Search"_
+: _"Paste"_
+| _"C"_
+: _"Control|Shift"_
+:[
+: _"Copy"_
+| _"F"_
+: _"Control|Shift"_
+: _"~Search"_
+: _"SearchForward"_
+| _"B"_
+: _"Control|Shift"_
+: _"~Search"_
+: _"SearchBackward"_
+| _"C"_
+: _"Control|Shift"_
+: _"Vi|~Search"_
+: _"ClearSelection"_
+| _"Insert"_
+: _"Shift"_
+:[
+: _"PasteSelection"_
+| _"0"_
+: _"Control"_
+:[
+: _"ResetFontSize"_
+| _"="_
+: _"Control"_
+:[
+: _"IncreaseFontSize"_
+| _"+"_
+: _"Control"_
+:[
+: _"IncreaseFontSize"_
+| _"NumpadAdd"_
+: _"Control"_
+:[
+: _"IncreaseFontSize"_
+| _"-"_
+: _"Control"_
+:[
+: _"DecreaseFontSize"_
+| _"NumpadSubtract"_
+: _"Control"_
+:[
+: _"DecreaseFontSize"_
+
+## Windows only
+
+[[ *key*
+:[ *mods*
+:[ *mode*
+:[ *action*
+| _"Enter"_
+: _"Alt"_
+:[
+: _"ToggleFullscreen"_
+
+## macOS only
+
+[[ *key*
+:[ *mods*
+:[ *mode*
+:[ *action* / *chars*
+| _"K"_
+: _"Command"_
+: _"~Vi|~Search"_
+: *chars*: _"\\u000c"_
+| _"K"_
+: _"Command"_
+: _"~Vi|~Search"_
+: _"ClearHistory"_
+| _"0"_
+: _"Command"_
+:[
+: _"ResetFontSize"_
+| _"="_
+: _"Command"_
+:[
+: _"IncreaseFontSize"_
+| _"+"_
+: _"Command"_
+:[
+: _"IncreaseFontSize"_
+| _"NumpadAdd"_
+: _"Command"_
+:[
+: _"IncreaseFontSize"_
+| _"-"_
+: _"Command"_
+:[
+: _"DecreaseFontSize"_
+| _"NumpadSubtract"_
+: _"Command"_
+:[
+: _"DecreaseFontSize"_
+| _"V"_
+: _"Command"_
+: _"~Vi"_
+: _"Paste"_
+| _"V"_
+: _"Command"_
+: _"Vi|Search"_
+: _"Paste"_
+| _"C"_
+: _"Command"_
+:[
+: _"Copy"_
+| _"C"_
+: _"Command"_
+: _"Vi|~Search"_
+: _"ClearSelection"_
+| _"H"_
+: _"Command"_
+:[
+: _"Hide"_
+| _"H"_
+: _"Command|Alt"_
+:[
+: _"HideOtherApplications"_
+| _"M"_
+: _"Command"_
+:[
+: _"Minimize"_
+| _"Q"_
+: _"Command"_
+:[
+: _"Quit"_
+| _"W"_
+: _"Command"_
+:[
+: _"Quit"_
+| _"N"_
+: _"Command"_
+:[
+: _"CreateNewWindow"_
+| _"T"_
+: _"Command"_
+:[
+: _"CreateNewTab"_
+| _"F"_
+: _"Command|Control"_
+:[
+: _"ToggleFullscreen"_
+| _"F"_
+: _"Command"_
+: _"~Search"_
+: _"SearchForward"_
+| _"B"_
+: _"Command"_
+: _"~Search"_
+: _"SearchBackward"_
+| _"]"_
+: _"Command|Shift"_
+:[
+: _"SelectNextTab"_
+| _"["_
+: _"Command|Shift"_
+:[
+: _"SelectPreviousTab"_
+| _"Tab"_
+: _"Command"_
+:[
+: _"SelectNextTab"_
+| _"Tab"_
+: _"Command|Shift"_
+:[
+: _"SelectPreviousTab"_
+| _"1"_
+: _"Command"_
+:[
+: _"SelectTab1"_
+| _"2"_
+: _"Command"_
+:[
+: _"SelectTab2"_
+| _"3"_
+: _"Command"_
+:[
+: _"SelectTab3"_
+| _"4"_
+: _"Command"_
+:[
+: _"SelectTab4"_
+| _"5"_
+: _"Command"_
+:[
+: _"SelectTab5"_
+| _"6"_
+: _"Command"_
+:[
+: _"SelectTab6"_
+| _"7"_
+: _"Command"_
+:[
+: _"SelectTab7"_
+| _"8"_
+: _"Command"_
+:[
+: _"SelectTab8"_
+| _"9"_
+: _"Command"_
+:[
+: _"SelectLastTab"_
+
+# SEE ALSO
+
+*alacritty*(1), *alacritty-msg*(1), *alacritty*(5)
+
+# BUGS
+
+Found a bug? Please report it at _https://github.com/alacritty/alacritty/issues_.
+
+# MAINTAINERS
+
+- Christian Duerr <contact@christianduerr.com>
+- Kirill Chibisov <contact@kchibisov.com>
diff --git a/extra/man/alacritty-msg.1.scd b/extra/man/alacritty-msg.1.scd
new file mode 100644
index 00000000..7a14dd1d
--- /dev/null
+++ b/extra/man/alacritty-msg.1.scd
@@ -0,0 +1,92 @@
+ALACRITTY-MSG(1)
+
+# NAME
+
+alacritty-msg - Send messages to Alacritty.
+
+# SYNOPSIS
+
+This command communicates with running Alacritty instances through a socket,
+making it possible to control Alacritty without directly accessing it.
+
+# OPTIONS
+
+*-s, --socket* _<SOCKET>_
+
+ Path for IPC socket communication.
+
+# MESSAGES
+
+*create-window*
+
+ Create a new window in the same Alacritty process.
+
+ *FLAGS*
+ *--hold*
+
+ Remain open after child process exits.
+
+ *OPTIONS*
+ *--working-directory* _<WORKING_DIRECTORY>_
+
+ Start the shell in the specified working directory.
+
+ *-T, --title* _<TITLE>_
+
+ Defines the window title.
+
+ Default: _Alacritty_
+
+ *--class* _<GENERAL>_ | _<GENERAL>_,_<INSTANCE>_
+
+ Defines window class/app_id on X11/Wayland.
+
+ Default: _Alacritty,Alacritty_
+
+ *-o, --option* _<OPTION>..._
+
+ Override configuration file options.
+
+ Example: _alacritty msg create-window -o 'cursor.style="Beam"'_
+
+ *-e, --command* _<COMMAND>..._
+
+ Command and args to execute (must be last argument).
+
+*config*
+
+ Update the Alacritty configuration.
+
+ *ARGS*
+ *<CONFIG_OPTIONS>...*
+
+ Configuration file options.
+
+ Example: _alacritty msg config 'cursor.style="Beam"'_
+
+ *FLAGS*
+ *-r, --reset*
+
+ Clear all runtime configuration changes.
+
+ *OPTIONS*
+ *-w, --window-id* _<WINDOW_ID>_
+
+ Window ID for the new config.
+
+ Use _-1_ to apply this change to all windows.
+
+ Default: _$ALACRITTY_WINDOW_ID_
+
+# SEE ALSO
+
+*alacritty*(1), *alacritty*(5), *alacritty-bindings*(5)
+
+# BUGS
+
+Found a bug? Please report it at _https://github.com/alacritty/alacritty/issues_.
+
+# MAINTAINERS
+
+- Christian Duerr <contact@christianduerr.com>
+- Kirill Chibisov <contact@kchibisov.com>
diff --git a/extra/man/alacritty.1.scd b/extra/man/alacritty.1.scd
new file mode 100644
index 00000000..b82ba08e
--- /dev/null
+++ b/extra/man/alacritty.1.scd
@@ -0,0 +1,141 @@
+ALACRITTY(1)
+
+# NAME
+
+Alacritty - A fast, cross-platform, OpenGL terminal emulator.
+
+# SYNOPSIS
+
+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.
+
+# FLAGS
+
+*-h, --help*
+
+ Prints help information.
+
+*--hold*
+
+ Remain open after child process exits.
+
+*--print-events*
+
+ Print all events to STDOUT.
+
+*-q*
+
+ Reduces the level of verbosity (the min level is *-qq*).
+
+*--ref-test*
+
+ Generates ref test
+
+*-v*
+
+ Increases the level of verbosity (the max level is *-vvv*).
+
+*-V, --version*
+
+ Prints version information.
+
+# OPTIONS
+
+*--class* _<GENERAL>_ | _<GENERAL>_,_<INSTANCE>_
+
+ Defines the window class hint on Linux.
+
+ When only the general class is passed, instance will be set to the same value.
+
+ On Wayland the general class sets the _app\_id_, while the instance class is ignored.
+
+ Default: _Alacritty,Alacritty_
+
+*-e, --command* _<COMMAND>..._
+
+ Command and args to execute (must be last argument).
+
+*--config-file* _<CONFIG_FILE>_
+
+ Specify alternative configuration file.
+
+ Alacritty looks for the configuration file at the following paths:
+ . _$XDG_CONFIG_HOME/alacritty/alacritty.toml_
+ . _$XDG_CONFIG_HOME/alacritty.toml_
+ . _$HOME/.config/alacritty/alacritty.toml_
+ . _$HOME/.alacritty.toml_
+
+ On Windows, the configuration file is located at _%APPDATA%\\alacritty\\alacritty.toml_.
+
+*--embed* _<PARENT>_
+
+ X11 window ID to embed Alacritty within (decimal or hexadecimal with _0x_ prefix).
+
+*-o, --option* _<OPTION>..._
+
+ Override configuration file options.
+
+ Example: _alacritty -o 'cursor.style="Beam"'_
+
+*--socket* _<SOCKET>_
+
+ Path for IPC socket creation.
+
+*-T, --title* _<TITLE>_
+
+ Defines the window title.
+
+ Default: _Alacritty_
+
+*--working-directory* _<WORKING_DIRECTORY>_
+
+ Start the shell in the specified working directory.
+
+# SUBCOMMANDS
+
+*msg*
+
+ Send IPC socket messages (see *alacritty-msg*(1)).
+
+*migrate*
+
+ Migrate the configuration file.
+
+ *-c, --config-file* _<CONFIG_FILE>_
+
+ Path to the configuration file.
+
+ *-d, --dry-run*
+
+ Only output TOML config to STDOUT.
+
+ *-i, --skip-imports*
+
+ Do not recurse over imports.
+
+ *--skip-renames*
+
+ Do not move renamed fields to their new location.
+
+ *-s, --silent*
+
+ Do not output to STDOUT.
+
+ *-h, --help*
+
+ Print help information.
+
+# SEE ALSO
+
+*alacritty-msg*(1), *alacritty*(5), *alacritty-bindings*(5)
+
+# BUGS
+
+Found a bug? Please report it at _https://github.com/alacritty/alacritty/issues_.
+
+# MAINTAINERS
+
+- Christian Duerr <contact@christianduerr.com>
+- Kirill Chibisov <contact@kchibisov.com>
diff --git a/extra/man/alacritty.5.scd b/extra/man/alacritty.5.scd
new file mode 100644
index 00000000..f42b74e3
--- /dev/null
+++ b/extra/man/alacritty.5.scd
@@ -0,0 +1,1040 @@
+ALACRITTY(5)
+
+# NAME
+
+Alacritty - TOML configuration file format.
+
+# SYNTAX
+
+Alacritty's configuration file uses the TOML format. The format's specification
+can be found at _https://toml.io/en/v1.0.0_.
+
+# GENERAL
+
+This section documents the root level of the configuration file.
+
+*import* = [_"<string>"_,]
+
+ Import additional configuration files.
+
+ Imports are loaded in order, skipping all missing files, with the importing
+ file being loaded last. If a field is already present in a previous import,
+ it will be replaced.
+
+ All imports must either be absolute paths starting with _/_, or paths
+ relative to the user's home directory starting with _~/_.
+
+ Example:
+ import = [++
+ _"~/.config/alacritty/base16-dark.toml"_,++
+ _"~/.config/alacritty/keybindings.toml"_,++
+]
+
+*shell* = _"<string>"_ | { program = _"<string>"_, args = [_"<string>"_,] }
+
+ You can set _shell.program_ to the path of your favorite shell, e.g.
+ _/bin/zsh_. Entries in _shell.args_ are passed as arguments to the shell.
+
+ Default:
+ Linux/BSD/macOS: _$SHELL_ or the user's login shell, if _$SHELL_ is unset++
+Windows: _"powershell"_
+
+ Example:
+ *[shell]*++
+program = _"/bin/zsh"_++
+args = [_"-l"_]
+
+*working_directory* = _"<string>"_ | _"None"_
+
+ Directory the shell is started in. When this is unset, or _"None"_, the
+ working directory of the parent process will be used.
+
+ Default: _"None"_
+
+*live_config_reload* = _true_ | _false_
+
+ Live config reload (changes require restart)
+
+ Default: _true_
+
+*ipc_socket* = _true_ | _false_ # _(unix only)_
+
+ Offer IPC using _alacritty msg_
+
+ Default: _true_
+
+# ENV
+
+All key-value pairs in the *[env]* section will be added as environment variables
+for any process spawned by Alacritty, including its shell. Some entries may
+override variables set by alacritty itself.
+
+Example:
+ *[env]*++
+WINIT_X11_SCALE_FACTOR = _"1.0"_
+
+# WINDOW
+
+This section documents the *[window]* table of the configuration file.
+
+*dimensions* = { columns = _<integer>_, lines = _<integer>_ }
+
+ Window dimensions (changes require restart).
+
+ Number of lines/columns (not pixels) in the terminal. Both lines and columns
+ must be non-zero for this to take effect. The number of columns must be at
+ least _2_, while using a value of _0_ for columns and lines will fall back
+ to the window manager's recommended size
+
+ Default: { columns = _0_, lines = _0_ }
+
+*position* = _"None"_ | { x = _<integer>_, y = _<integer>_ }
+
+ Window startup position.
+
+ Specified in number of pixels.
+
+ If the position is _"None"_, the window manager will handle placement.
+
+ Default: _"None"_
+
+*padding* = { x = _<integer>_, y = _<integer>_ }
+
+ Blank space added around the window in pixels. This padding is scaled
+ by DPI and the specified value is always added at both opposing sides.
+
+ Default: { x = _0_, y = _0_ }
+
+*dynamic_padding* = _true_ | _false_
+
+ Spread additional padding evenly around the terminal content.
+
+ Default: _false_
+
+*decorations* = _"Full"_ | _"None"_ | _"Transparent"_ | _"Buttonless"_
+
+ Window decorations.
+
+ *Full*
+ Borders and title bar.
+ *None*
+ Neither borders nor title bar.
+ *Transparent* _(macOS only)_
+ Title bar, transparent background and title bar buttons.
+ *Buttonless* _(macOS only)_
+ Title bar, transparent background and no title bar buttons.
+
+ Default: _"Full"_
+
+*opacity* = _<float>_
+
+ Background opacity as a floating point number from _0.0_ to _1.0_. The value
+ _0.0_ is completely transparent and _1.0_ is opaque.
+
+ Default: _1.0_
+
+*blur* = _true_ | _false_ # _(works on macOS/KDE Wayland)_
+
+ Request compositor to blur content behind transparent windows.
+
+ Default: _false_
+
+*startup_mode* = _"Windowed"_ | _"Maximized"_ | _"Fullscreen"_ | _"SimpleFullscreen"_
+
+ Startup mode (changes require restart)
+
+ *Windowed*
+ Regular window.
+ *Maximized*
+ The window will be maximized on startup.
+ *Fullscreen*
+ The window will be fullscreened on startup.
+ *SimpleFullscreen* _(macOS only)_
+ Same as _Fullscreen_, but you can stack windows on top.
+
+ Default: _"Windowed"_
+
+*title* = _"<string>"_
+
+ Window title.
+
+ Default: _"Alacritty"_
+
+*dynamic_title* = _true_ | _false_
+
+ Allow terminal applications to change Alacritty's window title.
+
+ Default: _true_
+
+*class* = { instance = _"<string>"_, general = _"<string>"_ } # _(Linux/BSD only)_
+
+ Window class.
+
+ On Wayland, *general* is used as _app\_id_ and *instance* is ignored.
+
+ Default: { instance = _"Alacritty"_, general = _"Alacritty"_ }
+
+*decorations_theme_variant* = _"Dark"_ | _"Light"_ | _"None"_
+
+ Override the variant of the System theme/GTK theme/Wayland client side
+ decorations. Set this to _"None"_ to use the system's default theme variant.
+
+ Default: _"None"_
+
+*resize_increments* = _true_ | _false_
+
+ Prefer resizing window by discrete steps equal to cell dimensions.
+
+ Default: _false_
+
+*option_as_alt* = _"OnlyLeft"_ | _"OnlyRight"_ | _"Both"_ | _"None"_ # _(macos only)_
+
+ Make _Option_ key behave as _Alt_.
+
+ Default: _"None"_
+
+Example:
+ *[window]*++
+padding = { x = _3_, y = _3_ }++
+dynamic_padding = _true_++
+opacity = _0.9_
+
+
+# SCROLLING
+
+This section documents the *[scrolling]* table of the configuration file.
+
+*history* = _<integer>_
+
+ Maximum number of lines in the scrollback buffer.++
+Specifying _0_ will disable scrolling.++
+Limited to _100000_.
+
+ Default: _10000_
+
+*multiplier* = _<integer>_
+
+ Number of line scrolled for every input scroll increment.
+
+ Default: _3_
+
+# FONT
+
+This section documents the *[font]* table of the configuration file.
+
+*normal* = { family = _"<string>"_, style = _"<string>"_ }
+
+ Default:
+ Linux/BSD: { family = _"monospace"_, style = _"Regular"_ }++
+Windows: { family = _"Consolas"_, style = _"Regular"_ }++
+macOS: { family = _"Menlo"_, style = _"Regular"_ }
+
+*bold* = { family = _"<string>"_, style = _"<string>"_ }
+
+ If the family is not specified, it will fall back to the value specified for
+ the normal font.
+
+ Default: { style = _"Bold"_ }
+
+*italic* = { family = _"<string>"_, style = _"<string>"_ }
+
+ If the family is not specified, it will fall back to the value specified for
+ the normal font.
+
+ Default: { style = _"Italic"_ }
+
+*bold_italic* = { family = _"<string>"_, style = _"<string>"_ }
+
+ If the family is not specified, it will fall back to the value specified for
+ the normal font.
+
+ Default: { style = _"Bold Italic"_ }
+
+*size* = _<float>_
+
+ Font size in points.
+
+ Default: _11.25_
+
+*offset* = { x = _<integer>_, y = _<integer>_ }
+
+ Offset is the extra space around each character. _y_ can be thought of as
+ modifying the line spacing, and _x_ as modifying the letter spacing.
+
+ Default: { x = _0_, y = _0_ }
+
+*glyph_offset* = { x = _<integer>_, y = _<integer>_ }
+
+ Glyph offset determines the locations of the glyphs within their cells with
+ the default being at the bottom. Increasing _x_ moves the glyph to the
+ right, increasing _y_ moves the glyph upward.
+
+*builtin_box_drawing* = _true_ | _false_
+
+ When _true_, Alacritty will use a custom built-in font for box drawing
+ characters (Unicode points _U+2500_ - _U+259F_), legacy computing symbols
+ (_U+1FB00_ - _U+1FB3B_), and powerline symbols (_U+E0B0_ - _U+E0B3_).
+
+ Default: _true_
+
+# COLORS
+
+This section documents the *[colors]* table of the configuration file.
+
+Colors are specified using their hexadecimal values with a _#_ prefix: _#RRGGBB_.
+
+*primary*
+
+ This section documents the *[colors.primary]* table of the configuration file.
+
+ *foreground* = _"<string>"_
+
+ Default: _"#d8d8d8"_
+
+ *background* = _"<string>"_
+
+ Default: _"#181818"_
+
+ *dim_foreground* = _"<string>"_
+
+ If this is not set, the color is automatically calculated based on the
+ foreground color.
+
+ Default: _"#828482"_
+
+ *bright_foreground* = _"<string>"_
+
+ This color is only used when _draw\_bold\_text\_with\_bright\_colors_ is
+ _true_.
+
+ If this is not set, the normal foreground will be used.
+
+ Default: _"None"_
+
+*cursor* = { text = _"<string>"_, cursor = _"<string>"_ }
+
+ Colors which should be used to draw the terminal cursor.
+
+ Allowed values are hexadecimal colors like _#ff00ff_, or
+ _CellForeground_/_CellBackground_, which references the affected cell.
+
+ Default: { text = _"CellBackground"_, cursor = _"CellForeground"_ }
+
+*vi_mode_cursor* = { text = _"<string>"_, cursor = _"<string>"_ }
+
+ Colors for the cursor when the vi mode is active.
+
+ Allowed values are hexadecimal colors like _#ff00ff_, or
+ _CellForeground_/_CellBackground_, which references the affected cell.
+
+ Default: { text = _"CellBackground"_, cursor = _"CellForeground"_ }
+
+*search*
+
+ This section documents the *[colors.search]* table of the configuration.
+
+ Allowed values are hexadecimal colors like _#ff00ff_, or
+ _CellForeground_/_CellBackground_, which references the affected cell.
+
+ *matches* = { foreground = _"<string>"_, background = _"<string>"_ }
+
+ Default: { foreground = _"#181818"_, background = _"#ac4242"_ }
+
+ *focused_match* = { foreground = _"<string>"_, background = _"<string>"_ }
+
+ Default: { foreground = _"#181818"_, background = _"#f4bf75"_ }
+
+*hints*
+
+ This section documents the *[colors.hints]* table of the configuration.
+
+ *start* = { foreground = _"<string>"_, background = _"<string>"_ }
+
+ First character in the hint label.
+
+ Allowed values are hexadecimal colors like _#ff00ff_, or
+ _CellForeground_/_CellBackground_, which references the affected cell.
+
+ Default: { foreground = _"#181818"_, background = _"#f4bf75"_ }
+
+ *end* = { foreground = _"<string>"_, background = _"<string>"_ }
+
+ All characters after the first one in the hint label.
+
+ Allowed values are hexadecimal colors like _#ff00ff_, or
+ _CellForeground_/_CellBackground_, which references the affected cell.
+
+ Default: { foreground = _"#181818"_, background = _"#ac4242"_ }
+
+*line_indicator* = { foreground = _"<string>"_, background = _"<string>"_ }
+
+ Color used for the indicator displaying the position in history during
+ search and vi mode.
+
+ Setting this to _"None"_ will use the opposing primary color.
+
+ Default: { foreground = _"None"_, background = _"None"_ }
+
+*footer_bar* = { foreground = _"<string>"_, background = _"<string>"_ }
+
+ Color used for the footer bar on the bottom, used by search regex input,
+ hyperlink URI preview, etc.
+
+ Default: { foreground = _"#181818"_, background = _"#d8d8d8"_ }
+
+*selection* = { text = _"<string>"_, background = _"<string>"_ }
+
+ Colors used for drawing selections.
+
+ Allowed values are hexadecimal colors like _#ff00ff_, or
+ _CellForeground_/_CellBackground_, which references the affected cell.
+
+ Default: { text = _"CellBackground"_, background = _"CellForeground"_ }
+
+*normal*
+
+ This section documents the *[colors.normal]* table of the configuration.
+
+ *black* = _"<string>"_
+ Default: _"#181818"_
+ *red* = _"<string>"_
+ Default: _"#ac4242"_
+ *green* = _"<string>"_
+ Default: _"#90a959"_
+ *yellow* = _"<string>"_
+ Default: _"#f4bf75"_
+ *blue* = _"<string>"_
+ Default: _"#6a9fb5"_
+ *magenta* = _"<string>"_
+ Default: _"#aa759f"_
+ *cyan* = _"<string>"_
+ Default: _"#75b5aa"_
+ *white* = _"<string>"_
+ Default: _"#d8d8d8"_
+
+*bright*
+
+ This section documents the *[colors.bright]* table of the configuration.
+
+ *black* = _"<string>"_
+ Default: _"#6b6b6b"_
+ *red* = _"<string>"_
+ Default: _"#c55555"_
+ *green* = _"<string>"_
+ Default: _"#aac474"_
+ *yellow* = _"<string>"_
+ Default: _"#feca88"_
+ *blue* = _"<string>"_
+ Default: _"#82b8c8"_
+ *magenta* = _"<string>"_
+ Default: _"#c28cb8"_
+ *cyan* = _"<string>"_
+ Default: _"#93d3c3"_
+ *white* = _"<string>"_
+ Default: _"#f8f8f8"_
+
+*dim*
+
+ This section documents the *[colors.dim]* table of the configuration.
+
+ If the dim colors are not set, they will be calculated automatically based
+ on the _normal_ colors.
+
+ *black* = _"<string>"_
+ Default: _"#0f0f0f"_
+ *red* = _"<string>"_
+ Default: _"#712b2b"_
+ *green* = _"<string>"_
+ Default: _"#5f6f3a"_
+ *yellow* = _"<string>"_
+ Default: _"#a17e4d"_
+ *blue* = _"<string>"_
+ Default: _"#456877"_
+ *magenta* = _"<string>"_
+ Default: _"#704d68"_
+ *cyan* = _"<string>"_
+ Default: _"#4d7770"_
+ *white* = _"<string>"_
+ Default: _"#8e8e8e"_
+
+*indexed_colors* = [{ index = _<integer>_, color = _"<string>"_ },]
+
+ The indexed colors include all colors from 16 to 256.
+ When these are not set, they're filled with sensible defaults.
+
+ Default: _[]_
+
+*transparent_background_colors* = _true_ | _false_
+
+ Whether or not _window.opacity_ applies to all cell backgrounds, or only to
+ the default background. When set to _true_ all cells will be transparent
+ regardless of their background color.
+
+ Default: _false_
+
+*draw_bold_text_with_bright_colors* = _true_ | _false_
+
+ When _true_, bold text is drawn using the bright color variants.
+
+ Default: _false_
+
+# BELL
+
+This section documents the *[bell]* table of the configuration file.
+
+*animation* = _"Ease"_ | _"EaseOut"_ | _"EaseOutSine"_ | _"EaseOutQuad"_ | _"EaseOutCubic"_
+\| _"EaseOutQuart"_ | _"EaseOutQuint"_ | _"EaseOutExpo"_ | _"EaseOutCirc"_ | _"Linear"_
+
+ Visual bell animation effect for flashing the screen when the visual bell is rung.
+
+ Default: _"Linear"_
+
+*duration* = _<integer>_
+
+ Duration of the visual bell flash in milliseconds. A `duration` of `0` will
+ disable the visual bell animation.
+
+ Default: _0_
+
+*color* = _"<string>"_
+
+ Visual bell animation color.
+
+ Default: _"#ffffff"_
+
+*command* = _"<string>"_ | { program = _"<string>"_, args = [_"<string>"_,] }
+
+ This program is executed whenever the bell is rung.
+
+ When set to _"None"_, no command will be executed.
+
+ Default: _"None"_
+
+# SELECTION
+
+This section documents the *[selection]* table of the configuration file.
+
+*semantic_escape_chars* = _"<string>"_
+
+ This string contains all characters that are used as separators for
+ "semantic words" in Alacritty.
+
+ Default: _",│`|:\\"' ()[]{}<>\\t"_
+
+*save_to_clipboard* = _true_ | _false_
+
+ When set to _true_, selected text will be copied to the primary clipboard.
+
+ Default: _false_
+
+# CURSOR
+
+This section documents the *[cursor]* table of the configuration file.
+
+*style* = { *<shape>*, *<blinking>* }
+
+ *shape* = _"Block"_ | _"Underline"_ | _"Beam"_
+
+ Default: _"Block"_
+
+ *blinking* = _"Never"_ | _"Off"_ | _"On"_ | _"Always"_
+
+ *Never*
+ Prevent the cursor from ever blinking
+ *Off*
+ Disable blinking by default
+ *On*
+ Enable blinking by default
+ *Always*
+ Force the cursor to always blink
+
+ Default: _"Off"_
+
+*vi_mode_style* = { *<shape>*, *<blinking>* } | _"None"_
+
+ If the vi mode cursor style is _"None"_ or not specified, it will fall back to
+ the active value of the normal cursor.
+
+ Default: _"None"_
+
+*blink_interval* = _<integer>_
+
+ Cursor blinking interval in milliseconds.
+
+ Default: _750_
+
+*blink_timeout* = _<integer>_
+
+ Time after which cursor stops blinking, in seconds.
+
+ Specifying _0_ will disable timeout for blinking.
+
+ Default: _5_
+
+*unfocused_hollow* = _true_ | _false_
+
+ When this is _true_, the cursor will be rendered as a hollow box when the
+ window is not focused.
+
+ Default: _true_
+
+*thickness* = _<float>_
+
+ Thickness of the cursor relative to the cell width as floating point number
+ from _0.0_ to _1.0_.
+
+ Default: _0.15_
+
+# TERMINAL
+
+This section documents the *[terminal]* table of the configuration file.
+
+*osc52* = _"Disabled"_ | _"OnlyCopy"_ | _"OnlyPaste"_ | _"CopyPaste"_
+
+ Controls the ability to write to the system clipboard with the _OSC 52_
+ escape sequence. While this escape sequence is useful to copy contents
+ from the remote server, allowing any application to read from the clipboard
+ can be easily abused while not providing significant benefits over
+ explicitly pasting text.
+
+ Default: _"OnlyCopy"_
+
+# MOUSE
+
+This section documents the *[mouse]* table of the configuration file.
+
+*hide_when_typing* = _true_ | _false_
+
+ When this is _true_, the cursor is temporarily hidden when typing.
+
+ Default: _false_
+
+*bindings* = [{ *<mouse>*, *<mods>*, *<mode>*, *<command>* | *<chars>* | *<action>* },]
+
+ See _keyboard.bindings_ for full documentation on _mods_, _mode_, _command_,
+ _chars_, and _action_.
+
+ When an application running within Alacritty captures the mouse, the `Shift`
+ modifier can be used to suppress mouse reporting. If no action is found for
+ the event, actions for the event without the `Shift` modifier are triggered
+ instead.
+
+ *mouse* = _"Middle"_ | _"Left"_ | _"Right"_ | _"Back"_ | _"Forward"_ | _<integer>_
+
+ Mouse button which needs to be pressed to trigger this binding.
+
+ *action* = *<keyboard.bindings.action>* | _"ExpandSelection"_
+
+ *ExpandSelection*
+ Expand the selection to the current mouse cursor location.
+
+ Example:
+ *[mouse]*++
+bindings = [++
+ { mouse = _"Right"_, mods = _"Control"_, action = _"Paste"_ },++
+]
+
+# HINTS
+
+This section documents the *[hints]* table of the configuration file.
+
+Terminal hints can be used to find text or hyperlinks in the visible part of the
+terminal and pipe it to other applications.
+
+*alphabet* = _"<string>"_
+
+ Keys used for the hint labels.
+
+ Default: _"jfkdls;ahgurieowpq"_
+
+*enabled* = [{ *<regex>*, *<hyperlinks>*, *<post_processing>*, *<persist>*, *<action>*, *<command>* *<binding>*, *<mouse>* },]
+
+Array with all available hints.
+
+Each hint must have at least one of _regex_ or _hyperlinks_ and either an
+_action_ or a _command_.
+
+ *regex* = _"<string>"_
+
+ Regex each line will be compared against.
+
+ *hyperlinks* = _true_ | _false_
+
+ When this is _true_, all OSC 8 escape sequence hyperlinks will be
+ included in the hints.
+
+ *post_processing* = _true_ | _false_
+
+ When this is _true_, heuristics will be used to shorten the match if
+ there are characters likely not to be part of the hint (e.g. a trailing
+ _._). This is most useful for URIs and applies only to _regex_ matches.
+
+ *persist* = _true_ | _false_
+
+ When this is _true_, hints remain persistent after selection.
+
+ *action* = _"Copy"_ | _"Paste"_ | _"Select"_ | _"MoveViModeCursor"_
+
+ *Copy*
+ Copy the hint's text to the clipboard.
+ *Paste*
+ Paste the hint's text to the terminal or search.
+ *Select*
+ Select the hint's text.
+ *MoveViModeCursor*
+ Move the vi mode cursor to the beginning of the hint.
+
+ *command* = _"<string>"_ | { program = _"<string>"_, args = [_"<string>"_,] }
+
+ Command which will be executed when the hint is clicked or selected with
+ the _binding_.
+
+ The hint's text is always attached as the last argument.
+
+ *binding* = { key = _"<string>"_, mods = _"<string>"_, mode = _"<string>"_ }
+
+ See _keyboard.bindings_ for documentation on available values.
+
+ This controls which key binding is used to start the keyboard hint
+ selection process.
+
+ *mouse* = { mods = _"<string>"_, enabled = _true_ | _false_ }
+
+ See _keyboard.bindings_ for documentation on available _mods_.
+
+ The _enabled_ field controls if the hint should be underlined when
+ hovering over the hint text with all _mods_ pressed.
+
+ Default:
+ *[[hints.enabled]]*++
+command = _"xdg-open"_ # On Linux/BSD++
+# command = _"open"_ # On macOS++
+# command = { program = _"cmd"_, args = [ _"/c"_, _"start"_, _""_ ] } # On Windows++
+hyperlinks = _true_++
+post_processing = _true_++
+persist = _false_++
+mouse.enabled = _true_++
+binding = { key = _"U"_, mods = _"Control|Shift"_ }++
+regex = _"(ipfs:|ipns:|magnet:|mailto:|gemini://|gopher://|https://|http://|news:|file:|git://|ssh:|ftp://)[^\\u0000-\\u001F\\u007F-\\u009F<>\\"\\\\s{-}\\\\^⟨⟩`]+"_
+
+# KEYBOARD
+
+This section documents the *[keyboard]* table of the configuration file.
+
+*bindings* = [{ *<key>*, *<mods>*, *<mode>*, *<command>* | *<chars>* | *<action>* },]
+
+ To unset a default binding, you can use the action _"ReceiveChar"_ to remove
+ it or _"None"_ to inhibit any action.
+
+ Multiple keybindings can be triggered by a single key press and will be
+ executed in the order they are defined in.
+
+ *key* = _"<string>"_
+
+ The regular keys like _"A"_, _"0"_, and _"Я"_ can be mapped directly
+ without any special syntax. Full list of named keys like _"F1"_ and the
+ syntax for dead keys can be found here:
+
+ _https://docs.rs/winit/latest/winit/keyboard/enum.NamedKey.html_++
+_https://docs.rs/winit/latest/winit/keyboard/enum.Key.html#variant.Dead_
+
+ Numpad keys are prefixed by _Numpad_: _"NumpadEnter"_ | _"NumpadAdd"_ |
+ _"NumpadComma"_ | _"NumpadDecimal"_ | _"NumpadDivide"_ | _"NumpadEquals"_ |
+ _"NumpadSubtract"_ | _"NumpadMultiply"_ | _"Numpad[0-9]"_.
+
+ The _key_ field also supports using scancodes, which are specified as a
+ decimal number.
+
+ *mods* = _"Command"_ | _"Control"_ | _"Option"_ | _"Super"_ | _"Shift"_ | _"Alt"_
+
+ Multiple modifiers can be combined using _|_, like this: _"Control |
+ Shift"_.
+
+ *mode* = _"AppCursor"_ | _"AppKeypad"_ | _"Search"_ | _"Alt"_ | _"Vi"_
+
+ This defines a terminal mode which must be active for this binding to
+ have an effect.
+
+ Prepending _~_ to a mode will require the mode to *not* = be active for
+ the binding to take effect.
+
+ Multiple modes can be combined using _|_, like this: _"~Vi|Search"_.
+
+ *command* = _"<string>"_ | { program = _"<string>"_, args = [_"<string>"_,] }
+
+ Fork and execute the specified command.
+
+ *chars* = _"<string>"_
+
+ Writes the specified string to the terminal.
+
+ *action*
+
+ *ReceiveChar*
+ Allow receiving char input.
+ *None*
+ No action.
+ *Paste*
+ Paste contents of system clipboard.
+ *Copy*
+ Store current selection into clipboard.
+ *IncreaseFontSize*
+ Increase font size.
+ *DecreaseFontSize*
+ Decrease font size.
+ *ResetFontSize*
+ Reset font size to the config value.
+ *ScrollPageUp*
+ Scroll exactly one page up.
+ *ScrollPageDown*
+ Scroll exactly one page down.
+ *ScrollHalfPageUp*
+ Scroll half a page up.
+ *ScrollHalfPageDown*
+ Scroll half a page down.
+ *ScrollLineUp*
+ Scroll one line up.
+ *ScrollLineDown*
+ Scroll one line down.
+ *ScrollToTop*
+ Scroll all the way to the top.
+ *ScrollToBottom*
+ Scroll all the way to the bottom.
+ *ClearHistory*
+ Clear the display buffer(s) to remove history.
+ *Hide*
+ Hide the Alacritty window.
+ *Minimize*
+ Minimize the Alacritty window.
+ *Quit*
+ Quit Alacritty.
+ *ClearLogNotice*
+ Clear warning and error notices.
+ *SpawnNewInstance*
+ Spawn a new instance of Alacritty.
+ *CreateNewWindow*
+ Create a new Alacritty window.
+ *ToggleFullscreen*
+ Toggle fullscreen.
+ *ToggleMaximized*
+ Toggle maximized.
+ *ClearSelection*
+ Clear active selection.
+ *ToggleViMode*
+ Toggle vi mode.
+ *SearchForward*
+ Start a forward buffer search.
+ *SearchBackward*
+ Start a backward buffer search.
+
+ _Vi mode actions:_
+
+ *Up*
+ Move up.
+ *Down*
+ Move down.
+ *Left*
+ Move left.
+ *Right*
+ Move right.
+ *First*
+ First column, or beginning of the line when already at the first column.
+ *Last*
+ Last column, or beginning of the line when already at the last column.
+ *FirstOccupied*
+ First non-empty cell in this terminal row, or first non-empty cell
+ of the line when already at the first cell of the row.
+ *High*
+ Move to top of screen.
+ *Middle*
+ Move to center of screen.
+ *Low*
+ Move to bottom of screen.
+ *SemanticLeft*
+ Move to start of semantically separated word.
+ *SemanticRight*
+ Move to start of next semantically separated word.
+ *SemanticLeftEnd*
+ Move to end of previous semantically separated word.
+ *SemanticRightEnd*
+ Move to end of semantically separated word.
+ *WordLeft*
+ Move to start of whitespace separated word.
+ *WordRight*
+ Move to start of next whitespace separated word.
+ *WordLeftEnd*
+ Move to end of previous whitespace separated word.
+ *WordRightEnd*
+ Move to end of whitespace separated word.
+ *Bracket*
+ Move to opposing bracket.
+ *ToggleNormalSelection*
+ Toggle normal vi selection.
+ *ToggleLineSelection*
+ Toggle line vi selection.
+ *ToggleBlockSelection*
+ Toggle block vi selection.
+ *ToggleSemanticSelection*
+ Toggle semantic vi selection.
+ *SearchNext*
+ Jump to the beginning of the next match.
+ *SearchPrevious*
+ Jump to the beginning of the previous match.
+ *SearchStart*
+ Jump to the next start of a match to the left of the origin.
+ *SearchEnd*
+ Jump to the next end of a match to the right of the origin.
+ *Open*
+ Launch the URL below the vi mode cursor.
+ *CenterAroundViCursor*
+ Centers the screen around the vi mode cursor.
+ *InlineSearchForward*
+ Search forward within the current line.
+ *InlineSearchBcakward*
+ Search backward within the current line.
+ *InlineSearchForwardShort*
+ Search forward within the current line, stopping just short of the character.
+ *InlineSearchBackwardShort*
+ Search backward within the current line, stopping just short of the character.
+ *InlineSearchNext*
+ Jump to the next inline search match.
+ *InlineSearchPrevious*
+ Jump to the previous inline search match.
+
+ _Search actions:_
+
+ *SearchFocusNext*
+ Move the focus to the next search match.
+ *SearchFocusPrevious*
+ Move the focus to the previous search match.
+ *SearchConfirm*
+ Confirm the active search.
+ *SearchCancel*
+ Cancel the active search.
+ *SearchClear*
+ Reset the search regex.
+ *SearchDeleteWord*
+ Delete the last word in the search regex.
+ *SearchHistoryPrevious*
+ Go to the previous regex in the search history.
+ *SearchHistoryNext*
+ Go to the next regex in the search history.
+
+ _macOS exclusive:_
+
+ *ToggleSimpleFullscreen*
+ Enter fullscreen without occupying another space.
+ *HideOtherApplications*
+ Hide all windows other than Alacritty.
+ *CreateNewTab*
+ Create new window in a tab.
+ *SelectNextTab*
+ Select next tab.
+ *SelectPreviousTab*
+ Select previous tab.
+ *SelectTab1*
+ Select the first tab.
+ *SelectTab2*
+ Select the second tab.
+ *SelectTab3*
+ Select the third tab.
+ *SelectTab4*
+ Select the fourth tab.
+ *SelectTab5*
+ Select the fifth tab.
+ *SelectTab6*
+ Select the sixth tab.
+ *SelectTab7*
+ Select the seventh tab.
+ *SelectTab8*
+ Select the eighth tab.
+ *SelectTab9*
+ Select the ninth tab.
+ *SelectLastTab*
+ Select the last tab.
+
+ _Linux/BSD exclusive:_
+
+ *CopySelection*
+ Copy from the selection buffer.
+ *PasteSelection*
+ Paste from the selection buffer.
+
+Default: See *alacritty-bindings*(5)
+
+Example:
+ *[keyboard]*++
+bindings = [++
+ { key = _"N"_, mods = _"Control|Shift"_, action = _"CreateNewWindow"_ },++
+ { key = _"L"_, mods = _"Control|Shift"_, chars = _"l"_ },++
+]
+
+
+# DEBUG
+
+This section documents the *[debug]* table of the configuration file.
+
+Debug options are meant to help troubleshoot issues with Alacritty. These can
+change or be removed entirely without warning, so their stability shouldn't be
+relied upon.
+
+*render_timer* = _true_ | _false_
+
+ Display the time it takes to draw each frame.
+
+ Default: _false_
+
+*persistent_logging* = _true_ | _false_
+
+ Keep the log file after quitting Alacritty.
+
+ Default: _false_
+
+*log_level* = _"Off"_ | _"Error"_ | _"Warn"_ | _"Info"_ | _"Debug"_ | _"Trace"_
+
+ Default: _"Warn"_
+
+ To add extra libraries to logging _ALACRITTY_EXTRA_LOG_TARGETS_ variable
+ can be used.
+
+ Example:
+ _ALACRITTY_EXTRA_LOG_TARGETS="winit;vte" alacritty -vvv_
+
+*renderer* = _"glsl3"_ | _"gles2"_ | _"gles2pure"_ | _"None"_
+
+ Force use of a specific renderer, _"None"_ will use the highest available
+ one.
+
+ Default: _"None"_
+
+*print_events* = _true_ | _false_
+
+ Log all received window events.
+
+ Default: _false_
+
+*highlight_damage* = _true_ | _false_
+
+ Highlight window damage information.
+
+ Default: _false_
+
+*prefer_egl* = _true_ | _false_
+
+ Use EGL as display API if the current platform allows it. Note that
+ transparency may not work with EGL on Linux/BSD.
+
+ Default: _false_
+
+# SEE ALSO
+
+*alacritty*(1), *alacritty-msg*(1), *alacritty-bindings*(5)
+
+# BUGS
+
+Found a bug? Please report it at _https://github.com/alacritty/alacritty/issues_.
+
+# MAINTAINERS
+
+- Christian Duerr <contact@christianduerr.com>
+- Kirill Chibisov <contact@kchibisov.com>
diff --git a/extra/osx/Alacritty.app/Contents/Info.plist b/extra/osx/Alacritty.app/Contents/Info.plist
index 2dc89b7d..e7afebcb 100644
--- a/extra/osx/Alacritty.app/Contents/Info.plist
+++ b/extra/osx/Alacritty.app/Contents/Info.plist
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>0.13.0-dev</string>
+ <string>0.14.0-dev</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
diff --git a/extra/promo/alacritty-readme.png b/extra/promo/alacritty-readme.png
new file mode 100644
index 00000000..346401a6
--- /dev/null
+++ b/extra/promo/alacritty-readme.png
Binary files differ