Dotfiles config

This commit is contained in:
q3aql 2021-11-13 19:24:20 +01:00
parent c6a4859417
commit d46cf8fe0c
156 changed files with 32607 additions and 0 deletions

View File

@ -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
}

132
.bashrc Normal file
View File

@ -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

123
.bashrc.save Normal file
View File

@ -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

View File

@ -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

View File

@ -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 ; <s / p / c> ; ? BEL`)
- Set selection clipboard (`OSC 52 ; <s / p> ; <BASE64> 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

View File

@ -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.

2012
.config/alacritty/alacritty/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,11 @@
[workspace]
members = [
"alacritty",
"alacritty_terminal",
"alacritty_config_derive",
]
[profile.release]
lto = true
debug = 1
incremental = false

View File

@ -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 '<nixpkgs>'
```
#### 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
```

View File

@ -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.

View File

@ -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

View File

@ -0,0 +1,114 @@
<p align="center">
<img width="200" alt="Alacritty Logo" src="https://raw.githubusercontent.com/alacritty/alacritty/master/extra/logo/compat/alacritty-term%2Bscanlines.png">
</p>
<h1 align="center">Alacritty - A fast, cross-platform, OpenGL terminal emulator</h1>
<p align="center">
<img width="600"
alt="Alacritty - A fast, cross-platform, OpenGL terminal emulator"
src="https://user-images.githubusercontent.com/8886672/103264352-5ab0d500-49a2-11eb-8961-02f7da66c855.png">
</p>
## 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

View File

@ -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<CR>$\ makes keypad 0 send "DIR<CR>"
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]

View File

@ -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 | |

View File

@ -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
<kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>Space</kbd>.
### 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 <kbd>v</kbd> and copy
it using <kbd>y</kbd>. All selection modes that are available with the mouse can
be accessed from vi mode, including the semantic (<kbd>Alt</kbd> <kbd>v</kbd>),
line (<kbd>Shift</kbd> <kbd>v</kbd>) and block selection (<kbd>Ctrl</kbd>
<kbd>v</kbd>). 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 <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>f</kbd> and
backward using <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>b</kbd>.
### Vi Search
In vi mode the search is bound to <kbd>/</kbd> for forward and <kbd>?</kbd> 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 <kbd>Enter</kbd> and <kbd>Shift</kbd>
<kbd>Enter</kbd>. After leaving search with <kbd>Escape</kbd> 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
<kbd>Enter</kbd> 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 <kbd>Ctrl</kbd> 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 <kbd>Shift</kbd> 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.

View File

@ -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 <socket>
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 <contact@christianduerr.com>

View File

@ -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\\,

View File

@ -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 <instance> | <instance>,<general>
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>...
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>
Defines the X11 window ID (as a decimal integer) to embed Alacritty within
.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>

View File

@ -0,0 +1,62 @@
#compdef alacritty
# Completions available for the first parameter.
_alacritty_first_param() {
# Main subcommands.
_describe "command" "(msg:'Available socket messages')"
# Default options.
_alacritty_main
}
# Completions available for parameters after the first.
_alacritty_following_param() {
case $words[2] in
msg)
_alacritty_msg;;
*)
_alacritty_main;;
esac
}
# Completions for the main Alacritty executable.
_alacritty_main() {
# Limit some suggestions to the first option.
local ignore
(( $#words > 2 )) && ignore='!'
_arguments \
"$ignore(-)"{-h,--help}"[print help information]" \
"$ignore(-)"{-V,--version}"[print version information]" \
"--print-events[print all events to stdout]" \
'(-v)'{-q,-qq}"[reduce the level of verbosity (min is -qq)]" \
"--ref-test[generate ref test]" \
"--hold[remain open after child process exits]" \
'(-q)'{-v,-vv,-vvv}"[increase the level of verbosity (max is -vvv)]" \
"--class=[define the window class]:class" \
"--embed=[define the X11 window ID (as a decimal integer) to embed Alacritty within]:windowId" \
"(-e --command)"{-e,--command}"[execute command (must be last arg)]:program: _command_names -e:*::program arguments: _normal" \
"--config-file=[specify an alternative config file]:file:_files" \
"*"{-o=,--option=}"[override config file options]:option" \
"(-t --title)"{-t=,--title=}"[define the window title]:title" \
"--working-directory=[start shell in specified directory]:directory:_directories"\
"--socket=[Path for IPC socket creation]:file:_files"
}
# Completions for the `msg` subcommand.
_alacritty_msg() {
# Limit some suggestions to the first option.
local ignore
(( $#words > 3 )) && ignore='!'
_arguments \
"$ignore(-)"{-h,--help}"[print help information]" \
"$ignore(-)"{-V,--version}"[print version information]" \
"(-s --socket)"{-s=,--socket=}"[Path for IPC socket creation]:file:_files" \
"*: :((create-window:'Create a new window in the same Alacritty process'))"
}
# Handle arguments based on their position.
_arguments \
"1: :_alacritty_first_param" \
"*: :_alacritty_following_param"

View File

@ -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
}

View File

@ -0,0 +1,104 @@
# Available subcommands
set -l commands msg help
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-a "msg help"
# Meta
complete -c alacritty \
-n "not __fish_seen_subcommand_from help" \
-s "v" \
-l "version" \
-d "Prints version information"
complete -c alacritty \
-n "not __fish_seen_subcommand_from help" \
-s "h" \
-l "help" \
-d "Prints help information"
# Config
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-f \
-l "config-file" \
-d "Specify an alternative config file"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-s "t" \
-l "title" \
-d "Defines the window title"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-l "class" \
-d "Defines the window class"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-l "embed" \
-d "Defines the X11 window ID (as a decimal integer) to embed Alacritty within"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-x \
-a '(__fish_complete_directories (commandline -ct))' \
-l "working-directory" \
-d "Start shell in specified directory"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-l "hold" \
-d "Remain open after child process exits"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-s "o" \
-l "option" \
-d "Override config file options"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-l "socket" \
-d "Path for IPC socket creation"
# Output
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-l "print-events" \
-d "Print all events to stdout"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-s "q" \
-d "Reduces the level of verbosity (min is -qq)"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-s "qq" \
-d "Reduces the level of verbosity"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-s "v" \
-d "Increases the level of verbosity"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-s "vv" \
-d "Increases the level of verbosity"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-s "vvv" \
-d "Increases the level of verbosity"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-l "ref-test" \
-d "Generates ref test"
complete -c alacritty \
-n "not __fish_seen_subcommand_from $commands" \
-s "e" \
-l "command" \
-d "Execute command (must be last arg)"
# Subcommand `msg`
complete -c alacritty \
-n "__fish_seen_subcommand_from msg" \
-s "s" \
-l "socket" \
-d "Socket path override"
complete -c alacritty \
-n "__fish_seen_subcommand_from msg" \
-a "create-window help"

View File

@ -0,0 +1,17 @@
[Desktop Entry]
Type=Application
TryExec=alacritty
Exec=alacritty
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;
Name=Alacritty
GenericName=Terminal
Comment=A fast, cross-platform, OpenGL terminal emulator
StartupWMClass=Alacritty
Actions=New;
[Desktop Action New]
Name=New Terminal
Exec=alacritty

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2016-2019 Joe Wilm, The Alacritty Project Contributors -->
<component type="desktop-application">
<id>io.alacritty.Alacritty</id>
<!-- Translators: The application name -->
<name>Alacritty</name>
<project_license>APACHE-2.0</project_license>
<metadata_license>APACHE-2.0</metadata_license>
<!-- Translators: The application's summary / tagline -->
<summary>A fast, cross-platform, OpenGL terminal emulator</summary>
<description>
<p>
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.
</p>
</description>
<screenshots>
<screenshot type="default">
<image>https://user-images.githubusercontent.com/8886672/103264352-5ab0d500-49a2-11eb-8961-02f7da66c855.png</image>
<caption>Alacritty - A fast, cross-platform, OpenGL terminal emulator</caption>
</screenshot>
</screenshots>
<keywords>
<keyword>terminal emulator</keyword>
<keyword>GPU</keyword>
</keywords>
<url type="homepage">https://github.com/alacritty/alacritty</url>
<url type="bugtracker">https://github.com/alacritty/alacritty/issues</url>
<update_contact>https://github.com/alacritty/alacritty/blob/master/CONTRIBUTING.md#contact</update_contact>
<developer_name>Christian Duerr</developer_name>
</component>

View File

@ -0,0 +1,309 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
viewBox="0 0 64 64"
version="1.1"
xml:space="preserve"
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996;enable-background:new"
id="svg3967"
sodipodi:docname="alacritty.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><metadata
id="metadata3971"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#1b1b1b"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1912"
inkscape:window-height="2051"
id="namedview3969"
showgrid="true"
inkscape:pagecheckerboard="false"
showguides="false"
inkscape:guide-bbox="true"
inkscape:measure-start="35.0647,26.4746"
inkscape:measure-end="23.3668,17.3739"
inkscape:lockguides="false"
inkscape:snap-page="false"
inkscape:zoom="16.123347"
inkscape:cx="29.021205"
inkscape:cy="30.792291"
inkscape:window-x="1912"
inkscape:window-y="48"
inkscape:window-maximized="0"
inkscape:current-layer="layer1"
inkscape:snap-smooth-nodes="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showborder="true"
inkscape:showpageshadow="false"
inkscape:object-nodes="true"
viewbox-y="-0.5"
inkscape:snap-to-guides="false"
inkscape:snap-grids="false"><sodipodi:guide
position="52,8.2500022"
orientation="1,0"
id="guide959"
inkscape:locked="false"
inkscape:label="A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,48.250002"
orientation="0,1"
id="guide961"
inkscape:locked="false"
inkscape:label="A Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="1,0"
id="guide963"
inkscape:locked="false"
inkscape:label="A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="1,0"
id="guide965"
inkscape:locked="false"
inkscape:label="Vertical Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="0,1"
id="guide967"
inkscape:locked="false"
inkscape:label="Horizontal Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="28.813,21.500002"
orientation="1,0"
id="guide969"
inkscape:locked="false"
inkscape:label="Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="37.187,21.500002"
orientation="1,0"
id="guide971"
inkscape:locked="false"
inkscape:label="Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.5,48.250002"
orientation="1,0"
id="guide973"
inkscape:locked="false"
inkscape:label="A Top Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.5,48.250002"
orientation="1,0"
id="guide975"
inkscape:locked="false"
inkscape:label="A Top Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="20.5,8.2500022"
orientation="1,0"
id="guide977"
inkscape:locked="false"
inkscape:label="Width A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="45.5,8.2500022"
orientation="1,0"
id="guide979"
inkscape:locked="false"
inkscape:label="Width A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="0,1"
id="guide981"
inkscape:locked="false"
inkscape:label="A Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,12.688002"
orientation="0,1"
id="guide983"
inkscape:locked="false"
inkscape:label="Flame Curve Intersect"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="34.5,12.688002"
orientation="1,0"
id="guide985"
inkscape:locked="false"
inkscape:label="Right Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="31.5,12.688002"
orientation="1,0"
id="guide987"
inkscape:locked="false"
inkscape:label="Left Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,0.36128283"
id="guide3628"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,-0.36128283"
id="guide3630"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,21.500002"
orientation="0,1"
id="guide3644"
inkscape:locked="false"
inkscape:label="Flame Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.813,24.080519"
orientation="1,0"
id="guide3646"
inkscape:locked="false"
inkscape:label="Inner Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.187,24.080519"
orientation="1,0"
id="guide3648"
inkscape:locked="false"
inkscape:label="Inner Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,32.305002"
orientation="0,1"
id="guide3650"
inkscape:locked="false"
inkscape:label="Flame Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,5.0000022"
orientation="0,1"
id="guide3652"
inkscape:locked="false"
inkscape:label="Flame Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,53.750002"
orientation="0,1"
id="guide3936"
inkscape:locked="false"
inkscape:label="Term Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,3.0000022"
orientation="0,1"
id="guide3938"
inkscape:locked="false"
inkscape:label="Term Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="63,24.750002"
orientation="1,0"
id="guide3940"
inkscape:locked="false"
inkscape:label="Term Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="3.0000001,24.750002"
orientation="1,0"
id="guide3942"
inkscape:locked="false"
inkscape:label="Term Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="0,1"
id="guide15457"
inkscape:locked="false"
inkscape:label="Outline Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="1,0"
id="guide15459"
inkscape:locked="false"
inkscape:label="Outline Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="0,1"
id="guide15461"
inkscape:locked="false"
inkscape:label="Outline Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="1,0"
id="guide15463"
inkscape:locked="false"
inkscape:label="Outline Right"
inkscape:color="rgb(0,0,255)" /></sodipodi:namedview><defs
id="defs3965"><linearGradient
id="red-orange"
x1="0.025171699"
y1="0.079489581"
x2="1"
y2="0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,473.895,-473.895,0,547.884,192.222)"><stop
offset="0"
style="stop-color:#ec2802;stop-opacity:1"
id="stop926" /><stop
offset="1"
style="stop-color:#fcb200;stop-opacity:1"
id="stop928" /></linearGradient><linearGradient
id="linearGradient5362"
osb:paint="solid"><stop
style="stop-color:#aaaaaa;stop-opacity:1;"
offset="0"
id="stop5360" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#red-orange"
id="linearGradient11006"
x1="19.0625"
y1="0"
x2="19"
y2="43.25"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.4018804,0,0,1.3482131,21.364273,-32.960592)" /><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath3639"><path
inkscape:connector-curvature="0"
id="path3641"
d="M 14.813062,26.75 19,15.945 23.186938,26.75 19,43.25 Z"
style="fill:none;stroke:#000000;stroke-width:0.03779528;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /></clipPath><filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter1378"
x="-0.096199476"
width="1.192399"
y="-0.074239448"
height="1.1484789"><feGaussianBlur
inkscape:collect="always"
stdDeviation="1.0020779"
id="feGaussianBlur1380" /></filter></defs><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Main"
style="display:inline"
transform="translate(-16,35.820639)"
sodipodi:insensitive="true"><g
id="g4199"><path
clip-path="none"
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="path5352"
d="M 43.566236,2.9721345 42.175119,6.3426951 C 45.913195,17.853356 45.913195,17.853356 48,27.894557 50.086805,17.853356 50.086805,17.853356 53.824881,6.3426951 L 52.433764,2.9721345 48,-7.7705098 Z"
style="clip-rule:evenodd;fill:#069efe;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.26960364;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:0.4330357;paint-order:stroke markers fill" /><path
sodipodi:nodetypes="cccccccc"
inkscape:connector-curvature="0"
id="path5336"
d="m 43.09342,-32.960595 h 9.81316 l 21.729148,53.92852 H 65.523505 L 48,-20.221038 30.476495,20.967925 h -9.112223 z"
style="clip-rule:evenodd;fill:url(#linearGradient11006);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient10962);stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
transform="matrix(1.3912031,0,0,1.3379446,21.567141,-29.104025)"
clip-path="url(#clipPath3639)"
style="clip-rule:evenodd;display:inline;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke;filter:url(#filter1378)"
d="M 19,32.395 31.5,0 6.5,0.13313911 Z"
id="path9580"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" /></g></g></svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,707 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
viewBox="0 0 64 64"
version="1.1"
xml:space="preserve"
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996;enable-background:new"
id="svg3967"
sodipodi:docname="alacritty-term+scanlines.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><metadata
id="metadata3971"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#1b1b1b"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1912"
inkscape:window-height="2059"
id="namedview3969"
showgrid="true"
inkscape:pagecheckerboard="false"
showguides="false"
inkscape:guide-bbox="true"
inkscape:measure-start="35.0647,26.4746"
inkscape:measure-end="23.3668,17.3739"
inkscape:lockguides="false"
inkscape:snap-page="false"
inkscape:zoom="16.123347"
inkscape:cx="32.804539"
inkscape:cy="30.792291"
inkscape:window-x="1920"
inkscape:window-y="48"
inkscape:window-maximized="0"
inkscape:current-layer="g4194"
inkscape:snap-smooth-nodes="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showborder="true"
inkscape:showpageshadow="false"
inkscape:object-nodes="true"
viewbox-y="-0.5"
inkscape:snap-to-guides="false"
inkscape:snap-grids="false"><sodipodi:guide
position="52,8.2500022"
orientation="1,0"
id="guide959"
inkscape:locked="false"
inkscape:label="A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,48.250002"
orientation="0,1"
id="guide961"
inkscape:locked="false"
inkscape:label="A Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="1,0"
id="guide963"
inkscape:locked="false"
inkscape:label="A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="1,0"
id="guide965"
inkscape:locked="false"
inkscape:label="Vertical Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="0,1"
id="guide967"
inkscape:locked="false"
inkscape:label="Horizontal Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="28.813,21.500002"
orientation="1,0"
id="guide969"
inkscape:locked="false"
inkscape:label="Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="37.187,21.500002"
orientation="1,0"
id="guide971"
inkscape:locked="false"
inkscape:label="Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.5,48.250002"
orientation="1,0"
id="guide973"
inkscape:locked="false"
inkscape:label="A Top Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.5,48.250002"
orientation="1,0"
id="guide975"
inkscape:locked="false"
inkscape:label="A Top Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="20.5,8.2500022"
orientation="1,0"
id="guide977"
inkscape:locked="false"
inkscape:label="Width A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="45.5,8.2500022"
orientation="1,0"
id="guide979"
inkscape:locked="false"
inkscape:label="Width A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="0,1"
id="guide981"
inkscape:locked="false"
inkscape:label="A Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,12.688002"
orientation="0,1"
id="guide983"
inkscape:locked="false"
inkscape:label="Flame Curve Intersect"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="34.5,12.688002"
orientation="1,0"
id="guide985"
inkscape:locked="false"
inkscape:label="Right Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="31.5,12.688002"
orientation="1,0"
id="guide987"
inkscape:locked="false"
inkscape:label="Left Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,0.36128283"
id="guide3628"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,-0.36128283"
id="guide3630"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,21.500002"
orientation="0,1"
id="guide3644"
inkscape:locked="false"
inkscape:label="Flame Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.813,24.080519"
orientation="1,0"
id="guide3646"
inkscape:locked="false"
inkscape:label="Inner Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.187,24.080519"
orientation="1,0"
id="guide3648"
inkscape:locked="false"
inkscape:label="Inner Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,32.305002"
orientation="0,1"
id="guide3650"
inkscape:locked="false"
inkscape:label="Flame Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,5.0000022"
orientation="0,1"
id="guide3652"
inkscape:locked="false"
inkscape:label="Flame Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,53.750002"
orientation="0,1"
id="guide3936"
inkscape:locked="false"
inkscape:label="Term Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,3.0000022"
orientation="0,1"
id="guide3938"
inkscape:locked="false"
inkscape:label="Term Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="63,24.750002"
orientation="1,0"
id="guide3940"
inkscape:locked="false"
inkscape:label="Term Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="3.0000001,24.750002"
orientation="1,0"
id="guide3942"
inkscape:locked="false"
inkscape:label="Term Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="0,1"
id="guide15457"
inkscape:locked="false"
inkscape:label="Outline Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="1,0"
id="guide15459"
inkscape:locked="false"
inkscape:label="Outline Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="0,1"
id="guide15461"
inkscape:locked="false"
inkscape:label="Outline Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="1,0"
id="guide15463"
inkscape:locked="false"
inkscape:label="Outline Right"
inkscape:color="rgb(0,0,255)" /></sodipodi:namedview><defs
id="defs3965"><linearGradient
id="linearGradient4285"
inkscape:collect="always"><stop
id="stop4281"
offset="0"
style="stop-color:#aca8a8;stop-opacity:1" /><stop
id="stop4283"
offset="1"
style="stop-color:#424242;stop-opacity:1" /></linearGradient><linearGradient
gradientTransform="matrix(0,473.895,-473.895,0,547.884,192.222)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0.079489581"
x1="0.025171699"
id="shadow"><stop
id="stop1000"
style="stop-color:#000000;stop-opacity:1"
offset="0" /><stop
id="stop1002"
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
id="red-orange"
x1="0.025171699"
y1="0.079489581"
x2="1"
y2="0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,473.895,-473.895,0,547.884,192.222)"><stop
offset="0"
style="stop-color:#ec2802;stop-opacity:1"
id="stop926" /><stop
offset="1"
style="stop-color:#fcb200;stop-opacity:1"
id="stop928" /></linearGradient><linearGradient
id="linearGradient5362"
osb:paint="solid"><stop
style="stop-color:#aaaaaa;stop-opacity:1;"
offset="0"
id="stop5360" /></linearGradient><linearGradient
inkscape:collect="always"
id="border"><stop
style="stop-color:#aaaaaa;stop-opacity:1"
offset="0"
id="stop4723" /><stop
style="stop-color:#424242;stop-opacity:1"
offset="1"
id="stop4725" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#red-orange"
id="linearGradient11006"
x1="19.0625"
y1="0"
x2="19"
y2="43.25"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95039318,0,0,0.91400987,29.942531,-23.16114)" /><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath3639"><path
inkscape:connector-curvature="0"
id="path3641"
d="M 14.813062,26.75 19,15.945 23.186938,26.75 19,43.25 Z"
style="fill:none;stroke:#000000;stroke-width:0.03779528;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /></clipPath><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4285"
id="linearGradient4729"
x1="48.747543"
y1="2.5380001"
x2="48.747543"
y2="59.381035"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.96969697,0,0,0.95677626,0.48484848,-1.198125)" /><linearGradient
inkscape:collect="always"
xlink:href="#red-orange"
id="linearGradient6820"
x1="2.5739074"
y1="-0.58920789"
x2="63.510384"
y2="-0.58920789"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95578689,0,0,1.0103945,0.41874974,-0.76487841)" /><linearGradient
inkscape:collect="always"
xlink:href="#border"
id="linearGradient938"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.84262117,0,0,0.8168855,6.7115629,-53.507041)"
x1="48.747543"
y1="2.5380001"
x2="48.747543"
y2="59.381035" /><linearGradient
inkscape:collect="always"
xlink:href="#border"
id="linearGradient953"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.84565151,0,0,0.82216743,6.5635779,-53.720791)"
x1="48.747543"
y1="2.5380001"
x2="48.747543"
y2="59.381035" /><linearGradient
inkscape:collect="always"
xlink:href="#shadow"
id="linearGradient998"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95578689,0,0,1.0103945,0.41874974,-0.76487841)"
x1="35.337124"
y1="1.3206079"
x2="35.337124"
y2="-2.4122138" /><filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter1378"
x="-0.096199476"
width="1.192399"
y="-0.074239448"
height="1.1484789"><feGaussianBlur
inkscape:collect="always"
stdDeviation="1.0020779"
id="feGaussianBlur1380" /></filter><linearGradient
inkscape:collect="always"
xlink:href="#red-orange"
id="linearGradient1386"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95578689,0,0,1.0103945,0.41874974,-0.76487841)"
x1="2.5739074"
y1="-0.58920789"
x2="63.510384"
y2="-0.58920789" /><filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4241"
x="-0.064270784"
width="1.1285416"
y="-0.056261436"
height="1.1125229"><feGaussianBlur
inkscape:collect="always"
stdDeviation="0.9671398"
id="feGaussianBlur4243" /></filter><linearGradient
inkscape:collect="always"
xlink:href="#border"
id="linearGradient4287"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.96969697,0,0,0.95131275,0.48484848,-1.1843128)"
x1="48.747543"
y1="2.5380001"
x2="48.747543"
y2="59.381035" /><filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4303"
x="-0.0076852223"
width="1.0153704"
y="-0.0092613701"
height="1.0185227"><feGaussianBlur
inkscape:collect="always"
stdDeviation="0.1698072"
id="feGaussianBlur4305" /></filter><filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4307"
x="-0.0089979098"
width="1.0179958"
y="-0.007876601"
height="1.0157532"><feGaussianBlur
inkscape:collect="always"
stdDeviation="0.13539957"
id="feGaussianBlur4309" /></filter></defs><g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Topbar"
style="display:inline"
transform="translate(0,7.3208818)"
sodipodi:insensitive="true"><g
id="g1008"><rect
ry="2.1057909"
rx="2.0726831"
y="-4.3995399"
x="2.8788567"
height="6.0786581"
width="58.242287"
id="rect5358"
style="fill:url(#linearGradient1386);fill-opacity:1;stroke-width:0.98271209" /><rect
style="opacity:0.5;fill:url(#linearGradient998);fill-opacity:1;stroke-width:0.98271209"
id="rect991"
width="58.242287"
height="6.0786581"
x="2.8788567"
y="-4.3995399"
rx="2.0726831"
ry="2.1057909" /></g></g><g
inkscape:groupmode="layer"
id="layer7"
inkscape:label="Outline"
style="display:inline"
transform="translate(-16,4.7828817)"
sodipodi:insensitive="true"><g
id="g951"><rect
style="opacity:1;fill:#dedede;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect944"
width="64"
height="54.297054"
x="16"
y="0.72006398"
ry="3.4421675"
rx="3.4067805" /><rect
rx="3.4067805"
ry="3.4225116"
y="1.2301193"
x="16"
height="53.987"
width="64"
id="rect15455"
style="opacity:1;fill:url(#linearGradient4287);fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke" /><rect
transform="scale(1,-1)"
style="opacity:1;fill:url(#linearGradient953);fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect936"
width="55.813"
height="46.658001"
x="20.094"
y="-51.634117"
ry="1.654344"
rx="1.6426716" /></g></g><g
id="layer4"
inkscape:label="Background"
style="display:inline"
transform="translate(-16,35.820639)"
sodipodi:insensitive="true"
inkscape:groupmode="layer"><rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90957505;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect3934"
width="55.226368"
height="45.61607"
x="20.386816"
y="-25.561707"
ry="1.5306553"
rx="1.5306553" /><rect
rx="0"
ry="0"
y="-24.604975"
x="21.545111"
height="43.702606"
width="52.909779"
id="rect932"
style="opacity:1;fill:#14232b;fill-opacity:1;stroke:none;stroke-width:0.87142098;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke" /></g><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Main"
style="display:inline"
transform="translate(-16,35.820639)"
sodipodi:insensitive="true"><g
id="g4199"
style="filter:url(#filter4307)"><path
clip-path="none"
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="path5352"
d="M 44.994167,1.199154 44.05107,3.4841975 C 46.585268,11.287754 46.585268,11.287754 48,18.095103 49.414732,11.287754 49.414732,11.287754 51.94893,3.4841975 L 51.005833,1.199154 48,-6.0837323 Z"
style="clip-rule:evenodd;fill:#069efe;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.18277554;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:0.4330357;paint-order:stroke markers fill" /><path
sodipodi:nodetypes="cccccccc"
inkscape:connector-curvature="0"
id="path5336"
d="m 44.673625,-23.161141 h 6.65275 L 66.05747,13.39925 H 59.879914 L 48,-14.524464 36.120086,13.39925 H 29.94253 Z"
style="clip-rule:evenodd;fill:url(#linearGradient11006);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient10962);stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
transform="matrix(0.94315461,0,0,0.90704843,30.080063,-20.546611)"
clip-path="url(#clipPath3639)"
style="clip-rule:evenodd;display:inline;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke;filter:url(#filter1378)"
d="M 19,32.395 31.5,0 6.5,0.13313911 Z"
id="path9580"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" /></g></g><g
sodipodi:insensitive="true"
transform="translate(-16,35.820639)"
style="display:inline"
inkscape:label="Glow"
id="g4189"
inkscape:groupmode="layer"><g
id="g4194"
style="filter:url(#filter4241)"><path
style="clip-rule:evenodd;fill:#069efe;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.18277554;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:0.4330357;paint-order:stroke markers fill"
d="M 44.994167,1.199154 44.05107,3.4841975 C 46.585268,11.287754 46.585268,11.287754 48,18.095103 49.414732,11.287754 49.414732,11.287754 51.94893,3.4841975 L 51.005833,1.199154 48,-6.0837323 Z"
id="path4183"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc"
clip-path="none" /><path
style="clip-rule:evenodd;fill:url(#linearGradient11006);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient10962);stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="m 44.673625,-23.161141 h 6.65275 L 66.05747,13.39925 H 59.879914 L 48,-14.524464 36.120086,13.39925 H 29.94253 Z"
id="path4185"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" /><path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
id="path4187"
d="M 19,32.395 31.5,0 6.5,0.13313911 Z"
style="clip-rule:evenodd;display:inline;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke;filter:url(#filter1378)"
clip-path="url(#clipPath3639)"
transform="matrix(0.94315461,0,0,0.90704843,30.080063,-20.546611)" /></g></g><g
inkscape:groupmode="layer"
id="layer6"
inkscape:label="Scanlines"
style="display:inline"
transform="translate(-16,4.7828817)"
sodipodi:insensitive="true"><g
id="g4141"
style="opacity:0.75;filter:url(#filter4303)"><path
inkscape:connector-curvature="0"
id="path1394"
d="M 21.485704,29.433218 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,44.834618 H 74.514396"
id="path1396"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1398"
d="M 21.485704,32.733518 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,39.334118 H 74.514396"
id="path1400"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1402"
d="M 21.485704,7.4312225 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,33.833618 H 74.514396"
id="path1404"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1406"
d="M 21.485704,22.832618 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,14.031818 H 74.514396"
id="path1408"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1410"
d="M 21.485704,25.032818 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,11.831618 H 74.514396"
id="path1412"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1414"
d="M 21.485704,47.034818 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,48.134918 H 74.514396"
id="path1416"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1418"
d="M 21.485704,28.333118 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,26.132918 H 74.514396"
id="path1420"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1422"
d="M 21.485704,27.233018 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,23.932718 H 74.514396"
id="path1424"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1426"
d="M 21.485704,45.934718 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,9.6314225 H 74.514396"
id="path1428"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1430"
d="M 21.485704,10.73152 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,12.931718 H 74.514396"
id="path1432"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1434"
d="M 21.485704,37.133918 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,38.234018 H 74.514396"
id="path1436"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1438"
d="M 21.485704,43.734518 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,17.332118 H 74.514396"
id="path1440"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1442"
d="M 21.485704,40.434218 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,41.534318 H 74.514396"
id="path1444"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1446"
d="M 21.485704,6.3311225 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,30.533318 H 74.514396"
id="path1448"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1450"
d="M 21.485704,31.633418 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,49.235018 H 74.514396"
id="path1452"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1454"
d="M 21.485704,16.232018 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,15.131918 H 74.514396"
id="path1456"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1458"
d="M 21.485704,36.033818 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,50.335118 H 74.514396"
id="path1460"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1462"
d="M 21.485704,20.632418 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,21.732518 H 74.514396"
id="path1464"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1466"
d="M 21.485704,42.634418 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,18.432218 H 74.514396"
id="path1468"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1470"
d="M 21.485704,19.532318 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,34.933718 H 74.514396"
id="path1472"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1474"
d="M 21.485704,8.5313225 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /></g></g></svg>

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,443 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
viewBox="0 0 64 64"
version="1.1"
xml:space="preserve"
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996;enable-background:new"
id="svg3967"
sodipodi:docname="alacritty-term.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><metadata
id="metadata3971"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#1b1b1b"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1912"
inkscape:window-height="2051"
id="namedview3969"
showgrid="true"
inkscape:pagecheckerboard="false"
showguides="false"
inkscape:guide-bbox="true"
inkscape:measure-start="35.0647,26.4746"
inkscape:measure-end="23.3668,17.3739"
inkscape:lockguides="false"
inkscape:snap-page="false"
inkscape:zoom="16.123347"
inkscape:cx="21.299484"
inkscape:cy="30.792291"
inkscape:window-x="1912"
inkscape:window-y="48"
inkscape:window-maximized="0"
inkscape:current-layer="layer1"
inkscape:snap-smooth-nodes="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showborder="true"
inkscape:showpageshadow="false"
inkscape:object-nodes="true"
viewbox-y="-0.5"
inkscape:snap-to-guides="false"
inkscape:snap-grids="false"><sodipodi:guide
position="52,8.2500022"
orientation="1,0"
id="guide959"
inkscape:locked="false"
inkscape:label="A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,48.250002"
orientation="0,1"
id="guide961"
inkscape:locked="false"
inkscape:label="A Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="1,0"
id="guide963"
inkscape:locked="false"
inkscape:label="A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="1,0"
id="guide965"
inkscape:locked="false"
inkscape:label="Vertical Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="0,1"
id="guide967"
inkscape:locked="false"
inkscape:label="Horizontal Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="28.813,21.500002"
orientation="1,0"
id="guide969"
inkscape:locked="false"
inkscape:label="Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="37.187,21.500002"
orientation="1,0"
id="guide971"
inkscape:locked="false"
inkscape:label="Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.5,48.250002"
orientation="1,0"
id="guide973"
inkscape:locked="false"
inkscape:label="A Top Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.5,48.250002"
orientation="1,0"
id="guide975"
inkscape:locked="false"
inkscape:label="A Top Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="20.5,8.2500022"
orientation="1,0"
id="guide977"
inkscape:locked="false"
inkscape:label="Width A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="45.5,8.2500022"
orientation="1,0"
id="guide979"
inkscape:locked="false"
inkscape:label="Width A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="0,1"
id="guide981"
inkscape:locked="false"
inkscape:label="A Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,12.688002"
orientation="0,1"
id="guide983"
inkscape:locked="false"
inkscape:label="Flame Curve Intersect"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="34.5,12.688002"
orientation="1,0"
id="guide985"
inkscape:locked="false"
inkscape:label="Right Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="31.5,12.688002"
orientation="1,0"
id="guide987"
inkscape:locked="false"
inkscape:label="Left Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,0.36128283"
id="guide3628"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,-0.36128283"
id="guide3630"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,21.500002"
orientation="0,1"
id="guide3644"
inkscape:locked="false"
inkscape:label="Flame Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.813,24.080519"
orientation="1,0"
id="guide3646"
inkscape:locked="false"
inkscape:label="Inner Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.187,24.080519"
orientation="1,0"
id="guide3648"
inkscape:locked="false"
inkscape:label="Inner Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,32.305002"
orientation="0,1"
id="guide3650"
inkscape:locked="false"
inkscape:label="Flame Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,5.0000022"
orientation="0,1"
id="guide3652"
inkscape:locked="false"
inkscape:label="Flame Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,53.750002"
orientation="0,1"
id="guide3936"
inkscape:locked="false"
inkscape:label="Term Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,3.0000022"
orientation="0,1"
id="guide3938"
inkscape:locked="false"
inkscape:label="Term Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="63,24.750002"
orientation="1,0"
id="guide3940"
inkscape:locked="false"
inkscape:label="Term Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="3.0000001,24.750002"
orientation="1,0"
id="guide3942"
inkscape:locked="false"
inkscape:label="Term Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="0,1"
id="guide15457"
inkscape:locked="false"
inkscape:label="Outline Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="1,0"
id="guide15459"
inkscape:locked="false"
inkscape:label="Outline Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="0,1"
id="guide15461"
inkscape:locked="false"
inkscape:label="Outline Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="1,0"
id="guide15463"
inkscape:locked="false"
inkscape:label="Outline Right"
inkscape:color="rgb(0,0,255)" /></sodipodi:namedview><defs
id="defs3965"><linearGradient
gradientTransform="matrix(0,473.895,-473.895,0,547.884,192.222)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0.079489581"
x1="0.025171699"
id="shadow"><stop
id="stop1000"
style="stop-color:#000000;stop-opacity:1"
offset="0" /><stop
id="stop1002"
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
id="red-orange"
x1="0.025171699"
y1="0.079489581"
x2="1"
y2="0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,473.895,-473.895,0,547.884,192.222)"><stop
offset="0"
style="stop-color:#ec2802;stop-opacity:1"
id="stop926" /><stop
offset="1"
style="stop-color:#fcb200;stop-opacity:1"
id="stop928" /></linearGradient><linearGradient
id="linearGradient5362"
osb:paint="solid"><stop
style="stop-color:#aaaaaa;stop-opacity:1;"
offset="0"
id="stop5360" /></linearGradient><linearGradient
inkscape:collect="always"
id="border"><stop
style="stop-color:#aaaaaa;stop-opacity:1"
offset="0"
id="stop4723" /><stop
style="stop-color:#424242;stop-opacity:1"
offset="1"
id="stop4725" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#red-orange"
id="linearGradient11006"
x1="19.0625"
y1="0"
x2="19"
y2="43.25"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95039318,0,0,0.91400987,29.942531,-23.16114)" /><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath3639"><path
inkscape:connector-curvature="0"
id="path3641"
d="M 14.813062,26.75 19,15.945 23.186938,26.75 19,43.25 Z"
style="fill:none;stroke:#000000;stroke-width:0.03779528;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /></clipPath><linearGradient
inkscape:collect="always"
xlink:href="#border"
id="linearGradient953"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.84565151,0,0,0.82216743,6.5635779,-53.720791)"
x1="48.747543"
y1="2.5380001"
x2="48.747543"
y2="59.381035" /><linearGradient
inkscape:collect="always"
xlink:href="#shadow"
id="linearGradient998"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95578689,0,0,1.0103945,0.41874974,-0.76487841)"
x1="35.337124"
y1="1.3206079"
x2="35.337124"
y2="-2.4122138" /><filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter1378"
x="-0.096199476"
width="1.192399"
y="-0.074239448"
height="1.1484789"><feGaussianBlur
inkscape:collect="always"
stdDeviation="1.0020779"
id="feGaussianBlur1380" /></filter><linearGradient
inkscape:collect="always"
xlink:href="#red-orange"
id="linearGradient1386"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95578689,0,0,1.0103945,0.41874974,-0.76487841)"
x1="2.5739074"
y1="-0.58920789"
x2="63.510384"
y2="-0.58920789" /><linearGradient
inkscape:collect="always"
xlink:href="#border"
id="linearGradient4287"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.96969697,0,0,0.95131275,0.48484848,-1.1843128)"
x1="48.747543"
y1="2.5380001"
x2="48.747543"
y2="59.381035" /></defs><g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Topbar"
style="display:inline"
transform="translate(0,7.3208818)"
sodipodi:insensitive="true"><g
id="g1008"><rect
ry="2.1057909"
rx="2.0726831"
y="-4.3995399"
x="2.8788567"
height="6.0786581"
width="58.242287"
id="rect5358"
style="fill:url(#linearGradient1386);fill-opacity:1;stroke-width:0.98271209" /><rect
style="opacity:0.5;fill:url(#linearGradient998);fill-opacity:1;stroke-width:0.98271209"
id="rect991"
width="58.242287"
height="6.0786581"
x="2.8788567"
y="-4.3995399"
rx="2.0726831"
ry="2.1057909" /></g></g><g
inkscape:groupmode="layer"
id="layer7"
inkscape:label="Outline"
style="display:inline"
transform="translate(-16,4.7828817)"
sodipodi:insensitive="true"><g
id="g951"><rect
style="opacity:1;fill:#dedede;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect944"
width="64"
height="54.297054"
x="16"
y="0.72006398"
ry="3.4421675"
rx="3.4067805" /><rect
rx="3.4067805"
ry="3.4225116"
y="1.2301193"
x="16"
height="53.987"
width="64"
id="rect15455"
style="opacity:1;fill:url(#linearGradient4287);fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke" /><rect
transform="scale(1,-1)"
style="opacity:1;fill:url(#linearGradient953);fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect936"
width="55.813"
height="46.658001"
x="20.094"
y="-51.634117"
ry="1.654344"
rx="1.6426716" /></g></g><g
id="layer4"
inkscape:label="Background"
style="display:inline"
transform="translate(-16,35.820639)"
sodipodi:insensitive="true"
inkscape:groupmode="layer"><rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90957505;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect3934"
width="55.226368"
height="45.61607"
x="20.386816"
y="-25.561707"
ry="1.5306553"
rx="1.5306553" /><rect
rx="0"
ry="0"
y="-24.604975"
x="21.545111"
height="43.702606"
width="52.909779"
id="rect932"
style="opacity:1;fill:#14232b;fill-opacity:1;stroke:none;stroke-width:0.87142098;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke" /></g><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Main"
style="display:inline"
transform="translate(-16,35.820639)"
sodipodi:insensitive="true"><g
id="g4199"><path
clip-path="none"
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="path5352"
d="M 44.994167,1.199154 44.05107,3.4841975 C 46.585268,11.287754 46.585268,11.287754 48,18.095103 49.414732,11.287754 49.414732,11.287754 51.94893,3.4841975 L 51.005833,1.199154 48,-6.0837323 Z"
style="clip-rule:evenodd;fill:#069efe;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.18277554;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:0.4330357;paint-order:stroke markers fill" /><path
sodipodi:nodetypes="cccccccc"
inkscape:connector-curvature="0"
id="path5336"
d="m 44.673625,-23.161141 h 6.65275 L 66.05747,13.39925 H 59.879914 L 48,-14.524464 36.120086,13.39925 H 29.94253 Z"
style="clip-rule:evenodd;fill:url(#linearGradient11006);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient10962);stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
transform="matrix(0.94315461,0,0,0.90704843,30.080063,-20.546611)"
clip-path="url(#clipPath3639)"
style="clip-rule:evenodd;display:inline;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke;filter:url(#filter1378)"
d="M 19,32.395 31.5,0 6.5,0.13313911 Z"
id="path9580"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" /></g></g></svg>

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,311 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
viewBox="0 0 64 64"
version="1.1"
xml:space="preserve"
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996;enable-background:new"
id="svg3967"
sodipodi:docname="alacritty-simple.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
inkscape:export-filename="/tmp/bitmap.png"
inkscape:export-xdpi="768.6236"
inkscape:export-ydpi="768.6236"><metadata
id="metadata3971"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#1b1b1b"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="3840"
inkscape:window-height="2059"
id="namedview3969"
showgrid="true"
inkscape:pagecheckerboard="false"
showguides="false"
inkscape:guide-bbox="true"
inkscape:measure-start="35.0647,26.4746"
inkscape:measure-end="23.3668,17.3739"
inkscape:lockguides="false"
inkscape:snap-page="false"
inkscape:zoom="22.801856"
inkscape:cx="18.421176"
inkscape:cy="32.472856"
inkscape:window-x="0"
inkscape:window-y="48"
inkscape:window-maximized="1"
inkscape:current-layer="g4199"
inkscape:snap-smooth-nodes="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showborder="true"
inkscape:showpageshadow="false"
inkscape:object-nodes="true"
viewbox-y="-0.5"
inkscape:snap-to-guides="false"
inkscape:snap-grids="false"><sodipodi:guide
position="52,8.2500022"
orientation="1,0"
id="guide959"
inkscape:locked="false"
inkscape:label="A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,48.250002"
orientation="0,1"
id="guide961"
inkscape:locked="false"
inkscape:label="A Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="1,0"
id="guide963"
inkscape:locked="false"
inkscape:label="A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="1,0"
id="guide965"
inkscape:locked="false"
inkscape:label="Vertical Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="0,1"
id="guide967"
inkscape:locked="false"
inkscape:label="Horizontal Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="28.813,21.500002"
orientation="1,0"
id="guide969"
inkscape:locked="false"
inkscape:label="Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="37.187,21.500002"
orientation="1,0"
id="guide971"
inkscape:locked="false"
inkscape:label="Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.5,48.250002"
orientation="1,0"
id="guide973"
inkscape:locked="false"
inkscape:label="A Top Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.5,48.250002"
orientation="1,0"
id="guide975"
inkscape:locked="false"
inkscape:label="A Top Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="20.5,8.2500022"
orientation="1,0"
id="guide977"
inkscape:locked="false"
inkscape:label="Width A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="45.5,8.2500022"
orientation="1,0"
id="guide979"
inkscape:locked="false"
inkscape:label="Width A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="0,1"
id="guide981"
inkscape:locked="false"
inkscape:label="A Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,12.688002"
orientation="0,1"
id="guide983"
inkscape:locked="false"
inkscape:label="Flame Curve Intersect"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="34.5,12.688002"
orientation="1,0"
id="guide985"
inkscape:locked="false"
inkscape:label="Right Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="31.5,12.688002"
orientation="1,0"
id="guide987"
inkscape:locked="false"
inkscape:label="Left Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,0.36128283"
id="guide3628"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,-0.36128283"
id="guide3630"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,21.500002"
orientation="0,1"
id="guide3644"
inkscape:locked="false"
inkscape:label="Flame Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.813,24.080519"
orientation="1,0"
id="guide3646"
inkscape:locked="false"
inkscape:label="Inner Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.187,24.080519"
orientation="1,0"
id="guide3648"
inkscape:locked="false"
inkscape:label="Inner Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,32.305002"
orientation="0,1"
id="guide3650"
inkscape:locked="false"
inkscape:label="Flame Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,5.0000022"
orientation="0,1"
id="guide3652"
inkscape:locked="false"
inkscape:label="Flame Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,53.750002"
orientation="0,1"
id="guide3936"
inkscape:locked="false"
inkscape:label="Term Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,3.0000022"
orientation="0,1"
id="guide3938"
inkscape:locked="false"
inkscape:label="Term Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="63,24.750002"
orientation="1,0"
id="guide3940"
inkscape:locked="false"
inkscape:label="Term Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="3.0000001,24.750002"
orientation="1,0"
id="guide3942"
inkscape:locked="false"
inkscape:label="Term Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="0,1"
id="guide15457"
inkscape:locked="false"
inkscape:label="Outline Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="1,0"
id="guide15459"
inkscape:locked="false"
inkscape:label="Outline Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="0,1"
id="guide15461"
inkscape:locked="false"
inkscape:label="Outline Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="1,0"
id="guide15463"
inkscape:locked="false"
inkscape:label="Outline Right"
inkscape:color="rgb(0,0,255)" /></sodipodi:namedview><defs
id="defs3965"><linearGradient
id="white-blue"
inkscape:collect="always"><stop
style="stop-color:#ffffff;stop-opacity:1"
offset="0"
id="stop966" /><stop
id="stop968"
offset="0.46000001"
style="stop-color:#f4fbff;stop-opacity:1" /><stop
style="stop-color:#069efe;stop-opacity:1;"
offset="1"
id="stop970" /></linearGradient><linearGradient
id="red-orange"
x1="0.025171699"
y1="0.079489581"
x2="1"
y2="0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,473.895,-473.895,0,547.884,192.222)"><stop
offset="0"
style="stop-color:#ec2802;stop-opacity:1"
id="stop926" /><stop
offset="1"
style="stop-color:#fcb200;stop-opacity:1"
id="stop928" /></linearGradient><linearGradient
id="linearGradient5362"
osb:paint="solid"><stop
style="stop-color:#aaaaaa;stop-opacity:1;"
offset="0"
id="stop5360" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#red-orange"
id="linearGradient11006"
x1="19.0625"
y1="0"
x2="19"
y2="43.25"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95039318,0,0,0.91400987,29.942531,-23.16114)" /><radialGradient
inkscape:collect="always"
xlink:href="#white-blue"
id="radialGradient948"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1.0888444,0,-2.2961931e-8,-3.9118274,100.20738,3.6084616)"
cx="47.947521"
cy="2.4776642"
fx="47.947521"
fy="2.4776642"
r="3.94893" /></defs><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Main"
style="display:inline"
transform="translate(-16,35.820639)"
sodipodi:insensitive="true"><g
id="g4199"
transform="matrix(1.4804836,0,0,1.4804836,-23.063212,1.217074)"><path
clip-path="none"
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="path5352"
d="M 44.994167,1.199154 44.05107,3.4841975 C 46.585268,11.287754 46.585268,11.287754 48,18.095103 49.414732,11.287754 49.414732,11.287754 51.94893,3.4841975 L 51.005833,1.199154 48,-6.0837323 Z"
style="clip-rule:evenodd;fill:url(#radialGradient948);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.18277554;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:0.4330357;paint-order:stroke markers fill" /><path
sodipodi:nodetypes="cccccccc"
inkscape:connector-curvature="0"
id="path5336"
d="m 44.673625,-23.161141 h 6.65275 L 66.05747,13.39925 H 59.879914 L 48,-14.524464 36.120086,13.39925 H 29.94253 Z"
style="clip-rule:evenodd;fill:url(#linearGradient11006);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient10962);stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /></g></g></svg>

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

View File

@ -0,0 +1,665 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
viewBox="0 0 64 64"
version="1.1"
xml:space="preserve"
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996;enable-background:new"
id="svg3967"
sodipodi:docname="alacritty-term+scanlines.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
inkscape:export-filename="/tmp/bitmap.png"
inkscape:export-xdpi="768.6236"
inkscape:export-ydpi="768.6236"><metadata
id="metadata3971"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#1b1b1b"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="3840"
inkscape:window-height="2059"
id="namedview3969"
showgrid="true"
inkscape:pagecheckerboard="false"
showguides="false"
inkscape:guide-bbox="true"
inkscape:measure-start="35.0647,26.4746"
inkscape:measure-end="23.3668,17.3739"
inkscape:lockguides="false"
inkscape:snap-page="false"
inkscape:zoom="22.801856"
inkscape:cx="18.421176"
inkscape:cy="32.472856"
inkscape:window-x="0"
inkscape:window-y="48"
inkscape:window-maximized="1"
inkscape:current-layer="g4199"
inkscape:snap-smooth-nodes="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showborder="true"
inkscape:showpageshadow="false"
inkscape:object-nodes="true"
viewbox-y="-0.5"
inkscape:snap-to-guides="false"
inkscape:snap-grids="false"><sodipodi:guide
position="52,8.2500022"
orientation="1,0"
id="guide959"
inkscape:locked="false"
inkscape:label="A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,48.250002"
orientation="0,1"
id="guide961"
inkscape:locked="false"
inkscape:label="A Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="1,0"
id="guide963"
inkscape:locked="false"
inkscape:label="A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="1,0"
id="guide965"
inkscape:locked="false"
inkscape:label="Vertical Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="0,1"
id="guide967"
inkscape:locked="false"
inkscape:label="Horizontal Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="28.813,21.500002"
orientation="1,0"
id="guide969"
inkscape:locked="false"
inkscape:label="Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="37.187,21.500002"
orientation="1,0"
id="guide971"
inkscape:locked="false"
inkscape:label="Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.5,48.250002"
orientation="1,0"
id="guide973"
inkscape:locked="false"
inkscape:label="A Top Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.5,48.250002"
orientation="1,0"
id="guide975"
inkscape:locked="false"
inkscape:label="A Top Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="20.5,8.2500022"
orientation="1,0"
id="guide977"
inkscape:locked="false"
inkscape:label="Width A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="45.5,8.2500022"
orientation="1,0"
id="guide979"
inkscape:locked="false"
inkscape:label="Width A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="0,1"
id="guide981"
inkscape:locked="false"
inkscape:label="A Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,12.688002"
orientation="0,1"
id="guide983"
inkscape:locked="false"
inkscape:label="Flame Curve Intersect"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="34.5,12.688002"
orientation="1,0"
id="guide985"
inkscape:locked="false"
inkscape:label="Right Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="31.5,12.688002"
orientation="1,0"
id="guide987"
inkscape:locked="false"
inkscape:label="Left Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,0.36128283"
id="guide3628"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,-0.36128283"
id="guide3630"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,21.500002"
orientation="0,1"
id="guide3644"
inkscape:locked="false"
inkscape:label="Flame Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.813,24.080519"
orientation="1,0"
id="guide3646"
inkscape:locked="false"
inkscape:label="Inner Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.187,24.080519"
orientation="1,0"
id="guide3648"
inkscape:locked="false"
inkscape:label="Inner Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,32.305002"
orientation="0,1"
id="guide3650"
inkscape:locked="false"
inkscape:label="Flame Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,5.0000022"
orientation="0,1"
id="guide3652"
inkscape:locked="false"
inkscape:label="Flame Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,53.750002"
orientation="0,1"
id="guide3936"
inkscape:locked="false"
inkscape:label="Term Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,3.0000022"
orientation="0,1"
id="guide3938"
inkscape:locked="false"
inkscape:label="Term Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="63,24.750002"
orientation="1,0"
id="guide3940"
inkscape:locked="false"
inkscape:label="Term Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="3.0000001,24.750002"
orientation="1,0"
id="guide3942"
inkscape:locked="false"
inkscape:label="Term Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="0,1"
id="guide15457"
inkscape:locked="false"
inkscape:label="Outline Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="1,0"
id="guide15459"
inkscape:locked="false"
inkscape:label="Outline Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="0,1"
id="guide15461"
inkscape:locked="false"
inkscape:label="Outline Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="1,0"
id="guide15463"
inkscape:locked="false"
inkscape:label="Outline Right"
inkscape:color="rgb(0,0,255)" /></sodipodi:namedview><defs
id="defs3965"><linearGradient
id="white-blue"
inkscape:collect="always"><stop
style="stop-color:#ffffff;stop-opacity:1"
offset="0"
id="stop966" /><stop
id="stop968"
offset="0.46000001"
style="stop-color:#f4fbff;stop-opacity:1" /><stop
style="stop-color:#069efe;stop-opacity:1;"
offset="1"
id="stop970" /></linearGradient><linearGradient
gradientTransform="matrix(0,473.895,-473.895,0,547.884,192.222)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0.079489581"
x1="0.025171699"
id="shadow"><stop
id="stop1000"
style="stop-color:#000000;stop-opacity:1"
offset="0" /><stop
id="stop1002"
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
id="red-orange"
x1="0.025171699"
y1="0.079489581"
x2="1"
y2="0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,473.895,-473.895,0,547.884,192.222)"><stop
offset="0"
style="stop-color:#ec2802;stop-opacity:1"
id="stop926" /><stop
offset="1"
style="stop-color:#fcb200;stop-opacity:1"
id="stop928" /></linearGradient><linearGradient
id="linearGradient5362"
osb:paint="solid"><stop
style="stop-color:#aaaaaa;stop-opacity:1;"
offset="0"
id="stop5360" /></linearGradient><linearGradient
inkscape:collect="always"
id="border"><stop
style="stop-color:#aaaaaa;stop-opacity:1"
offset="0"
id="stop4723" /><stop
style="stop-color:#424242;stop-opacity:1"
offset="1"
id="stop4725" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#red-orange"
id="linearGradient11006"
x1="19.0625"
y1="0"
x2="19"
y2="43.25"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95039318,0,0,0.91400987,29.942531,-23.16114)" /><linearGradient
inkscape:collect="always"
xlink:href="#border"
id="linearGradient953"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.84565151,0,0,0.82216743,6.5635779,-53.720791)"
x1="48.747543"
y1="2.5380001"
x2="48.747543"
y2="59.381035" /><linearGradient
inkscape:collect="always"
xlink:href="#shadow"
id="linearGradient998"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95578689,0,0,1.0103945,0.41874974,-0.76487841)"
x1="35.337124"
y1="1.3206079"
x2="35.337124"
y2="-2.4122138" /><linearGradient
inkscape:collect="always"
xlink:href="#red-orange"
id="linearGradient1386"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95578689,0,0,1.0103945,0.41874974,-0.76487841)"
x1="2.5739074"
y1="-0.58920789"
x2="63.510384"
y2="-0.58920789" /><filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4241"
x="-0.064270784"
width="1.1285416"
y="-0.056261436"
height="1.1125229"><feGaussianBlur
inkscape:collect="always"
stdDeviation="0.9671398"
id="feGaussianBlur4243" /></filter><linearGradient
inkscape:collect="always"
xlink:href="#border"
id="linearGradient4287"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.96969697,0,0,0.95131275,0.48484848,-1.1843128)"
x1="48.747543"
y1="2.5380001"
x2="48.747543"
y2="59.381035" /><filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4303"
x="-0.0076852223"
width="1.0153704"
y="-0.0092613701"
height="1.0185227"><feGaussianBlur
inkscape:collect="always"
stdDeviation="0.1698072"
id="feGaussianBlur4305" /></filter><radialGradient
inkscape:collect="always"
xlink:href="#white-blue"
id="radialGradient998"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1,0,0,-4.5559645,95.947521,5.2044174)"
cx="47.947521"
cy="2.4776642"
fx="47.947521"
fy="2.4776642"
r="3.94893" /><radialGradient
inkscape:collect="always"
xlink:href="#white-blue"
id="radialGradient948"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1.0888444,0,-2.2961931e-8,-3.9118274,100.20738,3.6084616)"
cx="47.947521"
cy="2.4776642"
fx="47.947521"
fy="2.4776642"
r="3.94893" /></defs><g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Topbar"
style="display:inline"
transform="translate(0,7.3208818)"
sodipodi:insensitive="true"><g
id="g1008"><rect
ry="2.1057909"
rx="2.0726831"
y="-4.3995399"
x="2.8788567"
height="6.0786581"
width="58.242287"
id="rect5358"
style="fill:url(#linearGradient1386);fill-opacity:1;stroke-width:0.98271209" /><rect
style="opacity:0.5;fill:url(#linearGradient998);fill-opacity:1;stroke-width:0.98271209"
id="rect991"
width="58.242287"
height="6.0786581"
x="2.8788567"
y="-4.3995399"
rx="2.0726831"
ry="2.1057909" /></g></g><g
inkscape:groupmode="layer"
id="layer7"
inkscape:label="Outline"
style="display:inline"
transform="translate(-16,4.7828817)"
sodipodi:insensitive="true"><g
id="g951"><rect
style="opacity:1;fill:#dedede;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect944"
width="64"
height="54.297054"
x="16"
y="0.72006398"
ry="3.4421675"
rx="3.4067805" /><rect
rx="3.4067805"
ry="3.4225116"
y="1.2301193"
x="16"
height="53.987"
width="64"
id="rect15455"
style="opacity:1;fill:url(#linearGradient4287);fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke" /><rect
transform="scale(1,-1)"
style="opacity:1;fill:url(#linearGradient953);fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect936"
width="55.813"
height="46.658001"
x="20.094"
y="-51.634117"
ry="1.654344"
rx="1.6426716" /></g></g><g
id="layer4"
inkscape:label="Background"
style="display:inline"
transform="translate(-16,35.820639)"
sodipodi:insensitive="true"
inkscape:groupmode="layer"><rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90957505;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect3934"
width="55.226368"
height="45.61607"
x="20.386816"
y="-25.561707"
ry="1.5306553"
rx="1.5306553" /><rect
rx="0"
ry="0"
y="-24.604975"
x="21.545111"
height="43.702606"
width="52.909779"
id="rect932"
style="opacity:1;fill:#14232b;fill-opacity:1;stroke:none;stroke-width:0.87142098;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke" /></g><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Main"
style="display:inline"
transform="translate(-16,35.820639)"
sodipodi:insensitive="true"><g
id="g4199"><path
clip-path="none"
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="path5352"
d="M 44.994167,1.199154 44.05107,3.4841975 C 46.585268,11.287754 46.585268,11.287754 48,18.095103 49.414732,11.287754 49.414732,11.287754 51.94893,3.4841975 L 51.005833,1.199154 48,-6.0837323 Z"
style="clip-rule:evenodd;fill:url(#radialGradient948);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.18277554;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:0.4330357;paint-order:stroke markers fill" /><path
sodipodi:nodetypes="cccccccc"
inkscape:connector-curvature="0"
id="path5336"
d="m 44.673625,-23.161141 h 6.65275 L 66.05747,13.39925 H 59.879914 L 48,-14.524464 36.120086,13.39925 H 29.94253 Z"
style="clip-rule:evenodd;fill:url(#linearGradient11006);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient10962);stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /></g></g><g
sodipodi:insensitive="true"
transform="translate(-16,35.820639)"
style="display:inline"
inkscape:label="Glow"
id="g4189"
inkscape:groupmode="layer"><g
id="g4194"
style="filter:url(#filter4241)"><path
style="clip-rule:evenodd;fill:url(#radialGradient998);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:0.18277554;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:0.4330357;paint-order:stroke markers fill"
d="M 44.994167,1.199154 44.05107,3.4841975 C 46.585268,11.287754 46.585268,11.287754 48,18.095103 49.414732,11.287754 49.414732,11.287754 51.94893,3.4841975 L 51.005833,1.199154 48,-6.0837323 Z"
id="path1019"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc"
clip-path="none" /><path
style="clip-rule:evenodd;fill:url(#linearGradient11006);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient10962);stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="m 44.673625,-23.161141 h 6.65275 L 66.05747,13.39925 H 59.879914 L 48,-14.524464 36.120086,13.39925 H 29.94253 Z"
id="path4185"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" /></g></g><g
inkscape:groupmode="layer"
id="layer6"
inkscape:label="Scanlines"
style="display:inline"
transform="translate(-16,4.7828817)"
sodipodi:insensitive="true"><g
id="g4141"
style="opacity:0.75;filter:url(#filter4303)"><path
inkscape:connector-curvature="0"
id="path1394"
d="M 21.485704,29.433218 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,44.834618 H 74.514396"
id="path1396"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1398"
d="M 21.485704,32.733518 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,39.334118 H 74.514396"
id="path1400"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1402"
d="M 21.485704,7.4312225 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,33.833618 H 74.514396"
id="path1404"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1406"
d="M 21.485704,22.832618 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,14.031818 H 74.514396"
id="path1408"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1410"
d="M 21.485704,25.032818 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,11.831618 H 74.514396"
id="path1412"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1414"
d="M 21.485704,47.034818 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,48.134918 H 74.514396"
id="path1416"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1418"
d="M 21.485704,28.333118 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,26.132918 H 74.514396"
id="path1420"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1422"
d="M 21.485704,27.233018 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,23.932718 H 74.514396"
id="path1424"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1426"
d="M 21.485704,45.934718 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,9.6314225 H 74.514396"
id="path1428"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1430"
d="M 21.485704,10.73152 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,12.931718 H 74.514396"
id="path1432"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1434"
d="M 21.485704,37.133918 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,38.234018 H 74.514396"
id="path1436"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1438"
d="M 21.485704,43.734518 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,17.332118 H 74.514396"
id="path1440"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1442"
d="M 21.485704,40.434218 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,41.534318 H 74.514396"
id="path1444"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1446"
d="M 21.485704,6.3311225 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,30.533318 H 74.514396"
id="path1448"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1450"
d="M 21.485704,31.633418 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,49.235018 H 74.514396"
id="path1452"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1454"
d="M 21.485704,16.232018 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,15.131918 H 74.514396"
id="path1456"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1458"
d="M 21.485704,36.033818 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,50.335118 H 74.514396"
id="path1460"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1462"
d="M 21.485704,20.632418 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,21.732518 H 74.514396"
id="path1464"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1466"
d="M 21.485704,42.634418 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,18.432218 H 74.514396"
id="path1468"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1470"
d="M 21.485704,19.532318 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
d="M 21.485704,34.933718 H 74.514396"
id="path1472"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path1474"
d="M 21.485704,8.5313225 H 74.514396"
style="fill:none;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /></g></g></svg>

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,444 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
viewBox="0 0 64 64"
version="1.1"
xml:space="preserve"
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996;enable-background:new"
id="svg3967"
sodipodi:docname="alacritty-term.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
inkscape:export-filename="/tmp/bitmap.png"
inkscape:export-xdpi="768.6236"
inkscape:export-ydpi="768.6236"><metadata
id="metadata3971"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#1b1b1b"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="3840"
inkscape:window-height="2059"
id="namedview3969"
showgrid="true"
inkscape:pagecheckerboard="false"
showguides="false"
inkscape:guide-bbox="true"
inkscape:measure-start="35.0647,26.4746"
inkscape:measure-end="23.3668,17.3739"
inkscape:lockguides="false"
inkscape:snap-page="false"
inkscape:zoom="22.801856"
inkscape:cx="18.421176"
inkscape:cy="32.472856"
inkscape:window-x="0"
inkscape:window-y="48"
inkscape:window-maximized="1"
inkscape:current-layer="g4199"
inkscape:snap-smooth-nodes="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showborder="true"
inkscape:showpageshadow="false"
inkscape:object-nodes="true"
viewbox-y="-0.5"
inkscape:snap-to-guides="false"
inkscape:snap-grids="false"><sodipodi:guide
position="52,8.2500022"
orientation="1,0"
id="guide959"
inkscape:locked="false"
inkscape:label="A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,48.250002"
orientation="0,1"
id="guide961"
inkscape:locked="false"
inkscape:label="A Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="1,0"
id="guide963"
inkscape:locked="false"
inkscape:label="A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="1,0"
id="guide965"
inkscape:locked="false"
inkscape:label="Vertical Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,24.750002"
orientation="0,1"
id="guide967"
inkscape:locked="false"
inkscape:label="Horizontal Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="28.813,21.500002"
orientation="1,0"
id="guide969"
inkscape:locked="false"
inkscape:label="Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="37.187,21.500002"
orientation="1,0"
id="guide971"
inkscape:locked="false"
inkscape:label="Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.5,48.250002"
orientation="1,0"
id="guide973"
inkscape:locked="false"
inkscape:label="A Top Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.5,48.250002"
orientation="1,0"
id="guide975"
inkscape:locked="false"
inkscape:label="A Top Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="20.5,8.2500022"
orientation="1,0"
id="guide977"
inkscape:locked="false"
inkscape:label="Width A Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="45.5,8.2500022"
orientation="1,0"
id="guide979"
inkscape:locked="false"
inkscape:label="Width A Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="14,8.2500022"
orientation="0,1"
id="guide981"
inkscape:locked="false"
inkscape:label="A Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,12.688002"
orientation="0,1"
id="guide983"
inkscape:locked="false"
inkscape:label="Flame Curve Intersect"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="34.5,12.688002"
orientation="1,0"
id="guide985"
inkscape:locked="false"
inkscape:label="Right Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="31.5,12.688002"
orientation="1,0"
id="guide987"
inkscape:locked="false"
inkscape:label="Left Flame Curve"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,0.36128283"
id="guide3628"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,15.855002"
orientation="-0.93245628,-0.36128283"
id="guide3630"
inkscape:locked="false"
inkscape:label="Inner Flame Angle Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,21.500002"
orientation="0,1"
id="guide3644"
inkscape:locked="false"
inkscape:label="Flame Center"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="29.813,24.080519"
orientation="1,0"
id="guide3646"
inkscape:locked="false"
inkscape:label="Inner Flame Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="36.187,24.080519"
orientation="1,0"
id="guide3648"
inkscape:locked="false"
inkscape:label="Inner Flame Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,32.305002"
orientation="0,1"
id="guide3650"
inkscape:locked="false"
inkscape:label="Flame Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,5.0000022"
orientation="0,1"
id="guide3652"
inkscape:locked="false"
inkscape:label="Flame Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,53.750002"
orientation="0,1"
id="guide3936"
inkscape:locked="false"
inkscape:label="Term Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="33,3.0000022"
orientation="0,1"
id="guide3938"
inkscape:locked="false"
inkscape:label="Term Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="63,24.750002"
orientation="1,0"
id="guide3940"
inkscape:locked="false"
inkscape:label="Term Right"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="3.0000001,24.750002"
orientation="1,0"
id="guide3942"
inkscape:locked="false"
inkscape:label="Term Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="0,1"
id="guide15457"
inkscape:locked="false"
inkscape:label="Outline Top"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="1.4777768e-07,56.750002"
orientation="1,0"
id="guide15459"
inkscape:locked="false"
inkscape:label="Outline Left"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="0,1"
id="guide15461"
inkscape:locked="false"
inkscape:label="Outline Bottom"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="66,2.2454491e-06"
orientation="1,0"
id="guide15463"
inkscape:locked="false"
inkscape:label="Outline Right"
inkscape:color="rgb(0,0,255)" /></sodipodi:namedview><defs
id="defs3965"><linearGradient
id="white-blue"
inkscape:collect="always"><stop
style="stop-color:#ffffff;stop-opacity:1"
offset="0"
id="stop966" /><stop
id="stop968"
offset="0.46000001"
style="stop-color:#f4fbff;stop-opacity:1" /><stop
style="stop-color:#069efe;stop-opacity:1;"
offset="1"
id="stop970" /></linearGradient><linearGradient
gradientTransform="matrix(0,473.895,-473.895,0,547.884,192.222)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0.079489581"
x1="0.025171699"
id="shadow"><stop
id="stop1000"
style="stop-color:#000000;stop-opacity:1"
offset="0" /><stop
id="stop1002"
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
id="red-orange"
x1="0.025171699"
y1="0.079489581"
x2="1"
y2="0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,473.895,-473.895,0,547.884,192.222)"><stop
offset="0"
style="stop-color:#ec2802;stop-opacity:1"
id="stop926" /><stop
offset="1"
style="stop-color:#fcb200;stop-opacity:1"
id="stop928" /></linearGradient><linearGradient
id="linearGradient5362"
osb:paint="solid"><stop
style="stop-color:#aaaaaa;stop-opacity:1;"
offset="0"
id="stop5360" /></linearGradient><linearGradient
inkscape:collect="always"
id="border"><stop
style="stop-color:#aaaaaa;stop-opacity:1"
offset="0"
id="stop4723" /><stop
style="stop-color:#424242;stop-opacity:1"
offset="1"
id="stop4725" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#red-orange"
id="linearGradient11006"
x1="19.0625"
y1="0"
x2="19"
y2="43.25"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95039318,0,0,0.91400987,29.942531,-23.16114)" /><linearGradient
inkscape:collect="always"
xlink:href="#border"
id="linearGradient953"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.84565151,0,0,0.82216743,6.5635779,-53.720791)"
x1="48.747543"
y1="2.5380001"
x2="48.747543"
y2="59.381035" /><linearGradient
inkscape:collect="always"
xlink:href="#shadow"
id="linearGradient998"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95578689,0,0,1.0103945,0.41874974,-0.76487841)"
x1="35.337124"
y1="1.3206079"
x2="35.337124"
y2="-2.4122138" /><linearGradient
inkscape:collect="always"
xlink:href="#red-orange"
id="linearGradient1386"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.95578689,0,0,1.0103945,0.41874974,-0.76487841)"
x1="2.5739074"
y1="-0.58920789"
x2="63.510384"
y2="-0.58920789" /><linearGradient
inkscape:collect="always"
xlink:href="#border"
id="linearGradient4287"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.96969697,0,0,0.95131275,0.48484848,-1.1843128)"
x1="48.747543"
y1="2.5380001"
x2="48.747543"
y2="59.381035" /><radialGradient
inkscape:collect="always"
xlink:href="#white-blue"
id="radialGradient948"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1.0888444,0,-2.2961931e-8,-3.9118274,100.20738,3.6084616)"
cx="47.947521"
cy="2.4776642"
fx="47.947521"
fy="2.4776642"
r="3.94893" /></defs><g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Topbar"
style="display:inline"
transform="translate(0,7.3208818)"
sodipodi:insensitive="true"><g
id="g1008"><rect
ry="2.1057909"
rx="2.0726831"
y="-4.3995399"
x="2.8788567"
height="6.0786581"
width="58.242287"
id="rect5358"
style="fill:url(#linearGradient1386);fill-opacity:1;stroke-width:0.98271209" /><rect
style="opacity:0.5;fill:url(#linearGradient998);fill-opacity:1;stroke-width:0.98271209"
id="rect991"
width="58.242287"
height="6.0786581"
x="2.8788567"
y="-4.3995399"
rx="2.0726831"
ry="2.1057909" /></g></g><g
inkscape:groupmode="layer"
id="layer7"
inkscape:label="Outline"
style="display:inline"
transform="translate(-16,4.7828817)"
sodipodi:insensitive="true"><g
id="g951"><rect
style="opacity:1;fill:#dedede;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect944"
width="64"
height="54.297054"
x="16"
y="0.72006398"
ry="3.4421675"
rx="3.4067805" /><rect
rx="3.4067805"
ry="3.4225116"
y="1.2301193"
x="16"
height="53.987"
width="64"
id="rect15455"
style="opacity:1;fill:url(#linearGradient4287);fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke" /><rect
transform="scale(1,-1)"
style="opacity:1;fill:url(#linearGradient953);fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect936"
width="55.813"
height="46.658001"
x="20.094"
y="-51.634117"
ry="1.654344"
rx="1.6426716" /></g></g><g
id="layer4"
inkscape:label="Background"
style="display:inline"
transform="translate(-16,35.820639)"
sodipodi:insensitive="true"
inkscape:groupmode="layer"><rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90957505;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect3934"
width="55.226368"
height="45.61607"
x="20.386816"
y="-25.561707"
ry="1.5306553"
rx="1.5306553" /><rect
rx="0"
ry="0"
y="-24.604975"
x="21.545111"
height="43.702606"
width="52.909779"
id="rect932"
style="opacity:1;fill:#14232b;fill-opacity:1;stroke:none;stroke-width:0.87142098;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke" /></g><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Main"
style="display:inline"
transform="translate(-16,35.820639)"
sodipodi:insensitive="true"><g
id="g4199"><path
clip-path="none"
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="path5352"
d="M 44.994167,1.199154 44.05107,3.4841975 C 46.585268,11.287754 46.585268,11.287754 48,18.095103 49.414732,11.287754 49.414732,11.287754 51.94893,3.4841975 L 51.005833,1.199154 48,-6.0837323 Z"
style="clip-rule:evenodd;fill:url(#radialGradient948);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.18277554;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:0.4330357;paint-order:stroke markers fill" /><path
sodipodi:nodetypes="cccccccc"
inkscape:connector-curvature="0"
id="path5336"
d="m 44.673625,-23.161141 h 6.65275 L 66.05747,13.39925 H 59.879914 L 48,-14.524464 36.120086,13.39925 H 29.94253 Z"
style="clip-rule:evenodd;fill:url(#linearGradient11006);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient10962);stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" /></g></g></svg>

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>alacritty</string>
<key>CFBundleIdentifier</key>
<string>io.alacritty</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Alacritty</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.10.0-dev</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>CFBundleIconFile</key>
<string>alacritty.icns</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>NSMainNibFile</key>
<string></string>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>CFBundleDisplayName</key>
<string>Alacritty</string>
<key>NSRequiresAquaSystemAppearance</key>
<string>NO</string>
<key>NSAppleEventsUsageDescription</key>
<string>An application in Alacritty would like to access AppleScript.</string>
<key>NSCalendarsUsageDescription</key>
<string>An application in Alacritty would like to access calendar data.</string>
<key>NSCameraUsageDescription</key>
<string>An application in Alacritty would like to access the camera.</string>
<key>NSContactsUsageDescription</key>
<string>An application in Alacritty wants to access your contacts.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>An application in Alacritty would like to access your location information, even in the background.</string>
<key>NSLocationUsageDescription</key>
<string>An application in Alacritty would like to access your location information.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>An application in Alacritty would like to access your location information while active.</string>
<key>NSMicrophoneUsageDescription</key>
<string>An application in Alacritty would like to access your microphone.</string>
<key>NSRemindersUsageDescription</key>
<string>An application in Alacritty would like to access your reminders.</string>
<key>NSSystemAdministrationUsageDescription</key>
<string>An application in Alacritty requires elevated permissions.</string>
</dict>
</plist>

View File

@ -0,0 +1 @@
../alacritty/windows

View File

@ -0,0 +1,15 @@
format_code_in_doc_comments = true
match_block_trailing_comma = true
condense_wildcard_suffixes = true
use_field_init_shorthand = true
normalize_doc_attributes = true
overflow_delimited_expr = true
imports_granularity = "Module"
use_small_heuristics = "Max"
normalize_comments = true
reorder_impl_items = true
use_try_shorthand = true
newline_style = "Unix"
format_strings = true
wrap_comments = true
comment_width = 100

View File

@ -0,0 +1,101 @@
#!/usr/bin/env bash
# This file was originally taken from iterm2 https://github.com/gnachman/iTerm2/blob/master/tests/24-bit-color.sh
#
# This file echoes a bunch of 24-bit color codes
# to the terminal to demonstrate its functionality.
# The foreground escape sequence is ^[38;2;<r>;<g>;<b>m
# The background escape sequence is ^[48;2;<r>;<g>;<b>m
# <r> <g> <b> range from 0 to 255 inclusive.
# The escape sequence ^[0m returns output to default
setBackgroundColor()
{
#printf '\x1bPtmux;\x1b\x1b[48;2;%s;%s;%sm' $1 $2 $3
printf '\x1b[48;2;%s;%s;%sm' $1 $2 $3
}
resetOutput()
{
echo -en "\x1b[0m\n"
}
# Gives a color $1/255 % along HSV
# Who knows what happens when $1 is outside 0-255
# Echoes "$red $green $blue" where
# $red $green and $blue are integers
# ranging between 0 and 255 inclusive
rainbowColor()
{
let h=$1/43
let f=$1-43*$h
let t=$f*255/43
let q=255-t
if [ $h -eq 0 ]
then
echo "255 $t 0"
elif [ $h -eq 1 ]
then
echo "$q 255 0"
elif [ $h -eq 2 ]
then
echo "0 255 $t"
elif [ $h -eq 3 ]
then
echo "0 $q 255"
elif [ $h -eq 4 ]
then
echo "$t 0 255"
elif [ $h -eq 5 ]
then
echo "255 0 $q"
else
# execution should never reach here
echo "0 0 0"
fi
}
for i in `seq 0 127`; do
setBackgroundColor $i 0 0
echo -en " "
done
resetOutput
for i in `seq 255 -1 128`; do
setBackgroundColor $i 0 0
echo -en " "
done
resetOutput
for i in `seq 0 127`; do
setBackgroundColor 0 $i 0
echo -n " "
done
resetOutput
for i in `seq 255 -1 128`; do
setBackgroundColor 0 $i 0
echo -n " "
done
resetOutput
for i in `seq 0 127`; do
setBackgroundColor 0 0 $i
echo -n " "
done
resetOutput
for i in `seq 255 -1 128`; do
setBackgroundColor 0 0 $i
echo -n " "
done
resetOutput
for i in `seq 0 127`; do
setBackgroundColor `rainbowColor $i`
echo -n " "
done
resetOutput
for i in `seq 255 -1 128`; do
setBackgroundColor `rainbowColor $i`
echo -n " "
done
resetOutput

View File

@ -0,0 +1,26 @@
Scripts
=======
## Flamegraph
Run the release version of Alacritty while recording call stacks. After the
Alacritty process exits, a flamegraph will be generated and it's URI printed
as the only output to STDOUT.
```sh
./create-flamegraph.sh
```
Running this script depends on an installation of `perf`.
## ANSI Color Tests
We include a few scripts for testing the color of text inside a terminal. The
first shows various foreground and background variants. The second enumerates
all the colors of a standard terminal. The third enumerates the 24-bit colors.
```sh
./fg-bg.sh
./colors.sh
./24-bit-colors.sh
```

View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
for x in {0..8}; do
for i in {30..37}; do
for a in {40..47}; do
echo -ne "\e[$x;$i;$a""m\\\e[$x;$i;$a""m\e[0;37;40m "
done
echo
done
done
echo ""

View File

@ -0,0 +1,31 @@
#!/usr/bin/env bash
# The full path to the script directory, regardless of pwd.
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
# Make sure perf is available.
if [ ! -x "$(command -v perf)" ]
then
echo "Cannot find perf, please make sure it's installed."
exit 1
fi
# Install cargo-flamegraph
installed_flamegraph=0
if [ ! -x "$(command -v cargo-flamegraph)" ]; then
echo "cargo-flamegraph not installed; installing ..."
cargo install flamegraph
installed_flamegraph=1
fi
# Create flamegraph
cargo flamegraph --bin=alacritty -- $@
# Unintall cargo-flamegraph if it has been installed with this script
if [ $installed_flamegraph == 1 ]; then
read -p "Would you like to uninstall cargo-flamegraph? [Y/n] " -n 1 -r
echo
if [[ "$REPLY" =~ ^[^Nn]*$ ]]; then
cargo uninstall flamegraph
fi
fi

View File

@ -0,0 +1,53 @@
#!/usr/bin/env bash
printf "Fg=Black Bg=Black \e[30;40mTEST\e[m\n"
printf "Fg=Black Bg=White \e[30;107mTEST\e[m\n"
printf "Fg=Black Bg=Red \e[30;41mTEST\e[m\n"
printf "Fg=Black Bg=BG \e[30;49mTEST\e[m\n"
printf "Fg=White Bg=Black \e[97;40mTEST\e[m\n"
printf "Fg=White Bg=White \e[97;107mTEST\e[m\n"
printf "Fg=White Bg=Red \e[97;41mTEST\e[m\n"
printf "Fg=White Bg=BG \e[97;49mTEST\e[m\n"
printf "Fg=Red Bg=Black \e[31;40mTEST\e[m\n"
printf "Fg=Red Bg=White \e[31;107mTEST\e[m\n"
printf "Fg=Red Bg=Red \e[31;41mTEST\e[m\n"
printf "Fg=Red Bg=BG \e[31;49mTEST\e[m\n"
printf "\n"
printf "Fg=Black Bg=Black Inverse \e[7;30;40mTEST\e[m\n"
printf "Fg=Black Bg=White Inverse \e[7;30;107mTEST\e[m\n"
printf "Fg=Black Bg=Red Inverse \e[7;30;41mTEST\e[m\n"
printf "Fg=Black Bg=BG Inverse \e[7;30;49mTEST\e[m\n"
printf "Fg=White Bg=Black Inverse \e[7;97;40mTEST\e[m\n"
printf "Fg=White Bg=White Inverse \e[7;97;107mTEST\e[m\n"
printf "Fg=White Bg=Red Inverse \e[7;97;41mTEST\e[m\n"
printf "Fg=White Bg=BG Inverse \e[7;97;49mTEST\e[m\n"
printf "Fg=Red Bg=Black Inverse \e[7;31;40mTEST\e[m\n"
printf "Fg=Red Bg=White Inverse \e[7;31;107mTEST\e[m\n"
printf "Fg=Red Bg=Red Inverse \e[7;31;41mTEST\e[m\n"
printf "Fg=Red Bg=BG Inverse \e[7;31;49mTEST\e[m\n"
printf "\n"
printf "Fg=Black Bg=Black Hidden \e[8;30;40mTEST\e[m\n"
printf "Fg=Black Bg=White Hidden \e[8;30;107mTEST\e[m\n"
printf "Fg=Black Bg=Red Hidden \e[8;30;41mTEST\e[m\n"
printf "Fg=Black Bg=BG Hidden \e[8;30;49mTEST\e[m\n"
printf "Fg=White Bg=Black Hidden \e[8;97;40mTEST\e[m\n"
printf "Fg=White Bg=White Hidden \e[8;97;107mTEST\e[m\n"
printf "Fg=White Bg=Red Hidden \e[8;97;41mTEST\e[m\n"
printf "Fg=White Bg=BG Hidden \e[8;97;49mTEST\e[m\n"
printf "Fg=Red Bg=Black Hidden \e[8;31;40mTEST\e[m\n"
printf "Fg=Red Bg=White Hidden \e[8;31;107mTEST\e[m\n"
printf "Fg=Red Bg=Red Hidden \e[8;31;41mTEST\e[m\n"
printf "Fg=Red Bg=BG Hidden \e[8;31;49mTEST\e[m\n"
printf "\n"
printf "Fg=Black Bg=Black Hid+Inv \e[7;8;30;40mTEST\e[m\n"
printf "Fg=Black Bg=White Hid+Inv \e[7;8;30;107mTEST\e[m\n"
printf "Fg=Black Bg=Red Hid+Inv \e[7;8;30;41mTEST\e[m\n"
printf "Fg=Black Bg=BG Hid+Inv \e[7;8;30;49mTEST\e[m\n"
printf "Fg=White Bg=Black Hid+Inv \e[7;8;97;40mTEST\e[m\n"
printf "Fg=White Bg=White Hid+Inv \e[7;8;97;107mTEST\e[m\n"
printf "Fg=White Bg=Red Hid+Inv \e[7;8;97;41mTEST\e[m\n"
printf "Fg=White Bg=BG Hid+Inv \e[7;8;97;49mTEST\e[m\n"
printf "Fg=Red Bg=Black Hid+Inv \e[7;8;31;40mTEST\e[m\n"
printf "Fg=Red Bg=White Hid+Inv \e[7;8;31;107mTEST\e[m\n"
printf "Fg=Red Bg=Red Hid+Inv \e[7;8;31;41mTEST\e[m\n"
printf "Fg=Red Bg=BG Hid+Inv \e[7;8;31;49mTEST\e[m\n"

View File

@ -0,0 +1,18 @@
# Example font config file. If you have these fonts installed you can apply them
fonts:
UbuntuMono: UbuntuMono Nerd Font
Mononoki: mononoki Nerd Font
Agave: agave Nerd Font
Caskaydia: Caskaydia Cove Nerd Font
Hurmit: Hurmit Nerd Font Mono
DaddyTime: DaddyTimeMono Nerd Font
Iosevka: Iosevka NF
Hack: Hack NF
SpaceMono: SpaceMono NF
Monospace: Monospace Font
Consolas: Consolas Font
JetBrains:
normal: JetBrains Mono Medium Nerd Font
italic: JetBrains Mono Medium Nerd Font
bold: JetBrains Mono ExtraBold Nerd Font

View File

@ -0,0 +1,48 @@
colors:
# Default colors
primary:
background: '#2c2c2c'
foreground: '#d6d6d6'
dim_foreground: '#dbdbdb'
bright_foreground: '#d9d9d9'
dim_background: '#202020' # not sure
bright_background: '#3a3a3a' # not sure
# Cursor colors
cursor:
text: '#2c2c2c'
cursor: '#d9d9d9'
# Normal colors
normal:
black: '#1c1c1c'
red: '#bc5653'
green: '#909d63'
yellow: '#ebc17a'
blue: '#7eaac7'
magenta: '#aa6292'
cyan: '#86d3ce'
white: '#cacaca'
# Bright colors
bright:
black: '#636363'
red: '#bc5653'
green: '#909d63'
yellow: '#ebc17a'
blue: '#7eaac7'
magenta: '#aa6292'
cyan: '#86d3ce'
white: '#f7f7f7'
# Dim colors
dim:
black: '#232323'
red: '#74423f'
green: '#5e6547'
yellow: '#8b7653'
blue: '#556b79'
magenta: '#6e4962'
cyan: '#5c8482'
white: '#828282'

View File

@ -0,0 +1,32 @@
colors:
# Default colors
primary:
background: '#292C3E'
foreground: '#EBEBEB'
# Cursor colors
# cursor:
# text: '#FF261E'
# cursor: '#FF261E'
# Normal colors
normal:
black: '#0d0d0d'
red: '#FF301B'
green: '#A0E521'
yellow: '#FFC620'
blue: '#1BA6FA'
magenta: '#8763B8'
cyan: '#21DEEF'
white: '#EBEBEB'
# Bright colors
bright:
black: '#6D7070'
red: '#FF4352'
green: '#B8E466'
yellow: '#FFD750'
blue: '#1BA6FA'
magenta: '#A578EA'
cyan: '#73FBF1'
white: '#FEFEF8'

View File

@ -0,0 +1,30 @@
# Colors (Ayu Dark)
colors:
# Default colors
primary:
background: '#0A0E14'
foreground: '#B3B1AD'
# Normal colors
normal:
black: '#01060E'
red: '#EA6C73'
green: '#91B362'
yellow: '#F9AF4F'
blue: '#53BDFA'
magenta: '#FAE994'
cyan: '#90E1C6'
white: '#C7C7C7'
# Bright colors
bright:
black: '#686868'
red: '#F07178'
green: '#C2D94C'
yellow: '#FFB454'
blue: '#59C2FF'
magenta: '#FFEE99'
cyan: '#95E6CB'
white: '#FFFFFF'

View File

@ -0,0 +1,28 @@
# Colors (Ayu Mirage)
colors:
# Default colors
primary:
background: '#202734'
foreground: '#CBCCC6'
# Normal colors
normal:
black: '#191E2A'
red: '#FF3333'
green: '#BAE67E'
yellow: '#FFA759'
blue: '#73D0FF'
magenta: '#FFD580'
cyan: '#95E6CB'
white: '#C7C7C7'
# Bright colors
bright:
black: '#686868'
red: '#F27983'
green: '#A6CC70'
yellow: '#FFCC66'
blue: '#5CCFE6'
magenta: '#FFEE99'
cyan: '#95E6CB'
white: '#FFFFFF'

View File

@ -0,0 +1,33 @@
# Colors (Base16 Default Dark)
colors:
# Default colors
primary:
background: '#181818'
foreground: '#d8d8d8'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '#d8d8d8'
cursor: '#d8d8d8'
# Normal colors
normal:
black: '#181818'
red: '#ab4642'
green: '#a1b56c'
yellow: '#f7ca88'
blue: '#7cafc2'
magenta: '#ba8baf'
cyan: '#86c1b9'
white: '#d8d8d8'
# Bright colors
bright:
black: '#585858'
red: '#ab4642'
green: '#a1b56c'
yellow: '#f7ca88'
blue: '#7cafc2'
magenta: '#ba8baf'
cyan: '#86c1b9'
white: '#f8f8f8'

View File

@ -0,0 +1,28 @@
# Colors (Blood Moon)
colors:
# Default colors
primary:
background: '#10100E'
foreground: '#C6C6C4'
# Normal colors
normal:
black: '#10100E'
red: '#C40233'
green: '#009F6B'
yellow: '#FFD700'
blue: '#0087BD'
magenta: '#9A4EAE'
cyan: '#20B2AA'
white: '#C6C6C4'
# Bright colors
bright:
black: '#696969'
red: '#FF2400'
green: '#03C03C'
yellow: '#FDFF00'
blue: '#007FFF'
magenta: '#FF1493'
cyan: '#00CCCC'
white: '#FFFAFA'

View File

@ -0,0 +1,27 @@
colors:
# Default colors
primary:
background: '0x011627'
foreground: '0x4fb3ff'
# Normal colors
normal:
black: '0x181a29'
red: '0x336dff'
green: '0x0091ff'
yellow: '0x47ffd4'
blue: '0x6378ff'
magenta: '0x7a7dff'
cyan: '0x8ffff2'
white: '0xbdfff7'
# Bright colors
bright:
black: '0x282a40'
red: '0x336dff'
green: '0x0091ff'
yellow: '0x47ffd4'
blue: '0x6378ff'
magenta: '0x7a7dff'
cyan: '0x8ffff2'
white: '0xbce6e0'

View File

@ -0,0 +1,44 @@
# KDE Breeze (Ported from Konsole)
colors:
# Default colors
primary:
background: '#232627'
foreground: '#fcfcfc'
dim_foreground: '#eff0f1'
bright_foreground: '#ffffff'
dim_background: '#31363b'
bright_background: '#000000'
# Normal colors
normal:
black: '#232627'
red: '#ed1515'
green: '#11d116'
yellow: '#f67400'
blue: '#1d99f3'
magenta: '#9b59b6'
cyan: '#1abc9c'
white: '#fcfcfc'
# Bright colors
bright:
black: '#7f8c8d'
red: '#c0392b'
green: '#1cdc9a'
yellow: '#fdbc4b'
blue: '#3daee9'
magenta: '#8e44ad'
cyan: '#16a085'
white: '#ffffff'
# Dim colors
dim:
black: '#31363b'
red: '#783228'
green: '#17a262'
yellow: '#b65619'
blue: '#1b668f'
magenta: '#614a73'
cyan: '#186c60'
white: '#63686d'

View File

@ -0,0 +1,28 @@
# Campbell (Windows 10 default)
colors:
# Default colors
primary:
background: '#0c0c0c'
foreground: '#cccccc'
# Normal colors
normal:
black: '#0c0c0c'
red: '#c50f1f'
green: '#13a10e'
yellow: '#c19c00'
blue: '#0037da'
magenta: '#881798'
cyan: '#3a96dd'
white: '#cccccc'
# Bright colors
bright:
black: '#767676'
red: '#e74856'
green: '#16c60c'
yellow: '#f9f1a5'
blue: '#3b78ff'
magenta: '#b4009e'
cyan: '#61d6d6'
white: '#f2f2f2'

View File

@ -0,0 +1,33 @@
# Colors (Cobalt 2)
colors:
cursor:
text: '#fefff2'
cursor: '#f0cc09'
selection:
text: '#b5b5b5'
background: '#18354f'
primary:
background: '#132738'
foreground: '#ffffff'
normal:
black: '#000000'
red: '#ff0000'
green: '#38de21'
yellow: '#ffe50a'
blue: '#1460d2'
magenta: '#ff005d'
cyan: '#00bbbb'
white: '#bbbbbb'
bright:
black: '#555555'
red: '#f40e17'
green: '#3bd01d'
yellow: '#edc809'
blue: '#5555ff'
magenta: '#ff55ff'
cyan: '#6ae3fa'
white: '#ffffff'

View File

@ -0,0 +1,27 @@
# Colors (Darkside)
colors:
primary:
background: '#222324'
foreground: '#BABABA'
# Normal colors
normal:
black: '#000000'
red: '#E8341C'
green: '#68C256'
yellow: '#F2D42C'
blue: '#1C98E8'
magenta: '#8E69C9'
cyan: '#1C98E8'
white: '#BABABA'
# Bright colors
bright:
black: '#666666'
red: '#E05A4F'
green: '#77B869'
yellow: '#EFD64B'
blue: '#387CD3'
magenta: '#957BBE'
cyan: '#3D97E2'
white: '#BABABA'

View File

@ -0,0 +1,40 @@
# Colors (Darktooth)
colors:
# Default colors
primary:
background: '#282828'
foreground: '#fdf4c1'
# Normal colors
normal:
black: '#282828'
red: '#9d0006'
green: '#79740e'
yellow: '#b57614'
blue: '#076678'
magenta: '#8f3f71'
cyan: '#00a7af'
white: '#fdf4c1'
# Bright colors
bright:
black: '#32302f'
red: '#fb4933'
green: '#b8bb26'
yellow: '#fabd2f'
blue: '#83a598'
magenta: '#d3869b'
cyan: '#3fd7e5'
white: '#ffffc8'
# Dim colors (Optional)
dim:
black: '#1d2021'
red: '#421e1e'
green: '#232b0f'
yellow: '#4d3b27'
blue: '#2b3c44'
magenta: '#4e3d45'
cyan: '#205161'
white: '#f4e8ba'

View File

@ -0,0 +1,27 @@
colors:
# Default colors
primary:
background: '0x292d3e'
foreground: '0xbbc5ff'
# Normal colors
normal:
black: '0x101010'
red: '0xf07178'
green: '0xc3e88d'
yellow: '0xffcb6b'
blue: '0x82aaff'
magenta: '0xc792ea'
cyan: '0x89ddff'
white: '0xd0d0d0'
# Bright colors
bright:
black: '0x434758'
red: '0xff8b92'
green: '0xddffa7'
yellow: '0xffe585'
blue: '0x9cc4ff'
magenta: '0xe1acff'
cyan: '0xa3f7ff'
white: '0xffffff'

View File

@ -0,0 +1,26 @@
# The 'GNOME Dark" theme from GNOME terminal.
colors:
primary:
foreground: '#d0cfcc'
background: '#171421'
normal:
black: '#171421'
red: '#c01c28'
green: '#26a269'
yellow: '#a2734c'
blue: '#12488b'
magenta: '#a347ba'
cyan: '#2aa1b3'
white: '#d0cfcc'
bright:
black: '#5e5c64'
red: '#f66151'
green: '#33d17a'
yellow: '#e9ad0c'
blue: '#2a7bde'
magenta: '#c061cb'
cyan: '#33c7de'
white: '#ffffff'

View File

@ -0,0 +1,27 @@
colors:
# Default colors
primary:
background: '0x0f101a'
foreground: '0x67e689'
# Normal colors
normal:
black: '0x181a29'
red: '0x007700'
green: '0x00bb00'
yellow: '0x7fde5d'
blue: '0x4dbd72'
magenta: '0x2e9e3e'
cyan: '0x4ddb7c'
white: '0x67e689'
# Bright colors
bright:
black: '0x282a40'
red: '0x007700'
green: '0x00bb00'
yellow: '0x7fde5d'
blue: '0x4dbd72'
magenta: '0x2e9e3e'
cyan: '0x4ddb7c'
white: '0x57d979'

View File

@ -0,0 +1,30 @@
# Colors (Gruvbox dark)
colors:
# Default colors
primary:
# hard contrast: background = '#1d2021'
background: '#282828'
# soft contrast: background = '#32302f'
foreground: '#ebdbb2'
# Normal colors
normal:
black: '#282828'
red: '#cc241d'
green: '#98971a'
yellow: '#d79921'
blue: '#458588'
magenta: '#b16286'
cyan: '#689d6a'
white: '#a89984'
# Bright colors
bright:
black: '#928374'
red: '#fb4934'
green: '#b8bb26'
yellow: '#fabd2f'
blue: '#83a598'
magenta: '#d3869b'
cyan: '#8ec07c'
white: '#ebdbb2'

View File

@ -0,0 +1,30 @@
# Colors (Gruvbox light)
colors:
# Default colors
primary:
# hard contrast: background = '#f9f5d7'
background: '#fbf1c7'
# soft contrast: background = '#f2e5bc'
foreground: '#3c3836'
# Normal colors
normal:
black: '#fbf1c7'
red: '#cc241d'
green: '#98971a'
yellow: '#d79921'
blue: '#458588'
magenta: '#b16286'
cyan: '#689d6a'
white: '#7c6f64'
# Bright colors
bright:
black: '#928374'
red: '#9d0006'
green: '#79740e'
yellow: '#b57614'
blue: '#076678'
magenta: '#8f3f71'
cyan: '#427b58'
white: '#3c3836'

View File

@ -0,0 +1,28 @@
# Colors (Hybrid)
colors:
# Default colors
primary:
background: '#27292c'
foreground: '#d0d2d1'
# Normal colors
normal:
black: '#35383b'
red: '#b05655'
green: '#769972'
yellow: '#e1a574'
blue: '#7693ac'
magenta: '#977ba0'
cyan: '#749e99'
white: '#848b92'
# Bright colors
bright:
black: '#484c52'
red: '#d27c7b'
green: '#dffebe'
yellow: '#f0d189'
blue: '#96b1c9'
magenta: '#bfa5c7'
cyan: '#9fc9c3'
white: '#fcf7e2'

View File

@ -0,0 +1,31 @@
# Colors (Hyper)
colors:
# Default colors
primary:
background: '#000000'
foreground: '#ffffff'
cursor:
text: '#F81CE5'
cursor: '#ffffff'
# Normal colors
normal:
black: '#000000'
red: '#fe0100'
green: '#33ff00'
yellow: '#feff00'
blue: '#0066ff'
magenta: '#cc00ff'
cyan: '#00ffff'
white: '#d0d0d0'
# Bright colors
bright:
black: '#808080'
red: '#fe0100'
green: '#33ff00'
yellow: '#feff00'
blue: '#0066ff'
magenta: '#cc00ff'
cyan: '#00ffff'
white: '#FFFFFF'

View File

@ -0,0 +1,28 @@
# Colors (Iceberg Dark)
colors:
# Default colors
primary:
background: '#161821'
foreground: '#d2d4de'
# Normal colors
normal:
black: '#161821'
red: '#e27878'
green: '#b4be82'
yellow: '#e2a478'
blue: '#84a0c6'
magenta: '#a093c7'
cyan: '#89b8c2'
white: '#c6c8d1'
# Bright colors
bright:
black: '#6b7089'
red: '#e98989'
green: '#c0ca8e'
yellow: '#e9b189'
blue: '#91acd1'
magenta: '#ada0d3'
cyan: '#95c4ce'
white: '#d2d4de'

View File

@ -0,0 +1,28 @@
# Colors (Iceberg Light)
colors:
# Default colors
primary:
background: '0xe8e9ec'
foreground: '0x33374c'
# Normal colors
normal:
black: '0xdcdfe7'
red: '0xcc517a'
green: '0x668e3d'
yellow: '0xc57339'
blue: '0x2d539e'
magenta: '0x7759b4'
cyan: '0x3f83a6'
white: '0x33374c'
# Bright colors
bright:
black: '0x8389a3'
red: '0xcc3768'
green: '0x598030'
yellow: '0xb6662d'
blue: '0x22478e'
magenta: '0x6845ad'
cyan: '0x327698'
white: '0x262a3f'

View File

@ -0,0 +1,32 @@
# Colors (IR Black)
colors:
# Default colors
primary:
background: '#000000'
foreground: '#ffffff'
cursor:
text: '#ffffff'
cursor: '#ffffff'
# Normal colors
normal:
black: '#4e4e4e'
red: '#ff6c60'
green: '#a8ff60'
yellow: '#ffffb6'
blue: '#96cbfe'
magenta: '#ff73fd'
cyan: '#c6c5fe'
white: '#eeeeee'
# Bright colors
bright:
black: '#7c7c7c'
red: '#ffb6b0'
green: '#ceffab'
yellow: '#ffffcb'
blue: '#b5dcfe'
magenta: '#ff9cfe'
cyan: '#dfdffe'
white: '#ffffff'

View File

@ -0,0 +1,28 @@
# Colors (iTerm 2 default theme)
colors:
# Default colors
primary:
background: '#101421'
foreground: '#fffbf6'
# Normal colors
normal:
black: '#2e2e2e'
red: '#eb4129'
green: '#abe047'
yellow: '#f6c744'
blue: '#47a0f3'
magenta: '#7b5cb0'
cyan: '#64dbed'
white: '#e5e9f0'
# Bright colors
bright:
black: '#565656'
red: '#ec5357'
green: '#c0e17d'
yellow: '#f9da6a'
blue: '#49a4f8'
magenta: '#a47de9'
cyan: '#99faf2'
white: '#ffffff'

View File

@ -0,0 +1,38 @@
# Colors (Jellybeans)
colors:
# Default colors
primary:
background: '#161616'
foreground: '#e4e4e4'
# Cursor volors
cursor:
text: '#feffff'
cursor: '#ffb472'
# Normal colors
normal:
black: '#a3a3a3'
red: '#e98885'
green: '#a3c38b'
yellow: '#ffc68d'
blue: '#a6cae2'
magenta: '#e7cdfb'
cyan: '#00a69f'
white: '#e4e4e4'
# Bright colors
bright:
black: '#c8c8c8'
red: '#ffb2b0'
green: '#c8e2b9'
yellow: '#ffe1af'
blue: '#bddff7'
magenta: '#fce2ff'
cyan: '#0bbdb6'
white: '#feffff'
# Selection colors
selection:
text: '#5963a2'
background: '#f6f6f6'

View File

@ -0,0 +1,27 @@
colors:
# Default colors
primary:
background: '#000000'
foreground: '#dddddd'
# Normal colors
normal:
black: '#000000'
red: '#cc0403'
green: '#19cb00'
yellow: '#cecb00'
blue: '#0d73cc'
magenta: '#cb1ed1'
cyan: '#0dcdcd'
white: '#dddddd'
# Bright colors
bright:
black: '#767676'
red: '#f2201f'
green: '#23fd00'
yellow: '#fffd00'
blue: '#1a8fff'
magenta: '#fd28ff'
cyan: '#14ffff'
white: '#ffffff'

View File

@ -0,0 +1,27 @@
colors:
# Default colors
primary:
background: '0x212121'
foreground: '0xc5c9de'
# Normal colors
normal:
black: '0x181a29'
red: '0xF07178'
green: '0xcdea9f'
yellow: '0xffd47e'
blue: '0x93bbff'
magenta: '0xd3a7ee'
cyan: '0x98e4ff'
white: '0xbfd5de'
# Bright colors
bright:
black: '0x282a40'
red: '0xeb7f84'
green: '0xe0ffad'
yellow: '0xffee7e'
blue: '0xa3c5ff'
magenta: '0xd6afed'
cyan: '0x98fffd'
white: '0xd1e5ed'

View File

@ -0,0 +1,27 @@
colors:
# Default colors
primary:
background: '0x0f101a'
foreground: '0xc5c9de'
# Normal colors
normal:
black: '0x181a29'
red: '0xF07178'
green: '0xcdea9f'
yellow: '0xffd47e'
blue: '0x93bbff'
magenta: '0xd3a7ee'
cyan: '0x98e4ff'
white: '0xbfd5de'
# Bright colors
bright:
black: '0x282a40'
red: '0xeb7f84'
green: '0xe0ffad'
yellow: '0xffee7e'
blue: '0xa3c5ff'
magenta: '0xd6afed'
cyan: '0x98fffd'
white: '0xd1e5ed'

View File

@ -0,0 +1,27 @@
colors:
# Default colors
primary:
background: '0x171714'
foreground: '0xf8f8f2'
# Normal colors
normal:
black: '0x272822'
red: '0xf92672'
green: '0xa6e22e'
yellow: '0xf4bf75'
blue: '0x66d9ef'
magenta: '0xae81ff'
cyan: '0xa1efe4'
white: '0xf8f8f2'
# Bright colors
bright:
black: '0x75715e'
red: '0xf92672'
green: '0xa6e22e'
yellow: '0xf4bf75'
blue: '0x66d9ef'
magenta: '0xae81ff'
cyan: '0xa1efe4'
white: '0xf9f8f5'

View File

@ -0,0 +1,27 @@
colors:
# Default colors
primary:
background: '0x212121'
foreground: '0xd8dee9'
# Normal colors
normal:
black: '0x3b4252'
red: '0xbf616a'
green: '0xa3be8c'
yellow: '0xebcb8b'
blue: '0x81a1c1'
magenta: '0xb48ead'
cyan: '0x88c0d0'
white: '0xbfd5de'
# Bright colors
bright:
black: '0x434c5e'
red: '0xbf616a'
green: '0xa3be8c'
yellow: '0xebcb8b'
blue: '0x81a1c1'
magenta: '0xb48ead'
cyan: '0x88c0d0'
white: '0xe5e9f0'

View File

@ -0,0 +1,27 @@
colors:
# Default colors
primary:
background: '0x2e3440'
foreground: '0xd8dee9'
# Normal colors
normal:
black: '0x3b4252'
red: '0xbf616a'
green: '0xa3be8c'
yellow: '0xebcb8b'
blue: '0x81a1c1'
magenta: '0xb48ead'
cyan: '0x88c0d0'
white: '0xbfd5de'
# Bright colors
bright:
black: '0x434c5e'
red: '0xbf616a'
green: '0xa3be8c'
yellow: '0xebcb8b'
blue: '0x81a1c1'
magenta: '0xb48ead'
cyan: '0x88c0d0'
white: '0xe5e9f0'

View File

@ -0,0 +1,57 @@
colors:
# Default colors
primary:
background: '0x1e2127'
foreground: '0xabb2bf'
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not present.
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
# is `false`, the normal foreground color will be used.
#dim_foreground: '0x9a9a9a'
bright_foreground: '0xe6efff'
# Cursor colors
#
# Colors which should be used to draw the terminal cursor. If these are unset,
# the cursor color will be the inverse of the cell color.
#cursor:
# text: '0x000000'
# cursor: '0xffffff'
# Normal colors
normal:
black: '0x1e2127'
red: '0xe06c75'
green: '0x98c379'
yellow: '0xd19a66'
blue: '0x61afef'
magenta: '0xc678dd'
cyan: '0x56b6c2'
white: '0x828791'
# Bright colors
bright:
black: '0x5c6370'
red: '0xe06c75'
green: '0x98c379'
yellow: '0xd19a66'
blue: '0x61afef'
magenta: '0xc678dd'
cyan: '0x56b6c2'
white: '0xe6efff'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
dim:
black: '0x1e2127'
red: '0xe06c75'
green: '0x98c379'
yellow: '0xd19a66'
blue: '0x61afef'
magenta: '0xc678dd'
cyan: '0x56b6c2'
white: '0x828791'

View File

@ -0,0 +1,27 @@
colors:
# Default colors
primary:
background: '0x1f1d29'
foreground: '0xffffff'
# Normal colors
normal:
black: '0x403c58'
red: '0xea6f91'
green: '0x9bced7'
yellow: '0xf1ca93'
blue: '0x34738e'
magenta: '0xc3a5e6'
cyan: '0xeabbb9'
white: '0xfaebd7'
# Bright colors
bright:
black: '0x6f6e85'
red: '0xea6f91'
green: '0x9bced7'
yellow: '0xf1ca93'
blue: '0x34738e'
magenta: '0xc3a5e6'
cyan: '0xeabbb9'
white: '0xffffff'

10
.config/fish/config.fish Normal file
View File

@ -0,0 +1,10 @@
set TERM xterm-256color
alias grep='grep --color=auto'
alias cat='batcat --style=plain --paging=never'
alias ls='exa --group-directories-first'
alias tree='exa -T'
echo ""
echo ""
#screenfetch -p
neofetch --color_blocks off
echo ""

View File

@ -0,0 +1,33 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:3100
SETUVAR fish_color_autosuggestion:555\x1ebrblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:005fd7
SETUVAR fish_color_comment:990000
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:009900
SETUVAR fish_color_error:ff0000
SETUVAR fish_color_escape:00a6b2
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:00a6b2
SETUVAR fish_color_param:00afff
SETUVAR fish_color_quote:999900
SETUVAR fish_color_redirection:00afff
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell\x0aType\x20\x60help\x60\x20for\x20instructions\x20on\x20how\x20to\x20use\x20fish
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:\x1d
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_user_paths:/home/q3aql/\x2efzf/bin

View File

@ -0,0 +1,3 @@
function fish_user_key_bindings
fzf_key_bindings
end

View File

@ -0,0 +1 @@
/home/q3aql/.fzf/shell/key-bindings.fish

View File

@ -0,0 +1,132 @@
#
# Copyright 2011 Thomas Martitz <thomas.martitz(at)student.htw-berlin(dot)de>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGE.
#
[theme_info]
name=Kugel
description=A dark, but not too dark with focus to be comfortable to the eyes.
# incremented automatically, do not change manually
version=1226
author=Thomas Martitz <thomas.martitz@student.htw-berlin.de>
url=https://github.com/codebrainz/geany-themes
# list of each compatible Geany release version
compat=1.22;1.23;1.23.1;1.24
[named_styles]
default=#ececec;#2d3335;false;false
error=#f00;;true;false
# Editor styles
#-------------------------------------------------------------------------------
selection=#fff;#333964;false;true
current_line=#000;#282d2e;true;false
brace_good=#fff;#50aa15;true;false
brace_bad=#fff;#aa1515;true;false
margin_line_number=#ececec
margin_folding=#888a85;#3a4145
fold_symbol_highlight=#fff
indent_guide=#606c70
caret=#ddd;#000;false
marker_line=#000;#ff0;
marker_search=#000;#0000f0;
marker_mark=#000;#b8f4b8;
call_tips=#555753;#eeeeec
white_space=#606c70;#fff;true;false
# Programming languages
#-------------------------------------------------------------------------------
comment=#888a85
comment_doc=#3f5fbf
comment_line=comment
comment_line_doc=comment_doc
comment_doc_keyword=comment_doc,bold
comment_doc_keyword_error=comment_doc_keyword,italic
number=#06a7a7
number_1=number
number_2=number_1
type=#1e90ff
class=type
function=default
parameter=#bbf647
keyword=#729fcf
keyword_1=keyword
keyword_2=type
keyword_3=keyword_1
keyword_4=keyword_1
identifier=default
identifier_1=identifier
identifier_2=identifier_1
identifier_3=identifier_1
identifier_4=identifier_1
string=#dd4040
string_1=string
string_2=string_1
string_3=default
string_4=default
string_eol=#000;#e0c0e0
character=#8ae234
backticks=#30ff00
# here_doc ???
here_doc=#ff84cd
scalar=#bcf360
# label ???
label=default,bold
preprocessor=#acac00
regex=#aaff57
operator=#fcaf3e
decorator=preprocessor
other=default
extra=#404080
# Markup-type languages
#-------------------------------------------------------------------------------
tag=type
tag_unknown=tag,italic
tag_end=tag
attribute=keyword
attribute_unknown=attribute,italic
value=string_1
entity=preprocessor
# Diff
#-------------------------------------------------------------------------------
line_added=#34b034
line_removed=#ff2727
line_changed=#7f007f

View File

@ -0,0 +1,2 @@
Copy files from /usr/share/geany/filedefs to this directory to overwrite them. To use the defaults, just delete the file in this directory.
For more information read the documentation (in /usr/share/doc/geany/html/index.html or visit https://www.geany.org/).

227
.config/geany/geany.conf Normal file
View File

@ -0,0 +1,227 @@
[geany]
default_open_path=
cmdline_new_files=true
notebook_double_click_hides_widgets=false
tab_close_switch_to_mru=false
tab_pos_sidebar=2
sidebar_pos=0
symbols_sort_mode=0
msgwin_orientation=1
highlighting_invert_all=false
pref_main_search_use_current_word=true
check_detect_indent=false
detect_indent_width=false
use_tab_to_indent=true
pref_editor_tab_width=2
indent_mode=2
indent_type=0
virtualspace=1
autocomplete_doc_words=false
completion_drops_rest_of_word=false
autocompletion_max_entries=30
autocompletion_update_freq=250
color_scheme=kugel.conf
scroll_lines_around_cursor=0
mru_length=10
disk_check_timeout=30
show_editor_scrollbars=true
brace_match_ltgt=false
use_gtk_word_boundaries=true
complete_snippets_whilst_editing=false
indent_hard_tab_width=8
editor_ime_interaction=0
use_atomic_file_saving=false
gio_unsafe_save_backup=false
use_gio_unsafe_file_saving=true
keep_edit_history_on_reload=true
show_keep_edit_history_on_reload_msg=false
reload_clean_doc_on_file_change=false
save_config_on_file_change=true
extract_filetype_regex=-\\*-\\s*([^\\s]+)\\s*-\\*-
allow_always_save=false
find_selection_type=0
replace_and_find_by_default=true
show_symbol_list_expanders=true
compiler_tab_autoscroll=true
statusbar_template=line: %l / %L col: %c sel: %s %w %t %mmode: %M encoding: %e filetype: %f scope: %S
new_document_after_close=false
msgwin_status_visible=true
msgwin_compiler_visible=true
msgwin_messages_visible=true
msgwin_scribble_visible=true
documents_show_paths=true
sidebar_page=1
pref_main_load_session=false
pref_main_project_session=true
pref_main_project_file_in_basedir=false
pref_main_save_winpos=true
pref_main_save_wingeom=true
pref_main_confirm_exit=false
pref_main_suppress_status_messages=false
switch_msgwin_pages=false
beep_on_errors=true
auto_focus=false
sidebar_symbol_visible=true
sidebar_openfiles_visible=true
editor_font=Monospace 10
tagbar_font=Sans 9
msgwin_font=Monospace 9
show_notebook_tabs=true
show_tab_cross=true
tab_order_ltr=true
tab_order_beside=false
tab_pos_editor=2
tab_pos_msgwin=0
use_native_windows_dialogs=false
show_indent_guide=false
show_white_space=false
show_line_endings=false
show_markers_margin=true
show_linenumber_margin=true
long_line_enabled=false
long_line_type=0
long_line_column=72
long_line_color=#C2EBC2
symbolcompletion_max_height=10
symbolcompletion_min_chars=4
use_folding=true
unfold_all_children=false
use_indicators=true
line_wrapping=true
auto_close_xml_tags=true
complete_snippets=true
auto_complete_symbols=true
pref_editor_disable_dnd=false
pref_editor_smart_home_key=true
pref_editor_newline_strip=false
line_break_column=72
auto_continue_multiline=true
comment_toggle_mark=~
scroll_stop_at_last_line=true
autoclose_chars=0
pref_editor_default_new_encoding=UTF-8
pref_editor_default_open_encoding=none
default_eol_character=2
pref_editor_new_line=true
pref_editor_ensure_convert_line_endings=false
pref_editor_replace_tabs=false
pref_editor_trail_space=false
pref_toolbar_show=false
pref_toolbar_append_to_menu=false
pref_toolbar_use_gtk_default_style=true
pref_toolbar_use_gtk_default_icon=true
pref_toolbar_icon_style=0
pref_toolbar_icon_size=0
pref_template_developer=q3aql
pref_template_company=
pref_template_mail=q3aql@devuan
pref_template_initial=q
pref_template_version=1.0
pref_template_year=%Y
pref_template_date=%Y-%m-%d
pref_template_datetime=%d.%m.%Y %H:%M:%S %Z
context_action_cmd=
sidebar_visible=true
statusbar_visible=true
msgwindow_visible=false
fullscreen=false
color_picker_palette=
scribble_text=Type here what you want, use it as a notice/scratch board
scribble_pos=57
treeview_position=156
msgwindow_position=775
geometry=1280;29;1024;1218;1;
custom_date_format=
[build-menu]
number_ft_menu_items=0
number_non_ft_menu_items=0
number_exec_menu_items=0
[search]
pref_search_hide_find_dialog=false
pref_search_always_wrap=false
pref_search_current_file_dir=true
find_all_expanded=false
replace_all_expanded=true
position_find_x=530
position_find_y=623
position_replace_x=1440
position_replace_y=570
position_fif_x=-1
position_fif_y=-1
fif_regexp=false
fif_case_sensitive=true
fif_match_whole_word=false
fif_invert_results=false
fif_recursive=false
fif_extra_options=
fif_use_extra_options=false
fif_files=
fif_files_mode=0
find_regexp=false
find_regexp_multiline=false
find_case_sensitive=true
find_escape_sequences=false
find_match_whole_word=false
find_match_word_start=false
find_close_dialog=true
replace_regexp=false
replace_regexp_multiline=false
replace_case_sensitive=false
replace_escape_sequences=false
replace_match_whole_word=false
replace_match_word_start=false
replace_search_backwards=false
replace_close_dialog=true
[plugins]
load_plugins=true
custom_plugin_path=
active_plugins=;
[VTE]
send_cmd_prefix=
send_selection_unsafe=false
load_vte=true
font=Monospace 10
scroll_on_key=true
scroll_on_out=true
enable_bash_keys=true
ignore_menu_bar_accel=false
follow_path=false
run_in_vte=false
skip_run_script=false
cursor_blinks=false
scrollback_lines=500
shell=/bin/bash
colour_fore=#FFFFFF
colour_back=#000000
last_dir=/home/q3aql
[tools]
terminal_cmd=x-terminal-emulator -e "/bin/sh %c"
browser_cmd=sensible-browser
grep_cmd=grep
[printing]
print_cmd=
use_gtk_printing=true
print_line_numbers=true
print_page_numbers=true
print_page_header=true
page_header_basename=false
page_header_datefmt=%c
[project]
session_file=
project_file_path=/home/q3aql/projects
[files]
recent_files=/opt/Git/dotfiles/scripts/meminfo.sh;/opt/Git/dotfiles/.bashrc;/opt/Git/dotfiles/.config/alacritty/alacritty.yml;/opt/Git/dotfiles/.conkyrc;/opt/Git/dotfiles/scripts/kernel-version;/opt/Git/dotfiles/scripts/hddinfo.sh;/opt/Git/dotfiles/scripts/get-pIP.sh;/opt/Git/dotfiles/scripts/show-pIP.sh;/opt/Git/dotfiles/examples/startxrandr.sh;/opt/Git/dotfiles/.zshenv;
recent_projects=
current_page=3
FILE_NAME_0=1273;Sh;0;EUTF-8;0;1;1;%2Fopt%2FTorrent%2FConv%2Fto-mp4.sh;0;2
FILE_NAME_1=0;Sh;0;EUTF-8;0;1;1;%2Fopt%2FTorrent%2FConv%2Flista-publicaciones.txt;0;2
FILE_NAME_2=310;None;0;EUTF-8;0;1;1;%2Fhome%2Fq3aql%2FDesktop%2Fi3-tiling.txt;0;2
FILE_NAME_3=0;Sh;0;EUTF-8;0;1;1;%2Fopt%2FGit%2Fdotfiles%2Fscripts%2Fmeminfo.sh;0;2

View File

View File

@ -0,0 +1,2 @@
There are several template files in this directory. For these templates you can use wildcards.
For more information read the documentation (in /usr/share/doc/geany/html/index.html or visit https://www.geany.org/).

256
.config/i3/config Normal file
View File

@ -0,0 +1,256 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
#font pango:monospace 10
font pango:Noto Sans 10
#font pango:Ubuntu 10.5
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 9
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id connman-gtk --tray &
#exec --no-startup-id nm-applet
# Picom
#exec_always --no-startup-id picom &
# Applet for Audio
exec --no-startup-id pnmixer -t &
# Configure screens and resolution
exec --no-startup-id ~/.config/i3/startxrandr.sh
# Load compton
exec --no-startup-id compton &
# Configure wallpaper
exec --no-startup-id nitrogen --set-centered ~/wallpapers/abstract.png
# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# New windows without borders
new_window 1pixel
# start a terminal
#bindsym $mod+Return exec i3-sensible-terminal
#bindsym $mod+Return exec xterm
bindsym $mod+Return exec alacritty
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id dmenu_run
# A more modern dmenu replacement is rofi:
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
# There also is i3-dmenu-desktop which only displays applications shipping a
# .desktop file. It is a wrapper around dmenu, so you need that installed.
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
# Run rofi options
bindsym $mod+x exec --no-startup-id rofi -show run
bindsym $mod+c exec --no-startup-id rofi -show window
# Run applications
bindsym $mod+b exec --no-startup-id firefox
bindsym $mod+n exec --no-startup-id pcmanfm
bindsym $mod+p exec --no-startup-id xfce4-screenshooter
bindsym $mod+g exec --no-startup-id geany
bindsym $mod+m exec --no-startup-id telegram
bindsym $mod+z exec --no-startup-id signal
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+ntilde focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+ntilde move right
# lock screen
set $i3lockwall ~/.config/i3/down-screen.sh
bindsym $mod+Ctrl+Shift+l exec --no-startup-id $i3lockwall
# close session
bindsym Mod1+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# shutdown / restart / suspend...
set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (CTRL+s) shutdown
mode "$mode_system" {
bindsym l exec --no-startup-id $i3lockwall, mode "default"
bindsym e exec --no-startup-id i3-msg exit, mode "default"
bindsym s exec --no-startup-id $i3lockwall && systemctl suspend, mode "default"
bindsym h exec --no-startup-id $i3lockwall && systemctl hibernate, mode "default"
bindsym r exec --no-startup-id systemctl reboot, mode "default"
bindsym Ctrl+s exec --no-startup-id systemctl poweroff -i, mode "default"
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+BackSpace mode "$mode_system"
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym ntilde resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
position top
status_command i3blocks
colors {
separator #AAAAAA
background #222133
statusline #FFFFFF
focused_workspace #664477 #664477 #cccccc #282828
active_workspace #DCCD69 #DCCD69 #181715 #928374
inactive_workspace #222133 #222133 #AAAAAA #928374
urgent_workspace #CE4045 #CE4045 #FFFFFF #ebdbb2
}
}
client.focused #664477 #664477 #cccccc #e7d8b1
client.focused_inactive #e7d8b1 #e7d8b1 #181715 #A074C4
client.unfocused #222133 #222133 #AAAAAA #A074C4
client.urgent #CE4045 #CE4045 #e7d8b1 #DCCD69

19
.config/i3/down-screen.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
###############################################################
# down-daemon (down-screen) - Daemon to shutdown the screen #
# Date: 19-11-2020 #
# Author: q3aql #
# Contact: q3aql@duck.com #
###############################################################
VERSION="1.0"
M_DATE="191120"
# Variable
endProcess=0
# Run screensaver
sleep 3
echo "* Forcing screen to shutdown..."
xset dpms force off

79
.config/i3/i3status.conf Normal file
View File

@ -0,0 +1,79 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
colors = true
interval = 5
}
order += "disk /"
order += "disk /Data"
# order += "wireless wlan0"
# order += "ethernet eth0"
order += "battery 0"
order += "cpu_temperature 0"
order += "cpu_usage"
order += "volume master"
order += "tztime local"
wireless wlan0 {
format_up = "W: (%quality at %essid) %ip"
format_down = "W: down"
}
ethernet eth0 {
# if you use %speed, i3status requires root privileges
format_up = "E: %ip (%speed)"
format_down = "E: down"
}
battery 0 {
format = "%status %percentage %remaining"
}
run_watch DHCP {
pidfile = "/var/run/dhclient*.pid"
}
run_watch VPN {
pidfile = "/var/run/vpnc/pid"
}
tztime local {
format = " %a, %B %d %I:%M %p "
}
cpu_temperature 0 {
format = "%degrees °C"
max_threshold = 70
}
cpu_usage {
format = "%usage"
}
load {
format = "%1min"
}
disk "/" {
format = "/ : %used/%total "
}
disk "/Data" {
format = "/Data: %used/%total "
}
volume master {
format = "vol: %volume"
format_muted = "vol: muted (%volume)"
device = "default"
mixer = "Master"
mixer_idx = 0
}

11
.config/i3/startxrandr.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
scan_rel=0
while [ ${scan_rel} -eq 0 ] ; do
# Primer monitor
xrandr --output DisplayPort-0 --mode 1280x1024 -r 75.02
# Segundo monitor
xrandr --output DisplayPort-1 --mode 1280x1024 -r 75.02 --rotate left --right-of DisplayPort-0
sleep 1
done

View File

@ -0,0 +1,44 @@
#!/bin/sh
# If ACPI was not installed, this probably is a battery-less computer.
ACPI_RES=$(acpi -b)
ACPI_CODE=$?
if [ $ACPI_CODE -eq 0 ]
then
# Get essential information. Due to som bug with some versions of acpi it is
# worth filtering the ACPI result from all lines containing "unavailable".
BAT_LEVEL_ALL=$(echo "$ACPI_RES" | grep -v "unavailable" | grep -E -o "[0-9][0-9]?[0-9]?%")
BAT_LEVEL=$(echo "$BAT_LEVEL_ALL" | awk -F"%" 'BEGIN{tot=0;i=0} {i++; tot+=$1} END{printf("%d%%\n", tot/i)}')
TIME_LEFT=$(echo "$ACPI_RES" | grep -v "unavailable" | grep -E -o "[0-9]{2}:[0-9]{2}:[0-9]{2}")
IS_CHARGING=$(echo "$ACPI_RES" | grep -v "unavailable" | awk '{ printf("%s\n", substr($3, 0, length($3)-1) ) }')
# If there is no 'time left' information (when almost fully charged) we
# provide information ourselvs.
if [ -z "$TIME_LEFT" ]
then
TIME_LEFT="00:00:00"
fi
# Print full text. The charging data.
TIME_LEFT=$(echo $TIME_LEFT | awk '{ printf("%s\n", substr($1, 0, 5)) }')
echo "🔋$BAT_LEVEL$TIME_LEFT "
# Print the short text.
echo "BAT: $BAT_LEVEL"
# Change the font color, depending on the situation.
if [ "$IS_CHARGING" = "Charging" ]
then
# Charging yellow color.
echo "#D0D000"
else
if [ "${BAT_LEVEL%?}" -le 15 ]
then
# Battery very low. Red color.
echo "#FA1E44"
else
# Battery not charging but at decent level. Green color.
echo "#007872"
fi
fi
fi

43
.config/i3blocks/config Normal file
View File

@ -0,0 +1,43 @@
[WEATHER_SIGNALER]
command=~/.config/i3blocks/weather/weather_signaler
interval=once
[WEATHER]
command=~/.config/i3blocks/weather/weather_info.sh
interval=300
color=#FEC925
signal=2
[DISK]
command=df -h / | awk '/\//{ printf(" 💾 %4s/%s \n", $4, $2) }'
interval=2
color=#C9E3DB
#[BATTERY]
#command=~/.config/i3blocks/battery/battery_info.sh
#interval=3
[CPU]
full_text= CPU: 0.00% @ +00.0°C
command=~/.config/i3blocks/cpu/cpu_info.sh
interval=repeat
color=#00B4EB
[MEM]
command=free -h | awk '/Mem:/ { printf(" 🐏 %5s/%s \n", $3, $2) }'
interval=1
color=#FEC925
[SOUND_BURST]
command=~/.config/i3blocks/sound/sound_burst.sh
interval=once
[SOUND]
full_text= 🔇: 0%
command=~/.config/i3blocks/sound/sound_info.sh
interval=2
signal=1
[TIME_DATE]
command=date +" %a, %d %b - %H:%M:%S"
interval=1

View File

@ -0,0 +1,4 @@
#!/bin/sh
TEMP=$(sensors | grep 'Package id 0:\|Tdie' | grep ':[ ]*+[0-9]*.[0-9]*°C' -o | grep '+[0-9]*.[0-9]*°C' -o)
CPU_USAGE=$(mpstat 1 1 | awk '/Average:/ {printf("%s\n", $(NF-9))}')
echo "$CPU_USAGE $TEMP" | awk '{ printf(" CPU:%6s% @ %s \n"), $1, $2 }'

View File

@ -0,0 +1,6 @@
#!/bin/sh
for i in $(seq 1 5)
do
sleep 0.2
pkill -RTMIN+1 i3blocks
done

View File

@ -0,0 +1,27 @@
#!/bin/sh
VOLUME_MUTE="🔇"
VOLUME_LOW="🔈"
VOLUME_MID="🔉"
VOLUME_HIGH="🔊"
SOUND_LEVEL=$(amixer -M get Master | awk -F"[][]" '/%/ { print $2 }' | awk -F"%" 'BEGIN{tot=0; i=0} {i++; tot+=$1} END{printf("%s\n", tot/i) }')
MUTED=$(amixer get Master | awk ' /%/{print ($NF=="[off]" ? 1 : 0); exit;}')
ICON=$VOLUME_MUTE
if [ "$MUTED" = "1" ]
then
ICON="$VOLUME_MUTE"
else
if [ "$SOUND_LEVEL" -lt 34 ]
then
ICON="$VOLUME_LOW"
elif [ "$SOUND_LEVEL" -lt 67 ]
then
ICON="$VOLUME_MID"
else
ICON="$VOLUME_HIGH"
fi
fi
echo "$ICON" "$SOUND_LEVEL" | awk '{ printf(" %s:%3s%% \n", $1, $2) }'

View File

@ -0,0 +1,11 @@
CC = gcc
CFLAGS = -O2 -Wall -Wextra -Wpedantic
LINKFLAGS = -lrt
.PHONY: clean
weather_signaler: weather_signaler.c
$(CC) $(CFLAGS) $< -o weather_signaler $(LINKFLAGS)
clean:
@rm -v weather_signaler

View File

@ -0,0 +1,407 @@
<?xml version="1.0" encoding="utf-8"?>
<weatherdata>
<apiChanges>
<!--NB!!! Since we have no other options to contact our users of forecast.xml, we have decided to use this method to get your attention to some major changes with our API-->
<!--This summer, forecast.xml and forecast_hour_by_hour.xml will be discontinued in favour of a newer JSON API. An exactly date is not set yet.-->
<!--Vi encourage you already now to switch to the new API.-->
<!--There are a lot of changes, and you can read all the technical details in our new developer portal https://developer.yr.no-->
</apiChanges>
<location>
<name>Linköping</name>
<type>Regional capital</type>
<country>Sweden</country>
<timezone id="Europe/Stockholm" utcoffsetMinutes="60" />
<location altitude="58" latitude="58.41086" longitude="15.62157" geobase="geonames" geobaseid="2694762" />
</location>
<credit>
<!--In order to use the free weather data from yr no, you HAVE to display
the following text clearly visible on your web page. The text should be a
link to the specified URL.-->
<!--Please read more about our conditions and guidelines at http://om.yr.no/verdata/ English explanation at http://om.yr.no/verdata/free-weather-data/-->
<link text="Weather forecast from Yr, delivered by the Norwegian Meteorological Institute and the NRK" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/" />
</credit>
<links>
<link id="xmlSource" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/forecast.xml" />
<link id="xmlSourceHourByHour" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/forecast_hour_by_hour.xml" />
<link id="overview" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/" />
<link id="hourByHour" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/hour_by_hour" />
<link id="longTermForecast" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/long" />
<link id="nowcast" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/varsel_nu.xml" />
</links>
<meta>
<lastupdate>2021-11-13T18:07:00</lastupdate>
<nextupdate>2021-11-13T19:07:00</nextupdate>
</meta>
<sun rise="2021-11-13T07:41:55" set="2021-11-13T15:41:09" />
<forecast>
<tabular>
<time from="2021-11-13T19:00:00" to="2021-11-14T00:00:00" period="3">
<!-- Valid from 2021-11-13T19:00:00 to 2021-11-14T00:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-13T19:00:00 -->
<windDirection deg="60.9" code="ENE" name="East-northeast" />
<windSpeed mps="2.4" name="Light breeze" />
<temperature unit="celsius" value="5" />
<pressure unit="hPa" value="1022.7" />
</time>
<time from="2021-11-14T00:00:00" to="2021-11-14T06:00:00" period="0">
<!-- Valid from 2021-11-14T00:00:00 to 2021-11-14T06:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-14T00:00:00 -->
<windDirection deg="41.0" code="NE" name="Northeast" />
<windSpeed mps="3.2" name="Light breeze" />
<temperature unit="celsius" value="5" />
<pressure unit="hPa" value="1025.2" />
</time>
<time from="2021-11-14T06:00:00" to="2021-11-14T12:00:00" period="1">
<!-- Valid from 2021-11-14T06:00:00 to 2021-11-14T12:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-14T06:00:00 -->
<windDirection deg="34.0" code="NE" name="Northeast" />
<windSpeed mps="2.1" name="Light breeze" />
<temperature unit="celsius" value="5" />
<pressure unit="hPa" value="1028.6" />
</time>
<time from="2021-11-14T12:00:00" to="2021-11-14T18:00:00" period="2">
<!-- Valid from 2021-11-14T12:00:00 to 2021-11-14T18:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-14T12:00:00 -->
<windDirection deg="51.5" code="NE" name="Northeast" />
<windSpeed mps="2.8" name="Light breeze" />
<temperature unit="celsius" value="6" />
<pressure unit="hPa" value="1033.1" />
</time>
<time from="2021-11-14T18:00:00" to="2021-11-15T00:00:00" period="3">
<!-- Valid from 2021-11-14T18:00:00 to 2021-11-15T00:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-14T18:00:00 -->
<windDirection deg="71.3" code="ENE" name="East-northeast" />
<windSpeed mps="2.0" name="Light breeze" />
<temperature unit="celsius" value="5" />
<pressure unit="hPa" value="1035.2" />
</time>
<time from="2021-11-15T00:00:00" to="2021-11-15T06:00:00" period="0">
<!-- Valid from 2021-11-15T00:00:00 to 2021-11-15T06:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-15T00:00:00 -->
<windDirection deg="112.8" code="ESE" name="East-southeast" />
<windSpeed mps="1.9" name="Light breeze" />
<temperature unit="celsius" value="4" />
<pressure unit="hPa" value="1035.7" />
</time>
<time from="2021-11-15T06:00:00" to="2021-11-15T12:00:00" period="1">
<!-- Valid from 2021-11-15T06:00:00 to 2021-11-15T12:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-15T06:00:00 -->
<windDirection deg="203.5" code="SSW" name="South-southwest" />
<windSpeed mps="1.2" name="Light air" />
<temperature unit="celsius" value="2" />
<pressure unit="hPa" value="1034.2" />
</time>
<time from="2021-11-15T12:00:00" to="2021-11-15T18:00:00" period="2">
<!-- Valid from 2021-11-15T12:00:00 to 2021-11-15T18:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-15T12:00:00 -->
<windDirection deg="217.6" code="SW" name="Southwest" />
<windSpeed mps="2.0" name="Light breeze" />
<temperature unit="celsius" value="5" />
<pressure unit="hPa" value="1033.0" />
</time>
<time from="2021-11-15T18:00:00" to="2021-11-16T00:00:00" period="3">
<!-- Valid from 2021-11-15T18:00:00 to 2021-11-16T00:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-15T18:00:00 -->
<windDirection deg="223.6" code="SW" name="Southwest" />
<windSpeed mps="2.4" name="Light breeze" />
<temperature unit="celsius" value="4" />
<pressure unit="hPa" value="1030.9" />
</time>
<time from="2021-11-16T01:00:00" to="2021-11-16T07:00:00" period="0">
<!-- Valid from 2021-11-16T01:00:00 to 2021-11-16T07:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-16T01:00:00 -->
<windDirection deg="201.4" code="SSW" name="South-southwest" />
<windSpeed mps="2.2" name="Light breeze" />
<temperature unit="celsius" value="4" />
<pressure unit="hPa" value="1028.4" />
</time>
<time from="2021-11-16T07:00:00" to="2021-11-16T13:00:00" period="1">
<!-- Valid from 2021-11-16T07:00:00 to 2021-11-16T13:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-16T07:00:00 -->
<windDirection deg="221.4" code="SW" name="Southwest" />
<windSpeed mps="2.0" name="Light breeze" />
<temperature unit="celsius" value="5" />
<pressure unit="hPa" value="1024.6" />
</time>
<time from="2021-11-16T13:00:00" to="2021-11-16T19:00:00" period="2">
<!-- Valid from 2021-11-16T13:00:00 to 2021-11-16T19:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-16T13:00:00 -->
<windDirection deg="234.3" code="SW" name="Southwest" />
<windSpeed mps="2.9" name="Light breeze" />
<temperature unit="celsius" value="7" />
<pressure unit="hPa" value="1022.2" />
</time>
<time from="2021-11-16T19:00:00" to="2021-11-17T01:00:00" period="3">
<!-- Valid from 2021-11-16T19:00:00 to 2021-11-17T01:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-16T19:00:00 -->
<windDirection deg="207.2" code="SSW" name="South-southwest" />
<windSpeed mps="2.1" name="Light breeze" />
<temperature unit="celsius" value="6" />
<pressure unit="hPa" value="1018.9" />
</time>
<time from="2021-11-17T01:00:00" to="2021-11-17T07:00:00" period="0">
<!-- Valid from 2021-11-17T01:00:00 to 2021-11-17T07:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-17T01:00:00 -->
<windDirection deg="173.2" code="S" name="South" />
<windSpeed mps="2.0" name="Light breeze" />
<temperature unit="celsius" value="6" />
<pressure unit="hPa" value="1015.1" />
</time>
<time from="2021-11-17T07:00:00" to="2021-11-17T13:00:00" period="1">
<!-- Valid from 2021-11-17T07:00:00 to 2021-11-17T13:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-17T07:00:00 -->
<windDirection deg="182.6" code="S" name="South" />
<windSpeed mps="2.9" name="Light breeze" />
<temperature unit="celsius" value="6" />
<pressure unit="hPa" value="1010.7" />
</time>
<time from="2021-11-17T13:00:00" to="2021-11-17T19:00:00" period="2">
<!-- Valid from 2021-11-17T13:00:00 to 2021-11-17T19:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-17T13:00:00 -->
<windDirection deg="163.5" code="SSE" name="South-southeast" />
<windSpeed mps="3.8" name="Gentle breeze" />
<temperature unit="celsius" value="7" />
<pressure unit="hPa" value="1006.7" />
</time>
<time from="2021-11-17T19:00:00" to="2021-11-18T01:00:00" period="3">
<!-- Valid from 2021-11-17T19:00:00 to 2021-11-18T01:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-17T19:00:00 -->
<windDirection deg="225.1" code="SW" name="Southwest" />
<windSpeed mps="4.0" name="Gentle breeze" />
<temperature unit="celsius" value="7" />
<pressure unit="hPa" value="1002.6" />
</time>
<time from="2021-11-18T01:00:00" to="2021-11-18T07:00:00" period="0">
<!-- Valid from 2021-11-18T01:00:00 to 2021-11-18T07:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-18T01:00:00 -->
<windDirection deg="254.7" code="WSW" name="West-southwest" />
<windSpeed mps="3.9" name="Gentle breeze" />
<temperature unit="celsius" value="6" />
<pressure unit="hPa" value="1002.1" />
</time>
<time from="2021-11-18T07:00:00" to="2021-11-18T13:00:00" period="1">
<!-- Valid from 2021-11-18T07:00:00 to 2021-11-18T13:00:00 -->
<symbol number="3" numberEx="3" name="Partly cloudy" var="03d" />
<precipitation value="0" />
<!-- Valid at 2021-11-18T07:00:00 -->
<windDirection deg="219.0" code="SW" name="Southwest" />
<windSpeed mps="3.9" name="Gentle breeze" />
<temperature unit="celsius" value="6" />
<pressure unit="hPa" value="1002.5" />
</time>
<time from="2021-11-18T13:00:00" to="2021-11-18T19:00:00" period="2">
<!-- Valid from 2021-11-18T13:00:00 to 2021-11-18T19:00:00 -->
<symbol number="3" numberEx="3" name="Partly cloudy" var="03d" />
<precipitation value="0" />
<!-- Valid at 2021-11-18T13:00:00 -->
<windDirection deg="247.6" code="WSW" name="West-southwest" />
<windSpeed mps="4.4" name="Gentle breeze" />
<temperature unit="celsius" value="7" />
<pressure unit="hPa" value="1005.0" />
</time>
<time from="2021-11-18T19:00:00" to="2021-11-19T01:00:00" period="3">
<!-- Valid from 2021-11-18T19:00:00 to 2021-11-19T01:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-18T19:00:00 -->
<windDirection deg="273.5" code="W" name="West" />
<windSpeed mps="4.0" name="Gentle breeze" />
<temperature unit="celsius" value="5" />
<pressure unit="hPa" value="1004.6" />
</time>
<time from="2021-11-19T01:00:00" to="2021-11-19T07:00:00" period="0">
<!-- Valid from 2021-11-19T01:00:00 to 2021-11-19T07:00:00 -->
<symbol number="3" numberEx="3" name="Partly cloudy" var="03n" />
<precipitation value="0" />
<!-- Valid at 2021-11-19T01:00:00 -->
<windDirection deg="219.5" code="SW" name="Southwest" />
<windSpeed mps="3.5" name="Gentle breeze" />
<temperature unit="celsius" value="6" />
<pressure unit="hPa" value="1004.5" />
</time>
<time from="2021-11-19T07:00:00" to="2021-11-19T13:00:00" period="1">
<!-- Valid from 2021-11-19T07:00:00 to 2021-11-19T13:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-19T07:00:00 -->
<windDirection deg="220.1" code="SW" name="Southwest" />
<windSpeed mps="3.9" name="Gentle breeze" />
<temperature unit="celsius" value="7" />
<pressure unit="hPa" value="1003.7" />
</time>
<time from="2021-11-19T13:00:00" to="2021-11-19T19:00:00" period="2">
<!-- Valid from 2021-11-19T13:00:00 to 2021-11-19T19:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-19T13:00:00 -->
<windDirection deg="261.5" code="W" name="West" />
<windSpeed mps="4.0" name="Gentle breeze" />
<temperature unit="celsius" value="9" />
<pressure unit="hPa" value="1004.8" />
</time>
<time from="2021-11-19T19:00:00" to="2021-11-20T01:00:00" period="3">
<!-- Valid from 2021-11-19T19:00:00 to 2021-11-20T01:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-19T19:00:00 -->
<windDirection deg="276.8" code="W" name="West" />
<windSpeed mps="5.2" name="Gentle breeze" />
<temperature unit="celsius" value="9" />
<pressure unit="hPa" value="1004.1" />
</time>
<time from="2021-11-20T01:00:00" to="2021-11-20T07:00:00" period="0">
<!-- Valid from 2021-11-20T01:00:00 to 2021-11-20T07:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-20T01:00:00 -->
<windDirection deg="244.5" code="WSW" name="West-southwest" />
<windSpeed mps="5.3" name="Gentle breeze" />
<temperature unit="celsius" value="10" />
<pressure unit="hPa" value="1004.4" />
</time>
<time from="2021-11-20T07:00:00" to="2021-11-20T13:00:00" period="1">
<!-- Valid from 2021-11-20T07:00:00 to 2021-11-20T13:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-20T07:00:00 -->
<windDirection deg="235.6" code="SW" name="Southwest" />
<windSpeed mps="5.3" name="Gentle breeze" />
<temperature unit="celsius" value="9" />
<pressure unit="hPa" value="1003.6" />
</time>
<time from="2021-11-20T13:00:00" to="2021-11-20T19:00:00" period="2">
<!-- Valid from 2021-11-20T13:00:00 to 2021-11-20T19:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-20T13:00:00 -->
<windDirection deg="248.4" code="WSW" name="West-southwest" />
<windSpeed mps="5.5" name="Moderate breeze" />
<temperature unit="celsius" value="10" />
<pressure unit="hPa" value="1003.3" />
</time>
<time from="2021-11-20T19:00:00" to="2021-11-21T01:00:00" period="3">
<!-- Valid from 2021-11-20T19:00:00 to 2021-11-21T01:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-20T19:00:00 -->
<windDirection deg="275.8" code="W" name="West" />
<windSpeed mps="5.3" name="Gentle breeze" />
<temperature unit="celsius" value="8" />
<pressure unit="hPa" value="1001.7" />
</time>
<time from="2021-11-21T01:00:00" to="2021-11-21T07:00:00" period="0">
<!-- Valid from 2021-11-21T01:00:00 to 2021-11-21T07:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-21T01:00:00 -->
<windDirection deg="256.0" code="WSW" name="West-southwest" />
<windSpeed mps="4.0" name="Gentle breeze" />
<temperature unit="celsius" value="7" />
<pressure unit="hPa" value="1000.1" />
</time>
<time from="2021-11-21T07:00:00" to="2021-11-21T13:00:00" period="1">
<!-- Valid from 2021-11-21T07:00:00 to 2021-11-21T13:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-21T07:00:00 -->
<windDirection deg="265.5" code="W" name="West" />
<windSpeed mps="3.0" name="Light breeze" />
<temperature unit="celsius" value="6" />
<pressure unit="hPa" value="998.8" />
</time>
<time from="2021-11-21T13:00:00" to="2021-11-21T19:00:00" period="2">
<!-- Valid from 2021-11-21T13:00:00 to 2021-11-21T19:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-21T13:00:00 -->
<windDirection deg="51.9" code="NE" name="Northeast" />
<windSpeed mps="3.5" name="Gentle breeze" />
<temperature unit="celsius" value="5" />
<pressure unit="hPa" value="1001.6" />
</time>
<time from="2021-11-21T19:00:00" to="2021-11-22T01:00:00" period="3">
<!-- Valid from 2021-11-21T19:00:00 to 2021-11-22T01:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-21T19:00:00 -->
<windDirection deg="41.9" code="NE" name="Northeast" />
<windSpeed mps="3.0" name="Light breeze" />
<temperature unit="celsius" value="4" />
<pressure unit="hPa" value="1004.3" />
</time>
<time from="2021-11-22T01:00:00" to="2021-11-22T07:00:00" period="0">
<!-- Valid from 2021-11-22T01:00:00 to 2021-11-22T07:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-22T01:00:00 -->
<windDirection deg="347.7" code="NNW" name="North-northwest" />
<windSpeed mps="2.2" name="Light breeze" />
<temperature unit="celsius" value="2" />
<pressure unit="hPa" value="1009.6" />
</time>
<time from="2021-11-22T07:00:00" to="2021-11-22T13:00:00" period="1">
<!-- Valid from 2021-11-22T07:00:00 to 2021-11-22T13:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-22T07:00:00 -->
<windDirection deg="256.2" code="WSW" name="West-southwest" />
<windSpeed mps="2.2" name="Light breeze" />
<temperature unit="celsius" value="2" />
<pressure unit="hPa" value="1010.0" />
</time>
<time from="2021-11-22T13:00:00" to="2021-11-22T19:00:00" period="2">
<!-- Valid from 2021-11-22T13:00:00 to 2021-11-22T19:00:00 -->
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
<precipitation value="0" />
<!-- Valid at 2021-11-22T13:00:00 -->
<windDirection deg="269.6" code="W" name="West" />
<windSpeed mps="3.3" name="Light breeze" />
<temperature unit="celsius" value="4" />
<pressure unit="hPa" value="1012.4" />
</time>
</tabular>
</forecast>
<weatherstation stno="0" sttype="" name="" distance="0" lat="0" lon="0" source="">
<!--Observasjoner er ikke lengre tilgjengelig i dette datasettet. Observations are no longer availble in this dataset-->
<symbol number="0" name="" time="2019-11-14T00:00:00Z" />
<temperature unit="" value="0" time="2019-11-14T00:00:00Z" />
<windDirection deg="0" code="" name="" time="2019-11-14T00:00:00Z" />
<windSpeed mps="0" name="" time="2019-11-14T00:00:00Z" />
</weatherstation>
</weatherdata>

View File

@ -0,0 +1,123 @@
#!/usr/bin/python3
''' Weather acquirer for: https://github.com/miklhh/i3blocks-config '''
import os
import datetime
import xml.etree.ElementTree as ET
import requests
# Forecast URL.
YR_URL = "https://www.yr.no/place/Sverige/%C3%96sterg%C3%B6tland/Link%C3%B6ping/forecast.xml"
# Good to have data + funky emojicons.
FORECAST_CACHE_FILE = os.path.dirname(os.path.realpath(__file__)) + "/forecast.xml"
# Emojis associatted with weather # Day # Night
WEATHER_TYPES = { "Fair" : ["☀️", "🌙"], #pylint: disable=C0326
"Partly cloudy" : ["", "☁️"], #pylint: disable=C0326
"Clear sky" : ["☀️", "🌙"], #pylint: disable=C0326
"Cloudy" : ["☁️", "☁️"], #pylint: disable=C0326
"Light rain" : ["🌧️", "🌧️"], #pylint: disable=C0326
"Rain" : ["🌧️", "🌧️"], #pylint: disable=C0326
"Heavy Rain" : ["🌧️", "🌧️"], #pylint: disable=C0326
"Light snow" : ["🌨️", "🌨️"], #pylint: disable=C0326
"Snow" : ["🌨️", "🌨️"], #pylint: disable=C0326
"Heavy snow" : ["🌨️", "🌨️"], #pylint: disable=C0326
"Foggy" : ["🌫️", "🌫️"], #pylint: disable=C0326
"Fog" : ["🌫️", "🌫️"], #pylint: disable=C0326
"Light snow showers" : ["🌨️", "🌨️"]} #pylint: disable=C0326
def get_xml_root():
""" Returns a weather XML root, cached from old data if necessary. """
yr_response = 0
try:
# Request data from YR.
yr_response = requests.get(YR_URL)
if yr_response.status_code != 200:
raise RuntimeError('Error: YR status code ' + str(yr_response.status_code))
# New response, store in cache file and return XML root.
with open(FORECAST_CACHE_FILE, "w") as file_handle:
file_handle.write(yr_response.text)
return ET.fromstring(yr_response.text)
except requests.ConnectionError:
# Probably just no internet. Use cached forecast.
if os.path.isfile(FORECAST_CACHE_FILE):
with open(FORECAST_CACHE_FILE) as file_handle:
yr_response = file_handle.read()
# Print recycle emoji and continue using cached forecast.
print("(♻️)", end=" ")
return ET.fromstring(yr_response)
# Dead end, no XML-root acquired.
raise RuntimeError('No forecast data available.')
def main():
""" Entry point for program. """
# Get the XML root.
try:
xml_root = get_xml_root()
except RuntimeError as exception:
print(exception)
# Parse the sun rise and set time. Appearntly, they are not always available and
# so we need to make sure they exist in the recieved data.
rise_fall_available = True
sun_rise_time = sun_set_time = ""
try:
sun_rise_time = xml_root.find("sun").attrib.get("rise")
sun_rise_time = sun_rise_time[sun_rise_time.find('T')+1 : len(sun_rise_time)-3]
sun_set_time = xml_root.find("sun").attrib.get("set")
sun_set_time = sun_set_time[sun_set_time.find('T')+1 : len(sun_set_time)-3]
except (ET.ParseError, AttributeError):
rise_fall_available = False
# Get the current weather information.
forecast = xml_root.find("forecast").find("tabular").find("time")
weather = forecast.find("symbol").attrib.get("name")
temperature = forecast.find("temperature").attrib.get("value")
wind_direction = forecast.find("windDirection").attrib.get("code")
wind_speed = forecast.find("windSpeed").attrib.get("mps")
precipitation = forecast.find("precipitation").attrib.get("value")
# Night time?
is_night = 0
now = datetime.datetime.now()
if rise_fall_available:
# Use sun rise and fall time to determine.
sun_rise = datetime.datetime.strptime(sun_rise_time, "%H:%M")
sun_set = datetime.datetime.strptime(sun_set_time, "%H:%M")
is_night = 1 if now.time() < sun_rise.time() or sun_set.time() < now.time() else 0
else:
# No rise/fall time available. Approximate daytime as [07:00 - 21:00].
sun_rise = datetime.datetime.strptime("07:00", "%H:%M")
sun_set = datetime.datetime.strptime("21:00", "%H:%M")
is_night = 1 if now.time() < sun_rise.time() or sun_set.time() < now.time() else 0
# Print the weather.
if weather in WEATHER_TYPES:
# Emoji is avaiable for usage.
print(weather + ": " + WEATHER_TYPES.get(weather)[is_night] + " ", end="")
else:
# No emoji available, use regular text.
print(weather + " ", end="")
# Print the temperature and sun times.
print(temperature, end="°C ")
# Print the sun rise and set time.
if rise_fall_available:
print("[" + sun_rise_time + " 🌅 " + sun_set_time + "]", end=" ")
# Print the precipitation (if there is any).
if precipitation != "0":
# Print with a wet umbrella
print("| ☔ " + precipitation + "mm", end=" ")
# Print wind data.
print("| 🍃 " + wind_speed + "m/s " + "(" + wind_direction + ")", end="")
# Go gadget, go!
main()

View File

@ -0,0 +1,2 @@
#!/bin/sh
echo " $(~/.config/i3blocks/weather/weather.py) "

Binary file not shown.

View File

@ -0,0 +1,102 @@
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <time.h>
#include <stdio.h>
// Sleep time between daemon updates.
#define SLEEP_TIME_S 300
// Test for internet connection. Returns true if connection is established.
static int test_internet_connection()
{
const char *cmd = "nc -zw1 google.com 443 1> /dev/null 2>&1";
return !system(cmd);
}
// Signal handler for signaling the weather applet.
static void timer_handler(int sig, siginfo_t *si, void *uc)
{
(void) sig; // Ignore parameter.
(void) si; // Ignore parameter.
(void) uc; // Ignore parameter.
// Test for internet connection till found or 20 times.
for (int i = 0; i < 20; ++i)
{
if (test_internet_connection())
{
// Connection established. Break out.
break;
}
else
{
// Retry every second.
sleep(1);
}
}
// Signal the weather applet.
const char *cmd = "pkill -RTMIN+2 i3blocks";
if ( system(cmd) )
{
// Error message should be printed to stdout since stdout is the way to
// interface with a user in i3blocks.
puts("WEATHER_SIGNALER ERROR\n");
}
}
int timer_init_launch(
timer_t *timer,
struct sigevent *sev,
struct sigaction *sa,
struct itimerspec *tspec)
{
// Event initialization.
sev->sigev_notify = SIGEV_SIGNAL;
sev->sigev_signo = SIGRTMIN;
sev->sigev_value.sival_ptr = timer;
// Signal action type initializaion.
sa->sa_flags = SA_SIGINFO;
sa->sa_sigaction = timer_handler;
sigemptyset(&sa->sa_mask);
if (sigaction(SIGRTMIN, sa, NULL) == -1)
return -1;
// Initialze timer.
if (timer_create(CLOCK_BOOTTIME, sev, timer) == -1)
return -1;
// Start the timer.
tspec->it_value.tv_sec = SLEEP_TIME_S;
tspec->it_value.tv_nsec = 0;
tspec->it_interval.tv_sec = SLEEP_TIME_S;
tspec->it_interval.tv_nsec = 0;
if (timer_settime(*timer, 0, tspec, NULL) == -1)
return -1;
// Initialization successful.
return 0;
}
int main()
{
timer_t timer;
struct sigevent sev;
struct sigaction sa;
struct itimerspec tspec;
// Initialize signaler
if (timer_init_launch(&timer, &sev, &sa, &tspec))
exit(EXIT_FAILURE);
// Signal on daemon launch.
sleep(1);
timer_handler(0, NULL, NULL);
while(1)
{
sleep(100);
}
}

2802
.config/nvim/autoload/plug.vim Executable file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,368 @@
" ===============================================================
" OceanicNext
" Author: Mike Hartington
" ===============================================================
" {{{ Setup
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name="OceanicNext"
" }}}
" {{{ Italics
let g:oceanic_next_terminal_italic = get(g:, 'oceanic_next_terminal_italic', 0)
let s:italic = ""
if g:oceanic_next_terminal_italic == 1
let s:italic = "italic"
endif
"}}}
" {{{ Bold
let g:oceanic_next_terminal_bold = get(g:, 'oceanic_next_terminal_bold', 0)
let s:bold = ""
if g:oceanic_next_terminal_bold == 1
let s:bold = "bold"
endif
"}}}
" {{{ Colors
let s:base00 = ['#1b2b34', '235']
let s:base01 = ['#343d46', '237']
let s:base02 = ['#4f5b66', '240']
let s:base03 = ['#65737e', '243']
let s:base04 = ['#a7adba', '145']
let s:base05 = ['#c0c5ce', '251']
let s:base06 = ['#cdd3de', '252']
let s:base07 = ['#d8dee9', '253']
let s:red = ['#ec5f67', '203']
let s:orange = ['#f99157', '209']
let s:yellow = ['#fac863', '221']
let s:green = ['#99c794', '114']
let s:cyan = ['#62b3b2', '73']
let s:blue = ['#6699cc', '68']
let s:purple = ['#c594c5', '176']
let s:brown = ['#ab7967', '137']
let s:white = ['#ffffff', '15']
let s:none = ['NONE', 'NONE']
" }}}
" {{{ Highlight function
function! s:hi(group, fg, bg, attr, attrsp)
" fg, bg, attr, attrsp
if !empty(a:fg)
exec "hi " . a:group . " guifg=" . a:fg[0]
exec "hi " . a:group . " ctermfg=" . a:fg[1]
endif
if !empty(a:bg)
exec "hi " . a:group . " guibg=" . a:bg[0]
exec "hi " . a:group . " ctermbg=" . a:bg[1]
endif
if a:attr != ""
exec "hi " . a:group . " gui=" . a:attr
exec "hi " . a:group . " cterm=" . a:attr
endif
if !empty(a:attrsp)
exec "hi " . a:group . " guisp=" . a:attrsp[0]
endif
endfunction
" }}}
" {{{ call s::hi(group, fg, bg, gui, guisp)
call s:hi('Bold', '', '', s:bold, '')
call s:hi('Debug', s:red, '', '', '')
call s:hi('Directory', s:blue, '', '', '')
call s:hi('ErrorMsg', s:red, s:base00, '', '')
call s:hi('Exception', s:red, '', '', '')
call s:hi('FoldColumn', s:blue, s:base00, '', '')
call s:hi('Folded', s:base03, s:base01, s:italic, '')
call s:hi('IncSearch', s:base01, s:orange, 'NONE', '')
call s:hi('Italic', '', '', s:italic, '')
call s:hi('Macro', s:red, '', '', '')
call s:hi('MatchParen', s:base05, s:base03, '', '')
call s:hi('ModeMsg', s:green, '', '', '')
call s:hi('MoreMsg', s:green, '', '', '')
call s:hi('Question', s:blue, '', '', '')
call s:hi('Search', s:base03, s:yellow, '', '')
call s:hi('SpecialKey', s:base03, '', '', '')
call s:hi('TooLong', s:red, '', '', '')
call s:hi('Underlined', s:red, '', '', '')
call s:hi('Visual', '', s:base02, '', '')
call s:hi('VisualNOS', s:red, '', '', '')
call s:hi('WarningMsg', s:red, '', '', '')
call s:hi('WildMenu', s:base07, s:blue, '', '')
call s:hi('Title', s:blue, '', '', '')
call s:hi('Conceal', s:blue, s:base00, '', '')
call s:hi('Cursor', s:base00, s:base05, '', '')
call s:hi('NonText', s:base03, '', '', '')
call s:hi('Normal', s:base07, s:base00, '', '')
call s:hi('EndOfBuffer', s:base05, s:base00, '', '')
call s:hi('LineNr', s:base03, s:base00, '', '')
call s:hi('SignColumn', s:base00, s:base00, '', '')
call s:hi('StatusLine', s:base01, s:base03, '', '')
call s:hi('StatusLineNC', s:base03, s:base01, '', '')
call s:hi('VertSplit', s:base00, s:base02, '', '')
call s:hi('ColorColumn', '', s:base01, '', '')
call s:hi('CursorColumn', '', s:base01, '', '')
call s:hi('CursorLine', '', s:base01, 'None', '')
call s:hi('CursorLineNR', s:base00, s:base00, '', '')
call s:hi('CursorLineNr', s:base03, s:base01, '', '')
call s:hi('PMenu', s:base04, s:base01, '', '')
call s:hi('PMenuSel', s:base07, s:blue, '', '')
call s:hi('PmenuSbar', '', s:base02, '', '')
call s:hi('PmenuThumb', '', s:base07, '', '')
call s:hi('TabLine', s:base03, s:base01, '', '')
call s:hi('TabLineFill', s:base03, s:base01, '', '')
call s:hi('TabLineSel', s:green, s:base01, '', '')
call s:hi('helpExample', s:yellow, '', '', '')
call s:hi('helpCommand', s:yellow, '', '', '')
" Standard syntax highlighting
call s:hi('Boolean', s:orange, '', '', '')
call s:hi('Character', s:red, '', '', '')
call s:hi('Comment', s:base03, '', s:italic, '')
call s:hi('Conditional', s:purple, '', '', '')
call s:hi('Constant', s:orange, '', '', '')
call s:hi('Define', s:purple, '', '', '')
call s:hi('Delimiter', s:brown, '', '', '')
call s:hi('Float', s:orange, '', '', '')
call s:hi('Function', s:blue, '', '', '')
call s:hi('Identifier', s:cyan, '', '', '')
call s:hi('Include', s:blue, '', '', '')
call s:hi('Keyword', s:purple, '', '', '')
call s:hi('Label', s:yellow, '', '', '')
call s:hi('Number', s:orange, '', '', '')
call s:hi('Operator', s:base05, '', '', '')
call s:hi('PreProc', s:yellow, '', '', '')
call s:hi('Repeat', s:yellow, '', '', '')
call s:hi('Special', s:cyan, '', '', '')
call s:hi('SpecialChar', s:brown, '', '', '')
call s:hi('Statement', s:red, '', '', '')
call s:hi('StorageClass', s:yellow, '', '', '')
call s:hi('String', s:green, '', '', '')
call s:hi('Structure', s:purple, '', '', '')
call s:hi('Tag', s:yellow, '', '', '')
call s:hi('Todo', s:yellow, s:base01, '', '')
call s:hi('Type', s:yellow, '', '', '')
call s:hi('Typedef', s:yellow, '', '', '')
" LSP
call s:hi('LspDiagnosticsDefaultError', '', '', '', '')
call s:hi('LspDiagnosticsSignError', s:red, '', '', '')
call s:hi('LspDiagnosticsUnderlineError', '', '', 'undercurl', '')
call s:hi('LspDiagnosticsDefaultWarning', '', '', '', '')
call s:hi('LspDiagnosticsSignWarning', s:yellow, '', '', '')
call s:hi('LspDiagnosticsUnderlineWarning', '', '', 'undercurl', '')
call s:hi('LspDiagnosticsDefaultInformation', '', '', '', '')
call s:hi('LspDiagnosticsSignInformation', s:blue, '', '', '')
call s:hi('LspDiagnosticsUnderlineInformation', '', '', 'undercurl', '')
call s:hi('LspDiagnosticsDefaultHint', '', '', '', '')
call s:hi('LspDiagnosticsSignHint', s:cyan, '', '', '')
call s:hi('LspDiagnosticsUnderlineHint', '', '', 'undercurl', '')
" TreeSitter stuff
call s:hi('TSInclude', s:cyan, '', '', '')
call s:hi('TSPunctBracket', s:cyan, '', '', '')
call s:hi('TSPunctDelimiter', s:base07, '', '', '')
call s:hi('TSParameter', s:base07, '', '', '')
call s:hi('TSType', s:blue, '', '', '')
call s:hi('TSFunction', s:cyan, '', '', '')
call s:hi('TSTagDelimiter', s:cyan, '', '', '')
call s:hi('TSProperty', s:yellow, '', '', '')
call s:hi('TSMethod', s:blue, '', '', '')
call s:hi('TSParameter', s:yellow, '', '', '')
call s:hi('TSConstructor', s:base07, '', '', '')
call s:hi('TSVariable', s:base07, '', '', '')
call s:hi('TSOperator', s:base07, '', '', '')
call s:hi('TSTag', s:base07, '', '', '')
call s:hi('TSKeyword', s:purple, '', '', '')
call s:hi('TSKeywordOperator', s:purple, '', '', '')
call s:hi('TSVariableBuiltin', s:red, '', '', '')
call s:hi('TSLabel', s:cyan, '', '', '')
call s:hi('SpellBad', '', '', 'undercurl', '')
call s:hi('SpellLocal', '', '', 'undercurl', '')
call s:hi('SpellCap', '', '', 'undercurl', '')
call s:hi('SpellRare', '', '', 'undercurl', '')
call s:hi('csClass', s:yellow, '', '', '')
call s:hi('csAttribute', s:yellow, '', '', '')
call s:hi('csModifier', s:purple, '', '', '')
call s:hi('csType', s:red, '', '', '')
call s:hi('csUnspecifiedStatement', s:blue, '', '', '')
call s:hi('csContextualStatement', s:purple, '', '', '')
call s:hi('csNewDecleration', s:red, '', '', '')
call s:hi('cOperator', s:cyan, '', '', '')
call s:hi('cPreCondit', s:purple, '', '', '')
call s:hi('cssColor', s:cyan, '', '', '')
call s:hi('cssBraces', s:base05, '', '', '')
call s:hi('cssClassName', s:purple, '', '', '')
call s:hi('DiffAdd', s:green, s:base01, s:bold, '')
call s:hi('DiffChange', s:base03, s:base01, '', '')
call s:hi('DiffDelete', s:red, s:base01, '', '')
call s:hi('DiffText', s:blue, s:base01, '', '')
call s:hi('DiffAdded', s:base07, s:green, s:bold, '')
call s:hi('DiffFile', s:red, s:base00, '', '')
call s:hi('DiffNewFile', s:green, s:base00, '', '')
call s:hi('DiffLine', s:blue, s:base00, '', '')
call s:hi('DiffRemoved', s:base07, s:red, s:bold, '')
call s:hi('gitCommitOverflow', s:red, '', '', '')
call s:hi('gitCommitSummary', s:green, '', '', '')
call s:hi('htmlBold', s:yellow, '', '', '')
call s:hi('htmlItalic', s:purple, '', '', '')
call s:hi('htmlTag', s:cyan, '', '', '')
call s:hi('htmlEndTag', s:cyan, '', '', '')
call s:hi('htmlArg', s:yellow, '', '', '')
call s:hi('htmlTagName', s:base07, '', '', '')
call s:hi('javaScript', s:base05, '', '', '')
call s:hi('javaScriptNumber', s:orange, '', '', '')
call s:hi('javaScriptBraces', s:base05, '', '', '')
call s:hi('jsonKeyword', s:green, '', '', '')
call s:hi('jsonQuote', s:green, '', '', '')
call s:hi('markdownCode', s:green, '', '', '')
call s:hi('markdownCodeBlock', s:green, '', '', '')
call s:hi('markdownHeadingDelimiter', s:blue, '', '', '')
call s:hi('markdownItalic', s:purple, '', s:italic, '')
call s:hi('markdownBold', s:yellow, '', s:bold, '')
call s:hi('markdownCodeDelimiter', s:brown, '', s:italic, '')
call s:hi('markdownError', s:base05, s:base00, '', '')
call s:hi('typescriptParens', s:base05, s:none, '', '')
call s:hi('NeomakeErrorSign', s:red, s:base00, '', '')
call s:hi('NeomakeWarningSign', s:yellow, s:base00, '', '')
call s:hi('NeomakeInfoSign', s:white, s:base00, '', '')
call s:hi('NeomakeError', s:red, '', 'underline', s:red)
call s:hi('NeomakeWarning', s:red, '', 'underline', s:red)
call s:hi('ALEErrorSign', s:red, s:base00, s:bold, '')
call s:hi('ALEWarningSign', s:yellow, s:base00, s:bold, '')
call s:hi('ALEInfoSign', s:white, s:base00, s:bold, '')
call s:hi('NERDTreeExecFile', s:base05, '', '', '')
call s:hi('NERDTreeDirSlash', s:blue, '', '', '')
call s:hi('NERDTreeOpenable', s:blue, '', '', '')
call s:hi('NERDTreeFile', '', s:none, '', '')
call s:hi('NERDTreeFlags', s:blue, '', '', '')
call s:hi('phpComparison', s:base05, '', '', '')
call s:hi('phpParent', s:base05, '', '', '')
call s:hi('phpMemberSelector', s:base05, '', '', '')
call s:hi('pythonRepeat', s:purple, '', '', '')
call s:hi('pythonOperator', s:purple, '', '', '')
call s:hi('rubyConstant', s:yellow, '', '', '')
call s:hi('rubySymbol', s:green, '', '', '')
call s:hi('rubyAttribute', s:blue, '', '', '')
call s:hi('rubyInterpolation', s:green, '', '', '')
call s:hi('rubyInterpolationDelimiter', s:brown, '', '', '')
call s:hi('rubyStringDelimiter', s:green, '', '', '')
call s:hi('rubyRegexp', s:cyan, '', '', '')
call s:hi('sassidChar', s:red, '', '', '')
call s:hi('sassClassChar', s:orange, '', '', '')
call s:hi('sassInclude', s:purple, '', '', '')
call s:hi('sassMixing', s:purple, '', '', '')
call s:hi('sassMixinName', s:blue, '', '', '')
call s:hi('vimfilerLeaf', s:base05, '', '', '')
call s:hi('vimfilerNormalFile', s:base05, s:base00, '', '')
call s:hi('vimfilerOpenedFile', s:blue, '', '', '')
call s:hi('vimfilerClosedFile', s:blue, '', '', '')
call s:hi('GitGutterAdd', s:green, s:base00, s:bold, '')
call s:hi('GitGutterChange', s:blue, s:base00, s:bold, '')
call s:hi('GitGutterDelete', s:red, s:base00, s:bold, '')
call s:hi('GitGutterChangeDelete', s:purple, s:base00, s:bold, '')
call s:hi('SignifySignAdd', s:green, s:base00, s:bold, '')
call s:hi('SignifySignChange', s:blue, s:base00, s:bold, '')
call s:hi('SignifySignDelete', s:red, s:base00, s:bold, '')
call s:hi('SignifySignChangeDelete', s:purple, s:base00, s:bold, '')
call s:hi('SignifySignDeleteFirstLine', s:red, s:base00, s:bold, '')
call s:hi('xmlTag', s:cyan, '', '', '')
call s:hi('xmlTagName', s:base05, '', '', '')
call s:hi('xmlEndTag', s:cyan, '', '', '')
call s:hi('Defx_filename_directory', s:blue, '', '', '')
call s:hi('CocErrorSign', s:red, '', '', '')
call s:hi('CocWarningSign', s:yellow, '', '', '')
call s:hi('CocInfoSign', s:blue, '', '', '')
call s:hi('CocHintSign', s:cyan, '', '', '')
call s:hi('CocErrorFloat', s:red, '', '', '')
call s:hi('CocWarningFloat', s:yellow, '', '', '')
call s:hi('CocInfoFloat', s:blue, '', '', '')
call s:hi('CocHintFloat', s:cyan, '', '', '')
call s:hi('CocDiagnosticsError', s:red, '', '', '')
call s:hi('CocDiagnosticsWarning', s:yellow, '', '', '')
call s:hi('CocDiagnosticsInfo', s:blue, '', '', '')
call s:hi('CocDiagnosticsHint', s:cyan, '', '', '')
call s:hi('CocSelectedText', s:purple, '', '', '')
call s:hi('CocCodeLens', s:base04, '', '', '')
" }}}
" {{{ Terminal
if has('nvim')
let g:terminal_color_0=s:base00[0]
let g:terminal_color_8=s:base03[0]
let g:terminal_color_1=s:red[0]
let g:terminal_color_9=s:red[0]
let g:terminal_color_2=s:green[0]
let g:terminal_color_10=s:green[0]
let g:terminal_color_3=s:yellow[0]
let g:terminal_color_11=s:yellow[0]
let g:terminal_color_4=s:blue[0]
let g:terminal_color_12=s:blue[0]
let g:terminal_color_5=s:purple[0]
let g:terminal_color_13=s:purple[0]
let g:terminal_color_6=s:cyan[0]
let g:terminal_color_14=s:cyan[0]
let g:terminal_color_7=s:base05[0]
let g:terminal_color_15=s:base05[0]
let g:terminal_color_background=s:base00[0]
let g:terminal_color_foreground=s:white[0]
else
let g:terminal_ansi_colors = [
\ s:base00[0],
\ s:red[0],
\ s:green[0],
\ s:yellow[0],
\ s:blue[0],
\ s:purple[0],
\ s:cyan[0],
\ s:white[0],
\ s:base03[0],
\ s:red[0],
\ s:green[0],
\ s:yellow[0],
\ s:blue[0],
\ s:purple[0],
\ s:cyan[0],
\ s:white[0],
\]
endif

View File

@ -0,0 +1,368 @@
" ===============================================================
" OceanicNextLight
" Author: Mike Hartington
" ===============================================================
" {{{ Setup
set background=light
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name="OceanicNextLight"
" }}}
" {{{ Italics
let g:oceanic_next_terminal_italic = get(g:, 'oceanic_next_terminal_italic', 0)
let s:italic = ""
if g:oceanic_next_terminal_italic == 1
let s:italic = "italic"
endif
" }}}
" {{{ Bold
let g:oceanic_next_terminal_bold = get(g:, 'oceanic_next_terminal_bold', 0)
let s:bold = ""
if g:oceanic_next_terminal_bold == 1
let s:bold = "bold"
endif
" }}}
" {{{ Colors
let s:base00 = ['#d8dee9', '253']
let s:base01 = ['#cdd3de', '252']
let s:base02 = ['#c0c5ce', '251']
let s:base03 = ['#a7adba', '145']
let s:base04 = ['#65737e', '243']
let s:base05 = ['#4f5b66', '240']
let s:base06 = ['#343d46', '237']
let s:base07 = ['#1b2b34', '235']
let s:red = ['#b40b11', '124']
let s:orange = ['#b4713d', '131']
let s:yellow = ['#a48c32', '137']
let s:green = ['#869235', '101']
let s:cyan = ['#5b9c90', '72']
let s:blue = ['#526f93', '60']
let s:purple = ['#896a98', '96']
let s:brown = ['#9a806d', '101']
let s:white = ['#ffffff', '15']
let s:none = ['NONE', 'NONE']
" }}}
" {{{ Highlight function
function! <sid>hi(group, fg, bg, attr, attrsp)
" fg, bg, attr, attrsp
if !empty(a:fg)
exec "hi " . a:group . " guifg=" . a:fg[0]
exec "hi " . a:group . " ctermfg=" . a:fg[1]
endif
if !empty(a:bg)
exec "hi " . a:group . " guibg=" . a:bg[0]
exec "hi " . a:group . " ctermbg=" . a:bg[1]
endif
if a:attr != ""
exec "hi " . a:group . " gui=" . a:attr
exec "hi " . a:group . " cterm=" . a:attr
endif
if !empty(a:attrsp)
exec "hi " . a:group . " guisp=" . a:attrsp[0]
endif
endfunction
" }}}
" {{{ call s::hi(group, fg, bg, gui, guisp)
call s:hi('Bold', '', '', s:bold, '')
call s:hi('Debug', s:red, '', '', '')
call s:hi('Directory', s:blue, '', '', '')
call s:hi('ErrorMsg', s:red, s:base00, '', '')
call s:hi('Exception', s:red, '', '', '')
call s:hi('FoldColumn', s:blue, s:base00, '', '')
call s:hi('Folded', s:base03, s:base01, s:italic, '')
call s:hi('IncSearch', s:base01, s:orange, 'NONE', '')
call s:hi('Italic', '', '', s:italic, '')
call s:hi('Macro', s:red, '', '', '')
call s:hi('MatchParen', s:base05, s:base03, '', '')
call s:hi('ModeMsg', s:green, '', '', '')
call s:hi('MoreMsg', s:green, '', '', '')
call s:hi('Question', s:blue, '', '', '')
call s:hi('Search', s:base03, s:yellow, '', '')
call s:hi('SpecialKey', s:base03, '', '', '')
call s:hi('TooLong', s:red, '', '', '')
call s:hi('Underlined', s:red, '', '', '')
call s:hi('Visual', '', s:base02, '', '')
call s:hi('VisualNOS', s:red, '', '', '')
call s:hi('WarningMsg', s:red, '', '', '')
call s:hi('WildMenu', s:base07, s:blue, '', '')
call s:hi('Title', s:blue, '', '', '')
call s:hi('Conceal', s:blue, s:base00, '', '')
call s:hi('Cursor', s:base00, s:base05, '', '')
call s:hi('NonText', s:base03, '', '', '')
call s:hi('Normal', s:base07, s:base00, '', '')
call s:hi('EndOfBuffer', s:base05, s:base00, '', '')
call s:hi('LineNr', s:base03, s:base00, '', '')
call s:hi('SignColumn', s:base00, s:base00, '', '')
call s:hi('StatusLine', s:base01, s:base03, '', '')
call s:hi('StatusLineNC', s:base03, s:base01, '', '')
call s:hi('VertSplit', s:base00, s:base02, '', '')
call s:hi('ColorColumn', '', s:base01, '', '')
call s:hi('CursorColumn', '', s:base01, '', '')
call s:hi('CursorLine', '', s:base01, 'None', '')
call s:hi('CursorLineNR', s:base00, s:base00, '', '')
call s:hi('CursorLineNr', s:base03, s:base01, '', '')
call s:hi('PMenu', s:base04, s:base01, '', '')
call s:hi('PMenuSel', s:base07, s:blue, '', '')
call s:hi('PmenuSbar', '', s:base02, '', '')
call s:hi('PmenuThumb', '', s:base07, '', '')
call s:hi('TabLine', s:base03, s:base01, '', '')
call s:hi('TabLineFill', s:base03, s:base01, '', '')
call s:hi('TabLineSel', s:green, s:base01, '', '')
call s:hi('helpExample', s:yellow, '', '', '')
call s:hi('helpCommand', s:yellow, '', '', '')
" Standard syntax highlighting
call s:hi('Boolean', s:orange, '', '', '')
call s:hi('Character', s:red, '', '', '')
call s:hi('Comment', s:base03, '', s:italic, '')
call s:hi('Conditional', s:purple, '', '', '')
call s:hi('Constant', s:orange, '', '', '')
call s:hi('Define', s:purple, '', '', '')
call s:hi('Delimiter', s:brown, '', '', '')
call s:hi('Float', s:orange, '', '', '')
call s:hi('Function', s:blue, '', '', '')
call s:hi('Identifier', s:cyan, '', '', '')
call s:hi('Include', s:blue, '', '', '')
call s:hi('Keyword', s:purple, '', '', '')
call s:hi('Label', s:yellow, '', '', '')
call s:hi('Number', s:orange, '', '', '')
call s:hi('Operator', s:base05, '', '', '')
call s:hi('PreProc', s:yellow, '', '', '')
call s:hi('Repeat', s:yellow, '', '', '')
call s:hi('Special', s:cyan, '', '', '')
call s:hi('SpecialChar', s:brown, '', '', '')
call s:hi('Statement', s:red, '', '', '')
call s:hi('StorageClass', s:yellow, '', '', '')
call s:hi('String', s:green, '', '', '')
call s:hi('Structure', s:purple, '', '', '')
call s:hi('Tag', s:yellow, '', '', '')
call s:hi('Todo', s:yellow, s:base01, '', '')
call s:hi('Type', s:yellow, '', '', '')
call s:hi('Typedef', s:yellow, '', '', '')
" LSP
call s:hi('LspDiagnosticsDefaultError', '', '', '', '')
call s:hi('LspDiagnosticsSignError', s:red, '', '', '')
call s:hi('LspDiagnosticsUnderlineError', '', '', 'undercurl', '')
call s:hi('LspDiagnosticsDefaultWarning', '', '', '', '')
call s:hi('LspDiagnosticsSignWarning', s:yellow, '', '', '')
call s:hi('LspDiagnosticsUnderlineWarning', '', '', 'undercurl', '')
call s:hi('LspDiagnosticsDefaultInformation', '', '', '', '')
call s:hi('LspDiagnosticsSignInformation', s:blue, '', '', '')
call s:hi('LspDiagnosticsUnderlineInformation', '', '', 'undercurl', '')
call s:hi('LspDiagnosticsDefaultHint', '', '', '', '')
call s:hi('LspDiagnosticsSignHint', s:cyan, '', '', '')
call s:hi('LspDiagnosticsUnderlineHint', '', '', 'undercurl', '')
" TreeSitter stuff
call s:hi('TSInclude', s:cyan, '', '', '')
call s:hi('TSPunctBracket', s:cyan, '', '', '')
call s:hi('TSPunctDelimiter', s:base07, '', '', '')
call s:hi('TSParameter', s:base07, '', '', '')
call s:hi('TSType', s:blue, '', '', '')
call s:hi('TSFunction', s:cyan, '', '', '')
call s:hi('TSTagDelimiter', s:cyan, '', '', '')
call s:hi('TSProperty', s:yellow, '', '', '')
call s:hi('TSMethod', s:blue, '', '', '')
call s:hi('TSParameter', s:yellow, '', '', '')
call s:hi('TSConstructor', s:base07, '', '', '')
call s:hi('TSVariable', s:base07, '', '', '')
call s:hi('TSOperator', s:base07, '', '', '')
call s:hi('TSTag', s:base07, '', '', '')
call s:hi('TSKeyword', s:purple, '', '', '')
call s:hi('TSKeywordOperator', s:purple, '', '', '')
call s:hi('TSVariableBuiltin', s:red, '', '', '')
call s:hi('TSLabel', s:cyan, '', '', '')
call s:hi('SpellBad', '', '', 'undercurl', '')
call s:hi('SpellLocal', '', '', 'undercurl', '')
call s:hi('SpellCap', '', '', 'undercurl', '')
call s:hi('SpellRare', '', '', 'undercurl', '')
call s:hi('csClass', s:yellow, '', '', '')
call s:hi('csAttribute', s:yellow, '', '', '')
call s:hi('csModifier', s:purple, '', '', '')
call s:hi('csType', s:red, '', '', '')
call s:hi('csUnspecifiedStatement', s:blue, '', '', '')
call s:hi('csContextualStatement', s:purple, '', '', '')
call s:hi('csNewDecleration', s:red, '', '', '')
call s:hi('cOperator', s:cyan, '', '', '')
call s:hi('cPreCondit', s:purple, '', '', '')
call s:hi('cssColor', s:cyan, '', '', '')
call s:hi('cssBraces', s:base05, '', '', '')
call s:hi('cssClassName', s:purple, '', '', '')
call s:hi('DiffAdd', s:green, s:base01, s:bold, '')
call s:hi('DiffChange', s:base03, s:base01, '', '')
call s:hi('DiffDelete', s:red, s:base01, '', '')
call s:hi('DiffText', s:blue, s:base01, '', '')
call s:hi('DiffAdded', s:base07, s:green, s:bold, '')
call s:hi('DiffFile', s:red, s:base00, '', '')
call s:hi('DiffNewFile', s:green, s:base00, '', '')
call s:hi('DiffLine', s:blue, s:base00, '', '')
call s:hi('DiffRemoved', s:base07, s:red, s:bold, '')
call s:hi('gitCommitOverflow', s:red, '', '', '')
call s:hi('gitCommitSummary', s:green, '', '', '')
call s:hi('htmlBold', s:yellow, '', '', '')
call s:hi('htmlItalic', s:purple, '', '', '')
call s:hi('htmlTag', s:cyan, '', '', '')
call s:hi('htmlEndTag', s:cyan, '', '', '')
call s:hi('htmlArg', s:yellow, '', '', '')
call s:hi('htmlTagName', s:base07, '', '', '')
call s:hi('javaScript', s:base05, '', '', '')
call s:hi('javaScriptNumber', s:orange, '', '', '')
call s:hi('javaScriptBraces', s:base05, '', '', '')
call s:hi('jsonKeyword', s:green, '', '', '')
call s:hi('jsonQuote', s:green, '', '', '')
call s:hi('markdownCode', s:green, '', '', '')
call s:hi('markdownCodeBlock', s:green, '', '', '')
call s:hi('markdownHeadingDelimiter', s:blue, '', '', '')
call s:hi('markdownItalic', s:purple, '', s:italic, '')
call s:hi('markdownBold', s:yellow, '', s:bold, '')
call s:hi('markdownCodeDelimiter', s:brown, '', s:italic, '')
call s:hi('markdownError', s:base05, s:base00, '', '')
call s:hi('typescriptParens', s:base05, s:none, '', '')
call s:hi('NeomakeErrorSign', s:red, s:base00, '', '')
call s:hi('NeomakeWarningSign', s:yellow, s:base00, '', '')
call s:hi('NeomakeInfoSign', s:white, s:base00, '', '')
call s:hi('NeomakeError', s:red, '', 'underline', s:red)
call s:hi('NeomakeWarning', s:red, '', 'underline', s:red)
call s:hi('ALEErrorSign', s:red, s:base00, s:bold, '')
call s:hi('ALEWarningSign', s:yellow, s:base00, s:bold, '')
call s:hi('ALEInfoSign', s:white, s:base00, s:bold, '')
call s:hi('NERDTreeExecFile', s:base05, '', '', '')
call s:hi('NERDTreeDirSlash', s:blue, '', '', '')
call s:hi('NERDTreeOpenable', s:blue, '', '', '')
call s:hi('NERDTreeFile', '', s:none, '', '')
call s:hi('NERDTreeFlags', s:blue, '', '', '')
call s:hi('phpComparison', s:base05, '', '', '')
call s:hi('phpParent', s:base05, '', '', '')
call s:hi('phpMemberSelector', s:base05, '', '', '')
call s:hi('pythonRepeat', s:purple, '', '', '')
call s:hi('pythonOperator', s:purple, '', '', '')
call s:hi('rubyConstant', s:yellow, '', '', '')
call s:hi('rubySymbol', s:green, '', '', '')
call s:hi('rubyAttribute', s:blue, '', '', '')
call s:hi('rubyInterpolation', s:green, '', '', '')
call s:hi('rubyInterpolationDelimiter', s:brown, '', '', '')
call s:hi('rubyStringDelimiter', s:green, '', '', '')
call s:hi('rubyRegexp', s:cyan, '', '', '')
call s:hi('sassidChar', s:red, '', '', '')
call s:hi('sassClassChar', s:orange, '', '', '')
call s:hi('sassInclude', s:purple, '', '', '')
call s:hi('sassMixing', s:purple, '', '', '')
call s:hi('sassMixinName', s:blue, '', '', '')
call s:hi('vimfilerLeaf', s:base05, '', '', '')
call s:hi('vimfilerNormalFile', s:base05, s:base00, '', '')
call s:hi('vimfilerOpenedFile', s:blue, '', '', '')
call s:hi('vimfilerClosedFile', s:blue, '', '', '')
call s:hi('GitGutterAdd', s:green, s:base00, s:bold, '')
call s:hi('GitGutterChange', s:blue, s:base00, s:bold, '')
call s:hi('GitGutterDelete', s:red, s:base00, s:bold, '')
call s:hi('GitGutterChangeDelete', s:purple, s:base00, s:bold, '')
call s:hi('SignifySignAdd', s:green, s:base00, s:bold, '')
call s:hi('SignifySignChange', s:blue, s:base00, s:bold, '')
call s:hi('SignifySignDelete', s:red, s:base00, s:bold, '')
call s:hi('SignifySignChangeDelete', s:purple, s:base00, s:bold, '')
call s:hi('SignifySignDeleteFirstLine', s:red, s:base00, s:bold, '')
call s:hi('xmlTag', s:cyan, '', '', '')
call s:hi('xmlTagName', s:base05, '', '', '')
call s:hi('xmlEndTag', s:cyan, '', '', '')
call s:hi('Defx_filename_directory', s:blue, '', '', '')
call s:hi('CocErrorSign', s:red, '', '', '')
call s:hi('CocWarningSign', s:yellow, '', '', '')
call s:hi('CocInfoSign', s:blue, '', '', '')
call s:hi('CocHintSign', s:cyan, '', '', '')
call s:hi('CocErrorFloat', s:red, '', '', '')
call s:hi('CocWarningFloat', s:yellow, '', '', '')
call s:hi('CocInfoFloat', s:blue, '', '', '')
call s:hi('CocHintFloat', s:cyan, '', '', '')
call s:hi('CocDiagnosticsError', s:red, '', '', '')
call s:hi('CocDiagnosticsWarning', s:yellow, '', '', '')
call s:hi('CocDiagnosticsInfo', s:blue, '', '', '')
call s:hi('CocDiagnosticsHint', s:cyan, '', '', '')
call s:hi('CocSelectedText', s:purple, '', '', '')
call s:hi('CocCodeLens', s:base04, '', '', '')
" }}}
" {{{ Terminal
if has('nvim')
let g:terminal_color_0=s:base00[0]
let g:terminal_color_8=s:base03[0]
let g:terminal_color_1=s:red[0]
let g:terminal_color_9=s:red[0]
let g:terminal_color_2=s:green[0]
let g:terminal_color_10=s:green[0]
let g:terminal_color_3=s:yellow[0]
let g:terminal_color_11=s:yellow[0]
let g:terminal_color_4=s:blue[0]
let g:terminal_color_12=s:blue[0]
let g:terminal_color_5=s:purple[0]
let g:terminal_color_13=s:purple[0]
let g:terminal_color_6=s:cyan[0]
let g:terminal_color_14=s:cyan[0]
let g:terminal_color_7=s:base05[0]
let g:terminal_color_15=s:base05[0]
let g:terminal_color_background=s:base00[0]
let g:terminal_color_foreground=s:white[0]
else
let g:terminal_ansi_colors = [
\ s:base00[0],
\ s:red[0],
\ s:green[0],
\ s:yellow[0],
\ s:blue[0],
\ s:purple[0],
\ s:cyan[0],
\ s:white[0],
\ s:base03[0],
\ s:red[0],
\ s:green[0],
\ s:yellow[0],
\ s:blue[0],
\ s:purple[0],
\ s:cyan[0],
\ s:white[0],
\]
endif

Some files were not shown because too many files have changed in this diff Show More