Adds Arch Linux dotfiles

This commit is contained in:
2024-06-27 17:51:18 +05:30
commit 57eb70137b
309 changed files with 8851 additions and 0 deletions

19
.gitignore vendored Normal file
View File

@@ -0,0 +1,19 @@
/Code
aseprite/
Thunar/
KDE/
kde.org/
kdedefaults/
kdeglobals
kdfrc
kfontviewrc
kglobalshortcutsrc
khotkey
khtml/
bruno/
discord/
google-chrome/
inkscape/
kate/
libaccounts-glib/
kwinrc

View File

@@ -0,0 +1,7 @@
complete --command fisher --exclusive --long help --description "Print help"
complete --command fisher --exclusive --long version --description "Print version"
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins"
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins"
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins"
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex"
complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)"

View File

@@ -0,0 +1,8 @@
complete fzf_configure_bindings --no-files
complete fzf_configure_bindings --long help --short h --description "Print help" --condition "not __fish_seen_argument --help -h"
complete fzf_configure_bindings --long directory --description "Change the key binding for Search Directory" --condition "not __fish_seen_argument --directory"
complete fzf_configure_bindings --long git_log --description "Change the key binding for Search Git Log" --condition "not __fish_seen_argument --git_log"
complete fzf_configure_bindings --long git_status --description "Change the key binding for Search Git Status" --condition "not __fish_seen_argument --git_status"
complete fzf_configure_bindings --long history --description "Change the key binding for Search History" --condition "not __fish_seen_argument --history"
complete fzf_configure_bindings --long processes --description "Change the key binding for Search Processes" --condition "not __fish_seen_argument --processes"
complete fzf_configure_bindings --long variables --description "Change the key binding for Search Variables" --condition "not __fish_seen_argument --variables"

21
fish/completions/nvm.fish Normal file
View File

@@ -0,0 +1,21 @@
complete --command nvm --exclusive
complete --command nvm --exclusive --long version --description "Print version"
complete --command nvm --exclusive --long help --description "Print help"
complete --command nvm --long silent --description "Suppress standard output"
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments install --description "Download and activate the specified Node version"
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments use --description "Activate the specified Node version in the current shell"
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list --description "List installed Node versions"
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list-remote --description "List available Node versions to install"
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments current --description "Print the currently-active Node version"
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from install" --arguments "(
test -e $nvm_data && string split ' ' <$nvm_data/.index
)"
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from use" --arguments "(_nvm_list | string split ' ')"
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments uninstall --description "Uninstall the specified Node version"
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from uninstall" --arguments "(
_nvm_list | string split ' ' | string replace system ''
)"
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from use uninstall" --arguments "(
set --query nvm_default_version && echo default
)"

28
fish/conf.d/fzf.fish Normal file
View File

@@ -0,0 +1,28 @@
# fzf.fish is only meant to be used in interactive mode. If not in interactive mode and not in CI, skip the config to speed up shell startup
if not status is-interactive && test "$CI" != true
exit
end
# Because of scoping rules, to capture the shell variables exactly as they are, we must read
# them before even executing _fzf_search_variables. We use psub to store the
# variables' info in temporary files and pass in the filenames as arguments.
# This variable is global so that it can be referenced by fzf_configure_bindings and in tests
set --global _fzf_search_vars_command '_fzf_search_variables (set --show | psub) (set --names | psub)'
# Install the default bindings, which are mnemonic and minimally conflict with fish's preset bindings
fzf_configure_bindings
# Doesn't erase autoloaded _fzf_* functions because they are not easily accessible once key bindings are erased
function _fzf_uninstall --on-event fzf_uninstall
_fzf_uninstall_bindings
set --erase _fzf_search_vars_command
functions --erase _fzf_uninstall _fzf_migration_message _fzf_uninstall_bindings fzf_configure_bindings
complete --erase fzf_configure_bindings
set_color cyan
echo "fzf.fish uninstalled."
echo "You may need to manually remove fzf_configure_bindings from your config.fish if you were using custom key bindings."
set_color normal
end

28
fish/conf.d/nvm.fish Normal file
View File

@@ -0,0 +1,28 @@
set --query nvm_mirror || set --global nvm_mirror https://nodejs.org/dist
set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share
set --global nvm_data $XDG_DATA_HOME/nvm
function _nvm_install --on-event nvm_install
test ! -d $nvm_data && command mkdir -p $nvm_data
echo "Downloading the Node distribution index..." 2>/dev/null
_nvm_index_update
end
function _nvm_update --on-event nvm_update
set --query --universal nvm_data && set --erase --universal nvm_data
set --query --universal nvm_mirror && set --erase --universal nvm_mirror
set --query nvm_mirror || set --global nvm_mirror https://nodejs.org/dist
end
function _nvm_uninstall --on-event nvm_uninstall
command rm -rf $nvm_data
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
set --names | string replace --filter --regex -- "^nvm" "set --erase nvm" | source
functions --erase (functions --all | string match --entire --regex -- "^_nvm_")
end
if status is-interactive && set --query nvm_default_version && ! set --query nvm_current_version
nvm use --silent $nvm_default_version
end

1
fish/conf.d/rustup.fish Normal file
View File

@@ -0,0 +1 @@
source "$HOME/.cargo/env.fish"

5
fish/config.fish Normal file
View File

@@ -0,0 +1,5 @@
if status is-interactive
# Commands to run in interactive sessions can go here
end
alias open_file='fzf --preview "less {}" | xargs -o vim'

3
fish/fish_plugins Normal file
View File

@@ -0,0 +1,3 @@
jorgebucaran/fisher
jorgebucaran/nvm.fish
patrickf1/fzf.fish

36
fish/fish_variables Normal file
View File

@@ -0,0 +1,36 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:3400
SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
SETUVAR _fisher_jorgebucaran_2F_nvm_2E_fish_files:\x7e/\x2econfig/fish/functions/_nvm_index_update\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_list\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_version_activate\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_version_deactivate\x2efish\x1e\x7e/\x2econfig/fish/functions/nvm\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/nvm\x2efish\x1e\x7e/\x2econfig/fish/completions/nvm\x2efish
SETUVAR _fisher_patrickf1_2F_fzf_2E_fish_files:\x7e/\x2econfig/fish/functions/_fzf_configure_bindings_help\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_extract_var_info\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_changed_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_diff_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_file_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_directory\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_log\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_status\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_history\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_processes\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_variables\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_wrapper\x2efish\x1e\x7e/\x2econfig/fish/functions/fzf_configure_bindings\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/fzf\x2efish\x1e\x7e/\x2econfig/fish/completions/fzf_configure_bindings\x2efish
SETUVAR _fisher_plugins:jorgebucaran/fisher\x1ejorgebucaran/nvm\x2efish\x1epatrickf1/fzf\x2efish
SETUVAR _fisher_upgraded_to_4_4:\x1d
SETUVAR fish_color_autosuggestion:brblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:blue
SETUVAR fish_color_comment:red
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:green
SETUVAR fish_color_error:brred
SETUVAR fish_color_escape:brcyan
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:brcyan
SETUVAR fish_color_param:cyan
SETUVAR fish_color_quote:yellow
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
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_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:yellow\x1e\x2di
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr

View File

@@ -0,0 +1,43 @@
function _fzf_configure_bindings_help --description "Prints the help message for fzf_configure_bindings."
echo "\
USAGE:
fzf_configure_bindings [--COMMAND=[KEY_SEQUENCE]...]
DESCRIPTION
fzf_configure_bindings installs key bindings for fzf.fish's commands and erases any bindings it
previously installed. It installs bindings for both default and insert modes. fzf.fish executes
it without options on fish startup to install the out-of-the-box key bindings.
By default, commands are bound to a mnemonic key sequence, shown below. Each command's binding
can be configured using a namesake corresponding option:
COMMAND | DEFAULT KEY SEQUENCE | CORRESPONDING OPTION
Search Directory | Ctrl+Alt+F (F for file) | --directory
Search Git Log | Ctrl+Alt+L (L for log) | --git_log
Search Git Status | Ctrl+Alt+S (S for status) | --git_status
Search History | Ctrl+R (R for reverse) | --history
Search Processes | Ctrl+Alt+P (P for process) | --processes
Search Variables | Ctrl+V (V for variable) | --variables
Override a command's binding by specifying its corresponding option with the desired key
sequence. Disable a command's binding by specifying its corresponding option with no value.
Because fzf_configure_bindings erases bindings it previously installed, it can be cleanly
executed multiple times. Once the desired fzf_configure_bindings command has been found, add it
to your config.fish in order to persist the customized bindings.
In terms of validation, fzf_configure_bindings fails if passed unknown options. It expects an
equals sign between an option's name and value. However, it does not validate key sequences.
Pass -h or --help to print this help message and exit.
EXAMPLES
Default bindings but bind Search Directory to Ctrl+F and Search Variables to Ctrl+Alt+V
\$ fzf_configure_bindings --directory=\cf --variables=\e\cv
Default bindings but disable Search History
\$ fzf_configure_bindings --history=
An agglomeration of different options
\$ fzf_configure_bindings --git_status=\cg --history=\ch --variables= --processes=
SEE Also
To learn more about fish key bindings, see bind(1) and fish_key_reader(1).
"
end

View File

@@ -0,0 +1,15 @@
# helper function for _fzf_search_variables
function _fzf_extract_var_info --argument-names variable_name set_show_output --description "Extract and reformat lines pertaining to \$variable_name from \$set_show_output."
# Extract only the lines about the variable, all of which begin with either
# $variable_name: ...or... $variable_name[
string match --regex "^\\\$$variable_name(?::|\[).*" <$set_show_output |
# Strip the variable name prefix, including ": " for scope info lines
string replace --regex "^\\\$$variable_name(?:: )?" '' |
# Distill the lines of values, replacing...
# [1]: |value|
# ...with...
# [1] value
string replace --regex ": \|(.*)\|" ' $1'
end

View File

@@ -0,0 +1,49 @@
# helper for _fzf_search_git_status
# arg should be a line from git status --short, e.g.
# MM functions/_fzf_preview_changed_file.fish
# D README.md
# R LICENSE -> "New License"
function _fzf_preview_changed_file --argument-names path_status --description "Show the git diff of the given file."
# remove quotes because they'll be interpreted literally by git diff
# no need to requote when referencing $path because fish does not perform word splitting
# https://fishshell.com/docs/current/fish_for_bash_users.html
set -f path (string unescape (string sub --start 4 $path_status))
# first letter of short format shows index, second letter shows working tree
# https://git-scm.com/docs/git-status/2.35.0#_short_format
set -f index_status (string sub --length 1 $path_status)
set -f working_tree_status (string sub --start 2 --length 1 $path_status)
set -f diff_opts --color=always
if test $index_status = '?'
_fzf_report_diff_type Untracked
_fzf_preview_file $path
else if contains {$index_status}$working_tree_status DD AU UD UA DU AA UU
# Unmerged statuses taken directly from git status help's short format table
# Unmerged statuses are mutually exclusive with other statuses, so if we see
# these, then safe to assume the path is unmerged
_fzf_report_diff_type Unmerged
git diff $diff_opts -- $path
else
if test $index_status != ' '
_fzf_report_diff_type Staged
# renames are only detected in the index, never working tree, so only need to test for it here
# https://stackoverflow.com/questions/73954214
if test $index_status = R
# diff the post-rename path with the original path, otherwise the diff will show the entire file as being added
set -f orig_and_new_path (string split --max 1 -- ' -> ' $path)
git diff --staged $diff_opts -- $orig_and_new_path[1] $orig_and_new_path[2]
# path currently has the form of "original -> current", so we need to correct it before it's used below
set path $orig_and_new_path[2]
else
git diff --staged $diff_opts -- $path
end
end
if test $working_tree_status != ' '
_fzf_report_diff_type Unstaged
git diff $diff_opts -- $path
end
end
end

View File

@@ -0,0 +1,43 @@
# helper function for _fzf_search_directory and _fzf_search_git_status
function _fzf_preview_file --description "Print a preview for the given file based on its file type."
# because there's no way to guarantee that _fzf_search_directory passes the path to _fzf_preview_file
# as one argument, we collect all the arguments into one single variable and treat that as the path
set -f file_path $argv
if test -L "$file_path" # symlink
# notify user and recurse on the target of the symlink, which can be any of these file types
set -l target_path (realpath "$file_path")
set_color yellow
echo "'$file_path' is a symlink to '$target_path'."
set_color normal
_fzf_preview_file "$target_path"
else if test -f "$file_path" # regular file
if set --query fzf_preview_file_cmd
# need to escape quotes to make sure eval receives file_path as a single arg
eval "$fzf_preview_file_cmd '$file_path'"
else
bat --style=numbers --color=always "$file_path"
end
else if test -d "$file_path" # directory
if set --query fzf_preview_dir_cmd
# see above
eval "$fzf_preview_dir_cmd '$file_path'"
else
# -A list hidden files as well, except for . and ..
# -F helps classify files by appending symbols after the file name
command ls -A -F "$file_path"
end
else if test -c "$file_path"
_fzf_report_file_type "$file_path" "character device file"
else if test -b "$file_path"
_fzf_report_file_type "$file_path" "block device file"
else if test -S "$file_path"
_fzf_report_file_type "$file_path" socket
else if test -p "$file_path"
_fzf_report_file_type "$file_path" "named pipe"
else
echo "$file_path doesn't exist." >&2
end
end

View File

@@ -0,0 +1,18 @@
# helper for _fzf_preview_changed_file
# prints out something like
# ╭────────╮
# │ Staged │
# ╰────────╯
function _fzf_report_diff_type --argument-names diff_type --description "Print a distinct colored header meant to preface a git patch."
# number of "-" to draw is the length of the string to box + 2 for padding
set -f repeat_count (math 2 + (string length $diff_type))
set -f line (string repeat --count $repeat_count)
set -f top_border$line
set -f btm_border$line
set_color yellow
echo $top_border
echo "$diff_type"
echo $btm_border
set_color normal
end

View File

@@ -0,0 +1,6 @@
# helper function for _fzf_preview_file
function _fzf_report_file_type --argument-names file_path file_type --description "Explain the file type for a file."
set_color red
echo "Cannot preview '$file_path': it is a $file_type."
set_color normal
end

View File

@@ -0,0 +1,33 @@
function _fzf_search_directory --description "Search the current directory. Replace the current token with the selected file paths."
# Directly use fd binary to avoid output buffering delay caused by a fd alias, if any.
# Debian-based distros install fd as fdfind and the fd package is something else, so
# check for fdfind first. Fall back to "fd" for a clear error message.
set -f fd_cmd (command -v fdfind || command -v fd || echo "fd")
set -f --append fd_cmd --color=always $fzf_fd_opts
set -f fzf_arguments --multi --ansi $fzf_directory_opts
set -f token (commandline --current-token)
# expand any variables or leading tilde (~) in the token
set -f expanded_token (eval echo -- $token)
# unescape token because it's already quoted so backslashes will mess up the path
set -f unescaped_exp_token (string unescape -- $expanded_token)
# If the current token is a directory and has a trailing slash,
# then use it as fd's base directory.
if string match --quiet -- "*/" $unescaped_exp_token && test -d "$unescaped_exp_token"
set --append fd_cmd --base-directory=$unescaped_exp_token
# use the directory name as fzf's prompt to indicate the search is limited to that directory
set --prepend fzf_arguments --prompt="Directory $unescaped_exp_token> " --preview="_fzf_preview_file $expanded_token{}"
set -f file_paths_selected $unescaped_exp_token($fd_cmd 2>/dev/null | _fzf_wrapper $fzf_arguments)
else
set --prepend fzf_arguments --prompt="Directory> " --query="$unescaped_exp_token" --preview='_fzf_preview_file {}'
set -f file_paths_selected ($fd_cmd 2>/dev/null | _fzf_wrapper $fzf_arguments)
end
if test $status -eq 0
commandline --current-token --replace -- (string escape -- $file_paths_selected | string join ' ')
end
commandline --function repaint
end

View File

@@ -0,0 +1,36 @@
function _fzf_search_git_log --description "Search the output of git log and preview commits. Replace the current token with the selected commit hash."
if not git rev-parse --git-dir >/dev/null 2>&1
echo '_fzf_search_git_log: Not in a git repository.' >&2
else
if not set --query fzf_git_log_format
# %h gives you the abbreviated commit hash, which is useful for saving screen space, but we will have to expand it later below
set -f fzf_git_log_format '%C(bold blue)%h%C(reset) - %C(cyan)%ad%C(reset) %C(yellow)%d%C(reset) %C(normal)%s%C(reset) %C(dim normal)[%an]%C(reset)'
end
set -f preview_cmd 'git show --color=always --stat --patch {1}'
if set --query fzf_diff_highlighter
set preview_cmd "$preview_cmd | $fzf_diff_highlighter"
end
set -f selected_log_lines (
git log --no-show-signature --color=always --format=format:$fzf_git_log_format --date=short | \
_fzf_wrapper --ansi \
--multi \
--scheme=history \
--prompt="Git Log> " \
--preview=$preview_cmd \
--query=(commandline --current-token) \
$fzf_git_log_opts
)
if test $status -eq 0
for line in $selected_log_lines
set -f abbreviated_commit_hash (string split --field 1 " " $line)
set -f full_commit_hash (git rev-parse $abbreviated_commit_hash)
set -f --append commit_hashes $full_commit_hash
end
commandline --current-token --replace (string join ' ' $commit_hashes)
end
end
commandline --function repaint
end

View File

@@ -0,0 +1,41 @@
function _fzf_search_git_status --description "Search the output of git status. Replace the current token with the selected file paths."
if not git rev-parse --git-dir >/dev/null 2>&1
echo '_fzf_search_git_status: Not in a git repository.' >&2
else
set -f preview_cmd '_fzf_preview_changed_file {}'
if set --query fzf_diff_highlighter
set preview_cmd "$preview_cmd | $fzf_diff_highlighter"
end
set -f selected_paths (
# Pass configuration color.status=always to force status to use colors even though output is sent to a pipe
git -c color.status=always status --short |
_fzf_wrapper --ansi \
--multi \
--prompt="Git Status> " \
--query=(commandline --current-token) \
--preview=$preview_cmd \
--nth="2.." \
$fzf_git_status_opts
)
if test $status -eq 0
# git status --short automatically escapes the paths of most files for us so not going to bother trying to handle
# the few edges cases of weird file names that should be extremely rare (e.g. "this;needs;escaping")
set -f cleaned_paths
for path in $selected_paths
if test (string sub --length 1 $path) = R
# path has been renamed and looks like "R LICENSE -> LICENSE.md"
# extract the path to use from after the arrow
set --append cleaned_paths (string split -- "-> " $path)[-1]
else
set --append cleaned_paths (string sub --start=4 $path)
end
end
commandline --current-token --replace -- (string join ' ' $cleaned_paths)
end
end
commandline --function repaint
end

View File

@@ -0,0 +1,39 @@
function _fzf_search_history --description "Search command history. Replace the command line with the selected command."
# history merge incorporates history changes from other fish sessions
# it errors out if called in private mode
if test -z "$fish_private_mode"
builtin history merge
end
if not set --query fzf_history_time_format
# Reference https://devhints.io/strftime to understand strftime format symbols
set -f fzf_history_time_format "%m-%d %H:%M:%S"
end
# Delinate time from command in history entries using the vertical box drawing char (U+2502).
# Then, to get raw command from history entries, delete everything up to it. The ? on regex is
# necessary to make regex non-greedy so it won't match into commands containing the char.
set -f time_prefix_regex '^.*? │ '
# Delinate commands throughout pipeline using null rather than newlines because commands can be multi-line
set -f commands_selected (
builtin history --null --show-time="$fzf_history_time_format" |
_fzf_wrapper --read0 \
--print0 \
--multi \
--scheme=history \
--prompt="History> " \
--query=(commandline) \
--preview="string replace --regex '$time_prefix_regex' '' -- {} | fish_indent --ansi" \
--preview-window="bottom:3:wrap" \
$fzf_history_opts |
string split0 |
# remove timestamps from commands selected
string replace --regex $time_prefix_regex ''
)
if test $status -eq 0
commandline --replace -- $commands_selected
end
commandline --function repaint
end

View File

@@ -0,0 +1,32 @@
function _fzf_search_processes --description "Search all running processes. Replace the current token with the pid of the selected process."
# Directly use ps command because it is often aliased to a different command entirely
# or with options that dirty the search results and preview output
set -f ps_cmd (command -v ps || echo "ps")
# use all caps to be consistent with ps default format
# snake_case because ps doesn't seem to allow spaces in the field names
set -f ps_preview_fmt (string join ',' 'pid' 'ppid=PARENT' 'user' '%cpu' 'rss=RSS_IN_KB' 'start=START_TIME' 'command')
set -f processes_selected (
$ps_cmd -A -opid,command | \
_fzf_wrapper --multi \
--prompt="Processes> " \
--query (commandline --current-token) \
--ansi \
# first line outputted by ps is a header, so we need to mark it as so
--header-lines=1 \
# ps uses exit code 1 if the process was not found, in which case show an message explaining so
--preview="$ps_cmd -o '$ps_preview_fmt' -p {1} || echo 'Cannot preview {1} because it exited.'" \
--preview-window="bottom:4:wrap" \
$fzf_processes_opts
)
if test $status -eq 0
for process in $processes_selected
set -f --append pids_selected (string split --no-empty --field=1 -- " " $process)
end
# string join to replace the newlines outputted by string split with spaces
commandline --current-token --replace -- (string join ' ' $pids_selected)
end
commandline --function repaint
end

View File

@@ -0,0 +1,47 @@
# This function expects the following two arguments:
# argument 1 = output of (set --show | psub), i.e. a file with the scope info and values of all variables
# argument 2 = output of (set --names | psub), i.e. a file with all variable names
function _fzf_search_variables --argument-names set_show_output set_names_output --description "Search and preview shell variables. Replace the current token with the selected variable."
if test -z "$set_names_output"
printf '%s\n' '_fzf_search_variables requires 2 arguments.' >&2
commandline --function repaint
return 22 # 22 means invalid argument in POSIX
end
# Exclude the history variable from being piped into fzf because
# 1. it's not included in $set_names_output
# 2. it tends to be a very large value => increases computation time
# 3._fzf_search_history is a much better way to examine history anyway
set -f all_variable_names (string match --invert history <$set_names_output)
set -f current_token (commandline --current-token)
# Use the current token to pre-populate fzf's query. If the current token begins
# with a $, remove it from the query so that it will better match the variable names
set -f cleaned_curr_token (string replace -- '$' '' $current_token)
set -f variable_names_selected (
printf '%s\n' $all_variable_names |
_fzf_wrapper --preview "_fzf_extract_var_info {} $set_show_output" \
--prompt="Variables> " \
--preview-window="wrap" \
--multi \
--query=$cleaned_curr_token \
$fzf_variables_opts
)
if test $status -eq 0
# If the current token begins with a $, do not overwrite the $ when
# replacing the current token with the selected variable.
# Uses brace expansion to prepend $ to each variable name.
commandline --current-token --replace (
if string match --quiet -- '$*' $current_token
string join " " \${$variable_names_selected}
else
string join " " $variable_names_selected
end
)
end
commandline --function repaint
end

View File

@@ -0,0 +1,21 @@
function _fzf_wrapper --description "Prepares some environment variables before executing fzf."
# Make sure fzf uses fish to execute preview commands, some of which
# are autoloaded fish functions so don't exist in other shells.
# Use --function so that it doesn't clobber SHELL outside this function.
set -f --export SHELL (command --search fish)
# If neither FZF_DEFAULT_OPTS nor FZF_DEFAULT_OPTS_FILE are set, then set some sane defaults.
# See https://github.com/junegunn/fzf#environment-variables
set --query FZF_DEFAULT_OPTS FZF_DEFAULT_OPTS_FILE
if test $status -eq 2
# cycle allows jumping between the first and last results, making scrolling faster
# layout=reverse lists results top to bottom, mimicking the familiar layouts of git log, history, and env
# border shows where the fzf window begins and ends
# height=90% leaves space to see the current command and some scrollback, maintaining context of work
# preview-window=wrap wraps long lines in the preview window, making reading easier
# marker=* makes the multi-select marker more distinguishable from the pointer (since both default to >)
set --export FZF_DEFAULT_OPTS '--cycle --layout=reverse --border --height=90% --preview-window=wrap --marker="*"'
end
fzf $argv
end

View File

@@ -0,0 +1,20 @@
function _nvm_index_update
test ! -d $nvm_data && command mkdir -p $nvm_data
set --local index $nvm_data/.index
if not command curl -q --location --silent $nvm_mirror/index.tab >$index.temp
command rm -f $index.temp
echo "nvm: Can't update index, host unavailable: \"$nvm_mirror\"" >&2
return 1
end
command awk -v OFS=\t '
/v0.9.12/ { exit } # Unsupported
NR > 1 {
print $1 (NR == 2 ? " latest" : $10 != "-" ? " lts/" tolower($10) : "")
}
' $index.temp >$index
command rm -f $index.temp
end

View File

@@ -0,0 +1,11 @@
function _nvm_list
set --local versions $nvm_data/*
set --query versions[1] &&
string match --entire --regex -- (string match --regex -- "v\d.+" $versions |
string escape --style=regex |
string join "|"
) <$nvm_data/.index
command --all node |
string match --quiet --invert --regex -- "^$nvm_data" && echo system
end

View File

@@ -0,0 +1,4 @@
function _nvm_version_activate --argument-names ver
set --global --export nvm_current_version $ver
set --prepend PATH $nvm_data/$ver/bin
end

View File

@@ -0,0 +1,5 @@
function _nvm_version_deactivate --argument-names ver
test "$nvm_current_version" = "$ver" && set --erase nvm_current_version
set --local index (contains --index -- $nvm_data/$ver/bin $PATH) &&
set --erase PATH[$index]
end

240
fish/functions/fisher.fish Normal file
View File

@@ -0,0 +1,240 @@
function fisher --argument-names cmd --description "A plugin manager for Fish"
set --query fisher_path || set --local fisher_path $__fish_config_dir
set --local fisher_version 4.4.4
set --local fish_plugins $__fish_config_dir/fish_plugins
switch "$cmd"
case -v --version
echo "fisher, version $fisher_version"
case "" -h --help
echo "Usage: fisher install <plugins...> Install plugins"
echo " fisher remove <plugins...> Remove installed plugins"
echo " fisher update <plugins...> Update installed plugins"
echo " fisher update Update all installed plugins"
echo " fisher list [<regex>] List installed plugins matching regex"
echo "Options:"
echo " -v, --version Print version"
echo " -h, --help Print this help message"
echo "Variables:"
echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
case ls list
string match --entire --regex -- "$argv[2]" $_fisher_plugins
case install update remove
isatty || read --local --null --array stdin && set --append argv $stdin
set --local install_plugins
set --local update_plugins
set --local remove_plugins
set --local arg_plugins $argv[2..-1]
set --local old_plugins $_fisher_plugins
set --local new_plugins
test -e $fish_plugins && set --local file_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins)
if ! set --query argv[2]
if test "$cmd" != update
echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1
else if ! set --query file_plugins
echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
end
set arg_plugins $file_plugins
end
for plugin in $arg_plugins
set plugin (test -e "$plugin" && realpath $plugin || string lower -- $plugin)
contains -- "$plugin" $new_plugins || set --append new_plugins $plugin
end
if set --query argv[2]
for plugin in $new_plugins
if contains -- "$plugin" $old_plugins
test "$cmd" = remove &&
set --append remove_plugins $plugin ||
set --append update_plugins $plugin
else if test "$cmd" = install
set --append install_plugins $plugin
else
echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1
end
end
else
for plugin in $new_plugins
contains -- "$plugin" $old_plugins &&
set --append update_plugins $plugin ||
set --append install_plugins $plugin
end
for plugin in $old_plugins
contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin
end
end
set --local pid_list
set --local source_plugins
set --local fetch_plugins $update_plugins $install_plugins
set --local fish_path (status fish-path)
echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal)
for plugin in $fetch_plugins
set --local source (command mktemp -d)
set --append source_plugins $source
command mkdir -p $source/{completions,conf.d,themes,functions}
$fish_path --command "
if test -e $plugin
command cp -Rf $plugin/* $source
else
set temp (command mktemp -d)
set repo (string split -- \@ $plugin) || set repo[2] HEAD
if set path (string replace --regex -- '^(https://)?gitlab.com/' '' \$repo[1])
set name (string split -- / \$path)[-1]
set url https://gitlab.com/\$path/-/archive/\$repo[2]/\$name-\$repo[2].tar.gz
else
set url https://api.github.com/repos/\$repo[1]/tarball/\$repo[2]
end
echo Fetching (set_color --underline)\$url(set_color normal)
if command curl -q --silent -L \$url | command tar -xzC \$temp -f - 2>/dev/null
command cp -Rf \$temp/*/* $source
else
echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
command rm -rf $source
end
command rm -rf \$temp
end
set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
" &
set --append pid_list (jobs --last --pid)
end
wait $pid_list 2>/dev/null
for plugin in $fetch_plugins
if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
if set --local index (contains --index -- "$plugin" $install_plugins)
set --erase install_plugins[$index]
else
set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)]
end
end
end
for plugin in $update_plugins $remove_plugins
if set --local index (contains --index -- "$plugin" $_fisher_plugins)
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
if contains -- "$plugin" $remove_plugins
for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var)
emit {$name}_uninstall
end
printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
set --erase _fisher_plugins[$index]
end
command rm -rf (string replace -- \~ ~ $$plugin_files_var)
functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var)
for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var)
complete --erase --command $name
end
set --erase $plugin_files_var
end
end
if set --query update_plugins[1] || set --query install_plugins[1]
command mkdir -p $fisher_path/{functions,themes,conf.d,completions}
end
for plugin in $update_plugins $install_plugins
set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
set --local files $source/{functions,themes,conf.d,completions}/*
if set --local index (contains --index -- $plugin $install_plugins)
set --local user_files $fisher_path/{functions,themes,conf.d,completions}/*
set --local conflict_files
for file in (string replace -- $source/ $fisher_path/ $files)
contains -- $file $user_files && set --append conflict_files $file
end
if set --query conflict_files[1] && set --erase install_plugins[$index]
echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2
continue
end
end
for file in (string replace -- $source/ "" $files)
command cp -RLf $source/$file $fisher_path/$file
end
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files | string replace -- ~ \~)
contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin
contains -- $plugin $install_plugins && set --local event install || set --local event update
printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var | string replace -- \~ ~)
source $file
if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file)
emit {$name}_$event
end
end
end
command rm -rf $source_plugins
if set --query _fisher_plugins[1]
set --local commit_plugins
for plugin in $file_plugins
contains -- (string lower -- $plugin) (string lower -- $_fisher_plugins) && set --append commit_plugins $plugin
end
for plugin in $_fisher_plugins
contains -- (string lower -- $plugin) (string lower -- $commit_plugins) || set --append commit_plugins $plugin
end
printf "%s\n" $commit_plugins >$fish_plugins
else
set --erase _fisher_plugins
command rm -f $fish_plugins
end
set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
test "$total" != "0 0 0" && echo (string join ", " (
test $total[1] = 0 || echo "Installed $total[1]") (
test $total[2] = 0 || echo "Updated $total[2]") (
test $total[3] = 0 || echo "Removed $total[3]")
) plugin/s
case \*
echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1
end
end
if ! set --query _fisher_upgraded_to_4_4
set --universal _fisher_upgraded_to_4_4
if functions --query _fisher_list
set --query XDG_DATA_HOME[1] || set --local XDG_DATA_HOME ~/.local/share
command rm -rf $XDG_DATA_HOME/fisher
functions --erase _fisher_{list,plugin_parse}
fisher update >/dev/null 2>/dev/null
else
for var in (set --names | string match --entire --regex '^_fisher_.+_files$')
set $var (string replace -- ~ \~ $$var)
end
functions --erase _fisher_fish_postexec
end
end

View File

@@ -0,0 +1,46 @@
# Always installs bindings for insert and default mode for simplicity and b/c it has almost no side-effect
# https://gitter.im/fish-shell/fish-shell?at=60a55915ee77a74d685fa6b1
function fzf_configure_bindings --description "Installs the default key bindings for fzf.fish with user overrides passed as options."
# no need to install bindings if not in interactive mode or running tests
status is-interactive || test "$CI" = true; or return
set -f options_spec h/help 'directory=?' 'git_log=?' 'git_status=?' 'history=?' 'processes=?' 'variables=?'
argparse --max-args=0 --ignore-unknown $options_spec -- $argv 2>/dev/null
if test $status -ne 0
echo "Invalid option or a positional argument was provided." >&2
_fzf_configure_bindings_help
return 22
else if set --query _flag_help
_fzf_configure_bindings_help
return
else
# Initialize with default key sequences and then override or disable them based on flags
# index 1 = directory, 2 = git_log, 3 = git_status, 4 = history, 5 = processes, 6 = variables
set -f key_sequences \e\cf \e\cl \e\cs \cr \e\cp \cv # \c = control, \e = escape
set --query _flag_directory && set key_sequences[1] "$_flag_directory"
set --query _flag_git_log && set key_sequences[2] "$_flag_git_log"
set --query _flag_git_status && set key_sequences[3] "$_flag_git_status"
set --query _flag_history && set key_sequences[4] "$_flag_history"
set --query _flag_processes && set key_sequences[5] "$_flag_processes"
set --query _flag_variables && set key_sequences[6] "$_flag_variables"
# If fzf bindings already exists, uninstall it first for a clean slate
if functions --query _fzf_uninstall_bindings
_fzf_uninstall_bindings
end
for mode in default insert
test -n $key_sequences[1] && bind --mode $mode $key_sequences[1] _fzf_search_directory
test -n $key_sequences[2] && bind --mode $mode $key_sequences[2] _fzf_search_git_log
test -n $key_sequences[3] && bind --mode $mode $key_sequences[3] _fzf_search_git_status
test -n $key_sequences[4] && bind --mode $mode $key_sequences[4] _fzf_search_history
test -n $key_sequences[5] && bind --mode $mode $key_sequences[5] _fzf_search_processes
test -n $key_sequences[6] && bind --mode $mode $key_sequences[6] "$_fzf_search_vars_command"
end
function _fzf_uninstall_bindings --inherit-variable key_sequences
bind --erase -- $key_sequences
bind --erase --mode insert -- $key_sequences
end
end
end

234
fish/functions/nvm.fish Normal file
View File

@@ -0,0 +1,234 @@
function nvm --description "Node version manager"
for silent in --silent -s
if set --local index (contains --index -- $silent $argv)
set --erase argv[$index] && break
end
set --erase silent
end
set --local cmd $argv[1]
set --local ver $argv[2]
if set --query silent && ! set --query cmd[1]
echo "nvm: Version number not specified (see nvm -h for usage)" >&2
return 1
end
if ! set --query ver[1] && contains -- "$cmd" install use
for file in .nvmrc .node-version
set file (_nvm_find_up $PWD $file) && read ver <$file && break
end
if ! set --query ver[1]
echo "nvm: Invalid version or missing \".nvmrc\" file" >&2
return 1
end
end
set --local their_version $ver
switch "$cmd"
case -v --version
echo "nvm, version 2.2.14"
case "" -h --help
echo "Usage: nvm install <version> Download and activate the specified Node version"
echo " nvm install Install the version specified in the nearest .nvmrc file"
echo " nvm use <version> Activate the specified Node version in the current shell"
echo " nvm use Activate the version specified in the nearest .nvmrc file"
echo " nvm list List installed Node versions"
echo " nvm list-remote List available Node versions to install"
echo " nvm list-remote <regex> List Node versions matching a given regex pattern"
echo " nvm current Print the currently-active Node version"
echo " nvm uninstall <version> Uninstall the specified Node version"
echo "Options:"
echo " -s, --silent Suppress standard output"
echo " -v, --version Print the version of nvm"
echo " -h, --help Print this help message"
echo "Variables:"
echo " nvm_arch Override architecture, e.g. x64-musl"
echo " nvm_mirror Use a mirror for downloading Node binaries"
echo " nvm_default_version Set the default version for new shells"
echo " nvm_default_packages Install a list of packages every time a Node version is installed"
echo "Examples:"
echo " nvm install latest Install the latest version of Node"
echo " nvm use 14.15.1 Use Node version 14.15.1"
echo " nvm use system Activate the system's Node version"
case install
_nvm_index_update
string match --entire --regex -- (_nvm_version_match $ver) <$nvm_data/.index | read ver alias
if ! set --query ver[1]
echo "nvm: Invalid version number or alias: \"$their_version\"" >&2
return 1
end
if test ! -e $nvm_data/$ver
set --local os (command uname -s | string lower)
set --local ext tar.gz
set --local arch (command uname -m)
switch $os
case aix
set arch ppc64
case sunos
case linux
case darwin
case {MSYS_NT,MINGW\*_NT}\*
set os win
set ext zip
case \*
echo "nvm: Unsupported operating system: \"$os\"" >&2
return 1
end
switch $arch
case i\*86
set arch x86
case x86_64
set arch x64
case arm64
string match --regex --quiet "v(?<major>\d+)" $ver
if test "$os" = darwin -a $major -lt 16
set arch x64
end
case armv6 armv6l
set arch armv6l
case armv7 armv7l
set arch armv7l
case armv8 armv8l aarch64
set arch arm64
end
set --query nvm_arch && set arch $nvm_arch
set --local dir "node-$ver-$os-$arch"
set --local url $nvm_mirror/$ver/$dir.$ext
command mkdir -p $nvm_data/$ver
if ! set --query silent
echo -e "Installing Node \x1b[1m$ver\x1b[22m $alias"
echo -e "Fetching \x1b[4m$url\x1b[24m\x1b[7m"
end
if ! command curl -q $silent --progress-bar --location $url |
command tar --extract --gzip --directory $nvm_data/$ver 2>/dev/null
command rm -rf $nvm_data/$ver
echo -e "\033[F\33[2K\x1b[0mnvm: Invalid mirror or host unavailable: \"$url\"" >&2
return 1
end
set --query silent || echo -en "\033[F\33[2K\x1b[0m"
if test "$os" = win
command mv $nvm_data/$ver/$dir $nvm_data/$ver/bin
else
command mv $nvm_data/$ver/$dir/* $nvm_data/$ver
command rm -rf $nvm_data/$ver/$dir
end
end
if test $ver != "$nvm_current_version"
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
_nvm_version_activate $ver
set --query nvm_default_packages[1] && npm install --global $silent $nvm_default_packages
end
set --query silent || printf "Now using Node %s (npm %s) %s\n" (_nvm_node_info)
case use
test $ver = default && set ver $nvm_default_version
_nvm_list | string match --entire --regex -- (_nvm_version_match $ver) | read ver __
if ! set --query ver[1]
echo "nvm: Can't use Node \"$their_version\", version must be installed first" >&2
return 1
end
if test $ver != "$nvm_current_version"
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
test $ver != system && _nvm_version_activate $ver
end
set --query silent || printf "Now using Node %s (npm %s) %s\n" (_nvm_node_info)
case uninstall
if test -z "$ver"
echo "nvm: Not enough arguments for command: \"$cmd\"" >&2
return 1
end
test $ver = default && test ! -z "$nvm_default_version" && set ver $nvm_default_version
_nvm_list | string match --entire --regex -- (_nvm_version_match $ver) | read ver __
if ! set -q ver[1]
echo "nvm: Node version not installed or invalid: \"$their_version\"" >&2
return 1
end
set --query silent || printf "Uninstalling Node %s %s\n" $ver (string replace ~ \~ "$nvm_data/$ver/bin/node")
_nvm_version_deactivate $ver
command rm -rf $nvm_data/$ver
case current
_nvm_current
case ls list
_nvm_list | _nvm_list_format (_nvm_current) $argv[2]
case lsr {ls,list}-remote
_nvm_index_update || return
_nvm_list | command awk '
FILENAME == "-" && (is_local[$1] = FNR == NR) { next } {
print $0 (is_local[$1] ? " ✓" : "")
}
' - $nvm_data/.index | _nvm_list_format (_nvm_current) $argv[2]
case \*
echo "nvm: Unknown command or option: \"$cmd\" (see nvm -h for usage)" >&2
return 1
end
end
function _nvm_find_up --argument-names path file
test -e "$path/$file" && echo $path/$file || begin
test ! -z "$path" || return
_nvm_find_up (string replace --regex -- '/[^/]*$' "" $path) $file
end
end
function _nvm_version_match --argument-names ver
string replace --regex -- '^v?(\d+|\d+\.\d+)$' 'v$1.' $ver |
string replace --filter --regex -- '^v?(\d+)' 'v$1' |
string escape --style=regex || string lower '\b'$ver'(?:/\w+)?$'
end
function _nvm_list_format --argument-names current regex
command awk -v current="$current" -v regex="$regex" '
$0 ~ regex {
aliases[versions[i++] = $1] = $2 " " $3
pad = (n = length($1)) > pad ? n : pad
}
END {
if (!i) exit 1
while (i--)
printf((current == versions[i] ? " ▶ " : " ") "%"pad"s %s\n",
versions[i], aliases[versions[i]])
}
'
end
function _nvm_current
command --search --quiet node || return
set --query nvm_current_version && echo $nvm_current_version || echo system
end
function _nvm_node_info
set --local npm_path (string replace bin/npm-cli.js "" (realpath (command --search npm)))
test -f $npm_path/package.json || set --local npm_version_default (command npm --version)
command node --eval "
console.log(process.version)
console.log('$npm_version_default' ? '$npm_version_default': require('$npm_path/package.json').version)
console.log(process.execPath)
" | string replace -- ~ \~
end

View File

@@ -0,0 +1,30 @@
[colors]
foreground=c6d0f5
background=303446
regular0=51576d
regular1=e78284
regular2=a6d189
regular3=e5c890
regular4=8caaee
regular5=f4b8e4
regular6=81c8be
regular7=b5bfe2
bright0=626880
bright1=e78284
bright2=a6d189
bright3=e5c890
bright4=8caaee
bright5=f4b8e4
bright6=81c8be
bright7=a5adce
selection-foreground=c6d0f5
selection-background=4f5369
search-box-no-match=232634 e78284
search-box-match=c6d0f5 414559
jump-labels=232634 ef9f76
urls=8caaee

30
foot/catppuccin-latte.ini Normal file
View File

@@ -0,0 +1,30 @@
[colors]
foreground=4c4f69
background=eff1f5
regular0=5c5f77
regular1=d20f39
regular2=40a02b
regular3=df8e1d
regular4=1e66f5
regular5=ea76cb
regular6=179299
regular7=acb0be
bright0=6c6f85
bright1=d20f39
bright2=40a02b
bright3=df8e1d
bright4=1e66f5
bright5=ea76cb
bright6=179299
bright7=bcc0cc
selection-foreground=4c4f69
selection-background=ccced7
search-box-no-match=dce0e8 d20f39
search-box-match=4c4f69 ccd0da
jump-labels=dce0e8 fe640b
urls=1e66f5

View File

@@ -0,0 +1,30 @@
[colors]
foreground=cad3f5
background=24273a
regular0=494d64
regular1=ed8796
regular2=a6da95
regular3=eed49f
regular4=8aadf4
regular5=f5bde6
regular6=8bd5ca
regular7=b8c0e0
bright0=5b6078
bright1=ed8796
bright2=a6da95
bright3=eed49f
bright4=8aadf4
bright5=f5bde6
bright6=8bd5ca
bright7=a5adcb
selection-foreground=cad3f5
selection-background=454a5f
search-box-no-match=181926 ed8796
search-box-match=cad3f5 363a4f
jump-labels=181926 f5a97f
urls=8aadf4

30
foot/catppuccin-mocha.ini Normal file
View File

@@ -0,0 +1,30 @@
[colors]
foreground=cdd6f4
background=1e1e2e
regular0=45475a
regular1=f38ba8
regular2=a6e3a1
regular3=f9e2af
regular4=89b4fa
regular5=f5c2e7
regular6=94e2d5
regular7=bac2de
bright0=585b70
bright1=f38ba8
bright2=a6e3a1
bright3=f9e2af
bright4=89b4fa
bright5=f5c2e7
bright6=94e2d5
bright7=a6adc8
selection-foreground=cdd6f4
selection-background=414356
search-box-no-match=11111b f38ba8
search-box-match=cdd6f4 313244
jump-labels=11111b fab387
urls=89b4fa

14
foot/foot.ini Normal file
View File

@@ -0,0 +1,14 @@
[main]
font=EnvyCodeR Nerd Font Mono:size=10
include=/usr/share/foot/themes/neon
[url]
osc8-underline=always
[cursor]
style=block
blink=yes
[colors]
alpha=0.9

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#ff4f84" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.325575,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.867,10.2875 C713.663,10.2875 917.788,214.413 917.788,466.208 C917.788,718.009 713.663,922.133 461.867,922.133 C210.063,922.133 5.9375,718.009 5.9375,466.208 C5.9375,214.413 210.063,10.2875 461.867,10.2875 "/>
</g>
<g fill="#e43d6e" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.325575,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.867,49.0625 C692.245,49.0625 879.008,235.829 879.008,466.208 C879.008,696.596 692.245,883.358 461.867,883.358 C231.479,883.358 44.7167,696.596 44.7167,466.208 C44.7167,235.829 231.479,49.0625 461.867,49.0625 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.325575,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M246.821,304.842 L623.233,681.25 C637.801,695.821 661.633,695.821 676.208,681.25 L676.905,680.55 C691.475,665.983 691.475,642.146 676.909,627.579 L300.496,251.171 C285.925,236.601 262.092,236.601 247.525,251.171 L246.821,251.867 C232.254,266.437 232.254,290.271 246.821,304.842 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.325575,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M300.496,681.25 L676.905,304.842 C691.471,290.275 691.471,266.437 676.905,251.867 L676.204,251.171 C661.633,236.601 637.801,236.601 623.233,251.171 L246.821,627.579 C232.25,642.146 232.25,665.983 246.821,680.55 L247.521,681.25 C262.092,695.821 285.925,695.821 300.496,681.25 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#ff4f84" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.325575,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.867,10.2875 C713.663,10.2875 917.788,214.413 917.788,466.208 C917.788,718.009 713.663,922.133 461.867,922.133 C210.063,922.133 5.9375,718.009 5.9375,466.208 C5.9375,214.413 210.063,10.2875 461.867,10.2875 "/>
</g>
<g fill="#e43d6e" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.325575,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.867,49.0625 C692.245,49.0625 879.008,235.829 879.008,466.208 C879.008,696.596 692.245,883.358 461.867,883.358 C231.479,883.358 44.7167,696.596 44.7167,466.208 C44.7167,235.829 231.479,49.0625 461.867,49.0625 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.325575,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M246.821,304.842 L623.233,681.25 C637.801,695.821 661.633,695.821 676.208,681.25 L676.905,680.55 C691.475,665.983 691.475,642.146 676.909,627.579 L300.496,251.171 C285.925,236.601 262.092,236.601 247.525,251.171 L246.821,251.867 C232.254,266.437 232.254,290.271 246.821,304.842 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.325575,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M300.496,681.25 L676.905,304.842 C691.471,290.275 691.471,266.437 676.905,251.867 L676.204,251.171 C661.633,236.601 637.801,236.601 623.233,251.171 L246.821,627.579 C232.25,642.146 232.25,665.983 246.821,680.55 L247.521,681.25 C262.092,695.821 285.925,695.821 300.496,681.25 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#ff4f84" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.325575,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.867,4.6375 C713.663,4.6375 917.788,208.763 917.788,460.562 C917.788,712.363 713.663,916.487 461.867,916.487 C210.063,916.487 5.9375,712.363 5.9375,460.562 C5.9375,208.763 210.063,4.6375 461.867,4.6375 "/>
</g>
<g fill="#e43d6e" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.325575,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.867,43.4125 C692.245,43.4125 879.008,230.179 879.008,460.562 C879.008,690.946 692.245,877.709 461.867,877.709 C231.479,877.709 44.7167,690.946 44.7167,460.562 C44.7167,230.179 231.479,43.4125 461.867,43.4125 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.325575,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M246.821,299.191 L623.233,675.604 C637.801,690.171 661.633,690.171 676.208,675.604 L676.905,674.9 C691.475,660.334 691.475,636.5 676.909,621.93 L300.496,245.521 C285.925,230.95 262.092,230.95 247.525,245.521 L246.821,246.217 C232.254,260.787 232.254,284.625 246.821,299.191 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.325575,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M300.496,675.604 L676.905,299.191 C691.471,284.625 691.471,260.787 676.905,246.221 L676.204,245.521 C661.633,230.95 637.801,230.95 623.233,245.521 L246.821,621.93 C232.25,636.5 232.25,660.334 246.821,674.905 L247.521,675.604 C262.092,690.175 285.925,690.175 300.496,675.604 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#ff4f84" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.161987,50.2673)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
opacity="0.5" >
<path vector-effect="none" fill-rule="evenodd" d="M458.879,4.875 C710.679,4.875 914.804,208.996 914.804,460.8 C914.804,712.596 710.679,916.721 458.879,916.721 C207.079,916.721 2.95417,712.596 2.95417,460.8 C2.95417,208.996 207.079,4.875 458.879,4.875 "/>
</g>
<g fill="#e43d6e" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.161987,50.2673)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
opacity="0.5" >
<path vector-effect="none" fill-rule="evenodd" d="M458.879,43.65 C689.263,43.65 876.029,230.413 876.029,460.8 C876.029,691.179 689.263,877.946 458.879,877.946 C228.496,877.946 41.7292,691.179 41.7292,460.8 C41.7292,230.413 228.496,43.65 458.879,43.65 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#ff4f84" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.325575,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.867,4.6375 C713.663,4.6375 917.788,208.763 917.788,460.562 C917.788,712.363 713.663,916.487 461.867,916.487 C210.063,916.487 5.9375,712.363 5.9375,460.562 C5.9375,208.763 210.063,4.6375 461.867,4.6375 "/>
</g>
<g fill="#e43d6e" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.325575,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.867,43.4125 C692.245,43.4125 879.008,230.179 879.008,460.562 C879.008,690.946 692.245,877.709 461.867,877.709 C231.479,877.709 44.7167,690.946 44.7167,460.562 C44.7167,230.179 231.479,43.4125 461.867,43.4125 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.325575,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M246.821,299.191 L623.233,675.604 C637.801,690.171 661.633,690.171 676.208,675.604 L676.905,674.9 C691.475,660.334 691.475,636.5 676.909,621.93 L300.496,245.521 C285.925,230.95 262.092,230.95 247.525,245.521 L246.821,246.217 C232.254,260.787 232.254,284.625 246.821,299.191 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.325575,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M300.496,675.604 L676.905,299.191 C691.471,284.625 691.471,260.787 676.905,246.221 L676.204,245.521 C661.633,230.95 637.801,230.95 623.233,245.521 L246.821,621.93 C232.25,636.5 232.25,660.334 246.821,674.905 L247.521,675.604 C262.092,690.175 285.925,690.175 300.496,675.604 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#ff4f84" fill-opacity="1" stroke="none" transform="matrix(0.0548338,0,0,-0.0548336,-0.161988,50.4309)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M458.879,7.85834 C710.679,7.85834 914.8,211.983 914.8,463.788 C914.8,715.583 710.679,919.709 458.879,919.709 C207.079,919.709 2.95417,715.583 2.95417,463.788 C2.95417,211.983 207.079,7.85834 458.879,7.85834 "/>
</g>
<g fill="#e43d6e" fill-opacity="1" stroke="none" transform="matrix(0.0548338,0,0,-0.0548336,-0.161988,50.4309)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M458.879,46.6375 C689.263,46.6375 876.025,233.401 876.025,463.788 C876.025,694.166 689.263,880.929 458.879,880.929 C228.496,880.929 41.7292,694.166 41.7292,463.788 C41.7292,233.401 228.496,46.6375 458.879,46.6375 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#2e85f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,10.2875 C717.934,10.2875 922.059,214.413 922.059,466.208 C922.059,718.009 717.934,922.133 466.138,922.133 C214.334,922.133 10.2083,718.009 10.2083,466.208 C10.2083,214.413 214.334,10.2875 466.138,10.2875 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,49.0625 C696.521,49.0625 883.283,235.829 883.283,466.208 C883.283,696.596 696.521,883.358 466.138,883.358 C235.75,883.358 48.9875,696.596 48.9875,466.208 C48.9875,235.829 235.75,49.0625 466.138,49.0625 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M342.791,698.854 L627.804,698.854 C665.755,698.854 696.809,667.804 696.809,629.85 L696.809,344.842 L342.791,698.854 M590.604,233.567 L304.467,233.567 C266.512,233.567 235.462,264.617 235.462,302.571 L235.462,588.708 L590.604,233.567"/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#2e85f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,10.2875 C717.934,10.2875 922.059,214.413 922.059,466.208 C922.059,718.009 717.934,922.133 466.138,922.133 C214.334,922.133 10.2083,718.009 10.2083,466.208 C10.2083,214.413 214.334,10.2875 466.138,10.2875 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,49.0625 C696.521,49.0625 883.283,235.829 883.283,466.208 C883.283,696.596 696.521,883.358 466.138,883.358 C235.75,883.358 48.9875,696.596 48.9875,466.208 C48.9875,235.829 235.75,49.0625 466.138,49.0625 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M342.791,698.854 L627.804,698.854 C665.755,698.854 696.809,667.804 696.809,629.85 L696.809,344.842 L342.791,698.854 M590.604,233.567 L304.467,233.567 C266.512,233.567 235.462,264.617 235.462,302.571 L235.462,588.708 L590.604,233.567"/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#2e85f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,4.6375 C717.934,4.6375 922.059,208.763 922.059,460.562 C922.059,712.363 717.934,916.487 466.138,916.487 C214.334,916.487 10.2083,712.363 10.2083,460.562 C10.2083,208.763 214.334,4.6375 466.138,4.6375 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,43.4125 C696.521,43.4125 883.283,230.179 883.283,460.562 C883.283,690.946 696.521,877.709 466.138,877.709 C235.75,877.709 48.9875,690.946 48.9875,460.562 C48.9875,230.179 235.75,43.4125 466.138,43.4125 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M342.791,693.209 L627.804,693.209 C665.755,693.209 696.809,662.155 696.809,624.201 L696.809,339.191 L342.791,693.209 M590.604,227.917 L304.467,227.917 C266.512,227.917 235.462,258.966 235.462,296.921 L235.462,583.058 L590.604,227.917"/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#2e85f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.327859,50.2673)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
opacity="0.5" >
<path vector-effect="none" fill-rule="evenodd" d="M461.904,4.875 C713.705,4.875 917.829,208.996 917.829,460.8 C917.829,712.596 713.705,916.721 461.904,916.721 C210.105,916.721 5.97917,712.596 5.97917,460.8 C5.97917,208.996 210.105,4.875 461.904,4.875 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.327859,50.2673)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
opacity="0.5" >
<path vector-effect="none" fill-rule="evenodd" d="M461.904,43.65 C692.288,43.65 879.05,230.413 879.05,460.8 C879.05,691.179 692.288,877.946 461.904,877.946 C231.521,877.946 44.7541,691.179 44.7541,460.8 C44.7541,230.413 231.521,43.65 461.904,43.65 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#2e85f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,4.6375 C717.934,4.6375 922.059,208.763 922.059,460.562 C922.059,712.363 717.934,916.487 466.138,916.487 C214.334,916.487 10.2083,712.363 10.2083,460.562 C10.2083,208.763 214.334,4.6375 466.138,4.6375 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,43.4125 C696.521,43.4125 883.283,230.179 883.283,460.562 C883.283,690.946 696.521,877.709 466.138,877.709 C235.75,877.709 48.9875,690.946 48.9875,460.562 C48.9875,230.179 235.75,43.4125 466.138,43.4125 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M342.791,693.209 L627.804,693.209 C665.755,693.209 696.809,662.155 696.809,624.201 L696.809,339.191 L342.791,693.209 M590.604,227.917 L304.467,227.917 C266.512,227.917 235.462,258.966 235.462,296.921 L235.462,583.058 L590.604,227.917"/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#2e85f7" fill-opacity="1" stroke="none" transform="matrix(0.0548338,0,0,-0.0548336,-0.396175,50.4309)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M463.15,7.85834 C714.95,7.85834 919.071,211.983 919.071,463.788 C919.071,715.583 714.95,919.709 463.15,919.709 C211.35,919.709 7.225,715.583 7.225,463.788 C7.225,211.983 211.35,7.85834 463.15,7.85834 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548338,0,0,-0.0548336,-0.396175,50.4309)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M463.15,46.6375 C693.534,46.6375 880.3,233.401 880.3,463.788 C880.3,694.166 693.534,880.929 463.15,880.929 C232.767,880.929 46,694.166 46,463.788 C46,233.401 232.767,46.6375 463.15,46.6375 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1d83ff" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,10.2875 C717.934,10.2875 922.059,214.413 922.059,466.208 C922.059,718.009 717.934,922.133 466.138,922.133 C214.334,922.133 10.2083,718.009 10.2083,466.208 C10.2083,214.413 214.334,10.2875 466.138,10.2875 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,49.0625 C696.521,49.0625 883.283,235.829 883.283,466.208 C883.283,696.596 696.521,883.358 466.138,883.358 C235.75,883.358 48.9875,696.596 48.9875,466.208 C48.9875,235.829 235.75,49.0625 466.138,49.0625 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M342.791,698.854 L627.804,698.854 C665.755,698.854 696.809,667.804 696.809,629.85 L696.809,344.842 L342.791,698.854 M590.604,233.567 L304.467,233.567 C266.512,233.567 235.462,264.617 235.462,302.571 L235.462,588.708 L590.604,233.567"/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1d83ff" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,10.2875 C717.934,10.2875 922.059,214.413 922.059,466.208 C922.059,718.009 717.934,922.133 466.138,922.133 C214.334,922.133 10.2083,718.009 10.2083,466.208 C10.2083,214.413 214.334,10.2875 466.138,10.2875 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,49.0625 C696.521,49.0625 883.283,235.829 883.283,466.208 C883.283,696.596 696.521,883.358 466.138,883.358 C235.75,883.358 48.9875,696.596 48.9875,466.208 C48.9875,235.829 235.75,49.0625 466.138,49.0625 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.559759,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M342.791,698.854 L627.804,698.854 C665.755,698.854 696.809,667.804 696.809,629.85 L696.809,344.842 L342.791,698.854 M590.604,233.567 L304.467,233.567 C266.512,233.567 235.462,264.617 235.462,302.571 L235.462,588.708 L590.604,233.567"/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1d83ff" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,4.6375 C717.934,4.6375 922.059,208.763 922.059,460.562 C922.059,712.363 717.934,916.487 466.138,916.487 C214.334,916.487 10.2083,712.363 10.2083,460.562 C10.2083,208.763 214.334,4.6375 466.138,4.6375 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,43.4125 C696.521,43.4125 883.283,230.179 883.283,460.562 C883.283,690.946 696.521,877.709 466.138,877.709 C235.75,877.709 48.9875,690.946 48.9875,460.562 C48.9875,230.179 235.75,43.4125 466.138,43.4125 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M342.791,693.209 L627.804,693.209 C665.755,693.209 696.809,662.155 696.809,624.201 L696.809,339.191 L342.791,693.209 M590.604,227.917 L304.467,227.917 C266.512,227.917 235.462,258.966 235.462,296.921 L235.462,583.058 L590.604,227.917"/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1d83ff" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.327859,50.2673)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
opacity="0.5" >
<path vector-effect="none" fill-rule="evenodd" d="M461.904,4.875 C713.705,4.875 917.829,208.996 917.829,460.8 C917.829,712.596 713.705,916.721 461.904,916.721 C210.105,916.721 5.97917,712.596 5.97917,460.8 C5.97917,208.996 210.105,4.875 461.904,4.875 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.327859,50.2673)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
opacity="0.5" >
<path vector-effect="none" fill-rule="evenodd" d="M461.904,43.65 C692.288,43.65 879.05,230.413 879.05,460.8 C879.05,691.179 692.288,877.946 461.904,877.946 C231.521,877.946 44.7541,691.179 44.7541,460.8 C44.7541,230.413 231.521,43.65 461.904,43.65 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1d83ff" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,4.6375 C717.934,4.6375 922.059,208.763 922.059,460.562 C922.059,712.363 717.934,916.487 466.138,916.487 C214.334,916.487 10.2083,712.363 10.2083,460.562 C10.2083,208.763 214.334,4.6375 466.138,4.6375 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M466.138,43.4125 C696.521,43.4125 883.283,230.179 883.283,460.562 C883.283,690.946 696.521,877.709 466.138,877.709 C235.75,877.709 48.9875,690.946 48.9875,460.562 C48.9875,230.179 235.75,43.4125 466.138,43.4125 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.559759,50.2543)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M342.791,693.209 L627.804,693.209 C665.755,693.209 696.809,662.155 696.809,624.201 L696.809,339.191 L342.791,693.209 M590.604,227.917 L304.467,227.917 C266.512,227.917 235.462,258.966 235.462,296.921 L235.462,583.058 L590.604,227.917"/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1d83ff" fill-opacity="1" stroke="none" transform="matrix(0.0548338,0,0,-0.0548336,-0.396175,50.4309)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M463.15,7.85834 C714.95,7.85834 919.071,211.983 919.071,463.788 C919.071,715.583 714.95,919.709 463.15,919.709 C211.35,919.709 7.225,715.583 7.225,463.788 C7.225,211.983 211.35,7.85834 463.15,7.85834 "/>
</g>
<g fill="#0c65f7" fill-opacity="1" stroke="none" transform="matrix(0.0548338,0,0,-0.0548336,-0.396175,50.4309)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M463.15,46.6375 C693.534,46.6375 880.3,233.401 880.3,463.788 C880.3,694.166 693.534,880.929 463.15,880.929 C232.767,880.929 46,694.166 46,463.788 C46,233.401 232.767,46.6375 463.15,46.6375 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1bd0da" fill-opacity="1" stroke="none" transform="matrix(0.0548333,0,0,-0.0548338,-0.491443,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M464.887,10.2875 C716.691,10.2875 920.817,214.413 920.817,466.208 C920.817,718.009 716.691,922.133 464.887,922.133 C213.088,922.133 8.9625,718.009 8.9625,466.208 C8.9625,214.413 213.088,10.2875 464.887,10.2875 "/>
</g>
<g fill="#19c0ca" fill-opacity="1" stroke="none" transform="matrix(0.0548333,0,0,-0.0548338,-0.491443,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M464.887,49.0625 C695.275,49.0625 882.037,235.829 882.037,466.208 C882.037,696.596 695.275,883.358 464.887,883.358 C234.505,883.358 47.7417,696.596 47.7417,466.208 C47.7417,235.829 234.505,49.0625 464.887,49.0625 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548333,0,0,0.0548338,-0.491443,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M160.183,-466.196 C160.183,-486.035 176.265,-502.117 196.104,-502.117 L733.672,-502.117 C753.51,-502.117 769.592,-486.035 769.592,-466.196 L769.592,-466.196 C769.592,-446.358 753.51,-430.276 733.672,-430.276 L196.104,-430.276 C176.265,-430.276 160.183,-446.358 160.183,-466.196 L160.183,-466.196"/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1bd0da" fill-opacity="1" stroke="none" transform="matrix(0.0548333,0,0,-0.0548338,-0.491443,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M464.887,10.2875 C716.691,10.2875 920.817,214.413 920.817,466.208 C920.817,718.009 716.691,922.133 464.887,922.133 C213.088,922.133 8.9625,718.009 8.9625,466.208 C8.9625,214.413 213.088,10.2875 464.887,10.2875 "/>
</g>
<g fill="#19c0ca" fill-opacity="1" stroke="none" transform="matrix(0.0548333,0,0,-0.0548338,-0.491443,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M464.887,49.0625 C695.275,49.0625 882.037,235.829 882.037,466.208 C882.037,696.596 695.275,883.358 464.887,883.358 C234.505,883.358 47.7417,696.596 47.7417,466.208 C47.7417,235.829 234.505,49.0625 464.887,49.0625 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548333,0,0,0.0548338,-0.491443,50.5641)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M160.183,-466.196 C160.183,-486.035 176.265,-502.117 196.104,-502.117 L733.672,-502.117 C753.51,-502.117 769.592,-486.035 769.592,-466.196 L769.592,-466.196 C769.592,-446.358 753.51,-430.276 733.672,-430.276 L196.104,-430.276 C176.265,-430.276 160.183,-446.358 160.183,-466.196 L160.183,-466.196"/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1bd0da" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.327859,50.114)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.904,2.07917 C713.705,2.07917 917.829,206.204 917.829,458.004 C917.829,709.801 713.705,913.925 461.904,913.925 C210.105,913.925 5.97917,709.801 5.97917,458.004 C5.97917,206.204 210.105,2.07917 461.904,2.07917 "/>
</g>
<g fill="#19c0ca" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.327859,50.114)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.904,40.8542 C692.288,40.8542 879.05,227.617 879.05,458.004 C879.05,688.387 692.288,875.15 461.904,875.15 C231.521,875.15 44.7541,688.387 44.7541,458.004 C44.7541,227.617 231.521,40.8542 461.904,40.8542 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,0.0548338,-0.327859,50.114)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M157.197,-458.022 C157.197,-477.861 173.279,-493.943 193.117,-493.943 L730.683,-493.943 C750.521,-493.943 766.603,-477.861 766.603,-458.022 C766.603,-438.184 750.521,-422.102 730.683,-422.102 L193.117,-422.102 C173.279,-422.102 157.197,-438.184 157.197,-458.022 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1bd0da" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.395944,50.2673)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
opacity="0.5" >
<path vector-effect="none" fill-rule="evenodd" d="M463.146,4.875 C714.95,4.875 919.071,208.996 919.071,460.8 C919.071,712.596 714.95,916.721 463.146,916.721 C211.346,916.721 7.22083,712.596 7.22083,460.8 C7.22083,208.996 211.346,4.875 463.146,4.875 "/>
</g>
<g fill="#19c0ca" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.395944,50.2673)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
opacity="0.5" >
<path vector-effect="none" fill-rule="evenodd" d="M463.146,43.65 C693.534,43.65 880.295,230.413 880.295,460.8 C880.295,691.179 693.534,877.946 463.146,877.946 C232.763,877.946 46,691.179 46,460.8 C46,230.413 232.763,43.65 463.146,43.65 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1bd0da" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.327859,50.114)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.904,2.07917 C713.705,2.07917 917.829,206.204 917.829,458.004 C917.829,709.801 713.705,913.925 461.904,913.925 C210.105,913.925 5.97917,709.801 5.97917,458.004 C5.97917,206.204 210.105,2.07917 461.904,2.07917 "/>
</g>
<g fill="#19c0ca" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548338,-0.327859,50.114)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.904,40.8542 C692.288,40.8542 879.05,227.617 879.05,458.004 C879.05,688.387 692.288,875.15 461.904,875.15 C231.521,875.15 44.7541,688.387 44.7541,458.004 C44.7541,227.617 231.521,40.8542 461.904,40.8542 "/>
</g>
<g fill="#363a4f" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,0.0548338,-0.327859,50.114)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M157.197,-458.022 C157.197,-477.861 173.279,-493.943 193.117,-493.943 L730.683,-493.943 C750.521,-493.943 766.603,-477.861 766.603,-458.022 C766.603,-438.184 750.521,-422.102 730.683,-422.102 L193.117,-422.102 C173.279,-422.102 157.197,-438.184 157.197,-458.022 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg viewBox="0 0 50 50"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
<title>Qt SVG Document</title>
<desc>Generated with Qt</desc>
<defs>
</defs>
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#1bd0da" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.327859,50.4309)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.904,7.85834 C713.705,7.85834 917.829,211.983 917.829,463.788 C917.829,715.583 713.705,919.709 461.904,919.709 C210.105,919.709 5.97917,715.583 5.97917,463.788 C5.97917,211.983 210.105,7.85834 461.904,7.85834 "/>
</g>
<g fill="#19c0ca" fill-opacity="1" stroke="none" transform="matrix(0.0548336,0,0,-0.0548336,-0.327859,50.4309)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
<path vector-effect="none" fill-rule="evenodd" d="M461.904,46.6375 C692.288,46.6375 879.05,233.401 879.05,463.788 C879.05,694.166 692.288,880.929 461.904,880.929 C231.521,880.929 44.7541,694.166 44.7541,463.788 C44.7541,233.401 231.521,46.6375 461.904,46.6375 "/>
</g>
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

4
gtk-3.0/bookmarks Normal file
View File

@@ -0,0 +1,4 @@
file:///home/indrajith/Pictures
file:///home/indrajith/Music
file:///home/indrajith/Documents
file:///home/indrajith/Downloads

84
gtk-3.0/colors.css Normal file
View File

@@ -0,0 +1,84 @@
@define-color borders_breeze #4c4d50;
@define-color content_view_bg_breeze #111216;
@define-color error_color_backdrop_breeze #43cdbd;
@define-color error_color_breeze #43cdbd;
@define-color error_color_insensitive_backdrop_breeze #235350;
@define-color error_color_insensitive_breeze #235350;
@define-color insensitive_base_color_breeze #111216;
@define-color insensitive_base_fg_color_breeze #646567;
@define-color insensitive_bg_color_breeze #111216;
@define-color insensitive_borders_breeze #26272a;
@define-color insensitive_fg_color_breeze #636467;
@define-color insensitive_selected_bg_color_breeze #111216;
@define-color insensitive_selected_fg_color_breeze #636467;
@define-color insensitive_unfocused_bg_color_breeze #111216;
@define-color insensitive_unfocused_fg_color_breeze #636467;
@define-color insensitive_unfocused_selected_bg_color_breeze #111216;
@define-color insensitive_unfocused_selected_fg_color_breeze #636467;
@define-color link_color_breeze #1f8cec;
@define-color link_visited_color_breeze #7f8c8d;
@define-color success_color_backdrop_breeze #9c53c6;
@define-color success_color_breeze #9c53c6;
@define-color success_color_insensitive_backdrop_breeze #422954;
@define-color success_color_insensitive_breeze #422954;
@define-color theme_base_color_breeze #111216;
@define-color theme_bg_color_breeze #111216;
@define-color theme_button_background_backdrop_breeze #16181d;
@define-color theme_button_background_backdrop_insensitive_breeze #16181d;
@define-color theme_button_background_insensitive_breeze #16181d;
@define-color theme_button_background_normal_breeze #16181d;
@define-color theme_button_decoration_focus_backdrop_breeze #3c78ff;
@define-color theme_button_decoration_focus_backdrop_insensitive_breeze #233a6c;
@define-color theme_button_decoration_focus_breeze #3c78ff;
@define-color theme_button_decoration_focus_insensitive_breeze #233a6c;
@define-color theme_button_decoration_hover_backdrop_breeze #10a6d4;
@define-color theme_button_decoration_hover_backdrop_insensitive_breeze #144a5d;
@define-color theme_button_decoration_hover_breeze #10a6d4;
@define-color theme_button_decoration_hover_insensitive_breeze #144a5d;
@define-color theme_button_foreground_active_backdrop_breeze #fefefe;
@define-color theme_button_foreground_active_backdrop_insensitive_breeze #636467;
@define-color theme_button_foreground_active_breeze #fefefe;
@define-color theme_button_foreground_active_insensitive_breeze #636467;
@define-color theme_button_foreground_backdrop_breeze #fefefe;
@define-color theme_button_foreground_backdrop_insensitive_breeze #67696c;
@define-color theme_button_foreground_insensitive_breeze #67696c;
@define-color theme_button_foreground_normal_breeze #fefefe;
@define-color theme_fg_color_breeze #fcfdfd;
@define-color theme_header_background_backdrop_breeze #111216;
@define-color theme_header_background_breeze #111216;
@define-color theme_header_background_light_breeze #111216;
@define-color theme_header_foreground_backdrop_breeze #fcfdfd;
@define-color theme_header_foreground_breeze #fcfdfd;
@define-color theme_header_foreground_insensitive_backdrop_breeze #fcfdfd;
@define-color theme_header_foreground_insensitive_breeze #fcfdfd;
@define-color theme_hovering_selected_bg_color_breeze #10a6d4;
@define-color theme_selected_bg_color_breeze #3c78ff;
@define-color theme_selected_fg_color_breeze #fefefe;
@define-color theme_text_color_breeze #fefefe;
@define-color theme_titlebar_background_backdrop_breeze #111216;
@define-color theme_titlebar_background_breeze #111216;
@define-color theme_titlebar_background_light_breeze #111216;
@define-color theme_titlebar_foreground_backdrop_breeze #b5b6b6;
@define-color theme_titlebar_foreground_breeze #edf0f2;
@define-color theme_titlebar_foreground_insensitive_backdrop_breeze #b5b6b6;
@define-color theme_titlebar_foreground_insensitive_breeze #b5b6b6;
@define-color theme_unfocused_base_color_breeze #111216;
@define-color theme_unfocused_bg_color_breeze #111216;
@define-color theme_unfocused_fg_color_breeze #fcfdfd;
@define-color theme_unfocused_selected_bg_color_alt_breeze #3c78ff;
@define-color theme_unfocused_selected_bg_color_breeze #3c78ff;
@define-color theme_unfocused_selected_fg_color_breeze #fefefe;
@define-color theme_unfocused_text_color_breeze #fefefe;
@define-color theme_unfocused_view_bg_color_breeze #111216;
@define-color theme_unfocused_view_text_color_breeze #646567;
@define-color theme_view_active_decoration_color_breeze #10a6d4;
@define-color theme_view_hover_decoration_color_breeze #10a6d4;
@define-color tooltip_background_breeze #111216;
@define-color tooltip_border_breeze #4c4d50;
@define-color tooltip_text_breeze #fcfdfd;
@define-color unfocused_borders_breeze #4c4d50;
@define-color unfocused_insensitive_borders_breeze #26272a;
@define-color warning_color_backdrop_breeze #5f7dcd;
@define-color warning_color_breeze #5f7dcd;
@define-color warning_color_insensitive_backdrop_breeze #2c3756;
@define-color warning_color_insensitive_breeze #2c3756;

37
gtk-3.0/gtk.css Normal file
View File

@@ -0,0 +1,37 @@
/*
.xfce4-panel {
border-bottom-left-radius: 13px;
border-bottom-right-radius: 13px;
border-top-left-radius: 13px;
border-top-right-radius: 13px;
}
.xfce4-panel .tasklist .toggle :checked {
border-radius: 10px;
}
.tasklist button:checked {
border-bottom: 3px solid white;
}
.flat,
.toggle {
font-family: 'JetBrainsMono Nerd Font';
font-size: 10px;
padding: 4px;
}
.flat:hover,
.toggle:hover {
font-family: 'JetBrainsMono Nerd Font';
font-size: 10px;
padding: 4px;
}
.flat:checked,
.toggle:checked {
font-family: 'JetBrainsMono Nerd Font';
font-size: 10px;
border-bottom: 3px solid white;
padding: 4px;
}
*/
@import 'colors.css';

16
gtk-3.0/settings.ini Normal file
View File

@@ -0,0 +1,16 @@
[Settings]
gtk-application-prefer-dark-theme=true
gtk-button-images=true
gtk-cursor-theme-name=kora
gtk-cursor-theme-size=24
gtk-decoration-layout=icon:minimize,maximize,close
gtk-enable-animations=true
gtk-font-name=Noto Sans, 10
gtk-icon-theme-name=kora-light
gtk-menu-images=true
gtk-modules=colorreload-gtk-module:window-decorations-gtk-module
gtk-primary-button-warps-slider=true
gtk-sound-theme-name=ocean
gtk-theme-name=Breeze
gtk-toolbar-style=3
gtk-xft-dpi=98304

View File

@@ -0,0 +1,71 @@
headerbar button.titlebutton.close, .titlebar button.titlebutton.close {
background-image: url("assets/close-normal.svg"); }
headerbar button.titlebutton.close:hover, .titlebar button.titlebutton.close:hover {
background-image: url("assets/close-hover.svg"); }
headerbar button.titlebutton.close:active, .titlebar button.titlebutton.close:active {
background-image: url("assets/close-active.svg"); }
headerbar button.titlebutton.close:backdrop, .titlebar button.titlebutton.close:backdrop {
background-image: url("assets/close-backdrop-normal.svg"); }
headerbar button.titlebutton.close:backdrop:hover, .titlebar button.titlebutton.close:backdrop:hover {
background-image: url("assets/close-backdrop-hover.svg"); }
headerbar button.titlebutton.close:backdrop:active, .titlebar button.titlebutton.close:backdrop:active {
background-image: url("assets/close-backdrop-active.svg"); }
headerbar button.titlebutton.maximize, .titlebar button.titlebutton.maximize {
background-image: url("assets/maximize-normal.svg"); }
headerbar button.titlebutton.maximize:hover, .titlebar button.titlebutton.maximize:hover {
background-image: url("assets/maximize-hover.svg"); }
headerbar button.titlebutton.maximize:active, .titlebar button.titlebutton.maximize:active {
background-image: url("assets/maximize-active.svg"); }
headerbar button.titlebutton.maximize:backdrop, .titlebar button.titlebutton.maximize:backdrop {
background-image: url("assets/maximize-backdrop-normal.svg"); }
headerbar button.titlebutton.maximize:backdrop:hover, .titlebar button.titlebutton.maximize:backdrop:hover {
background-image: url("assets/maximize-backdrop-hover.svg"); }
headerbar button.titlebutton.maximize:backdrop:active, .titlebar button.titlebutton.maximize:backdrop:active {
background-image: url("assets/maximize-backdrop-active.svg"); }
headerbar button.titlebutton.minimize, .titlebar button.titlebutton.minimize {
background-image: url("assets/minimize-normal.svg"); }
headerbar button.titlebutton.minimize:hover, .titlebar button.titlebutton.minimize:hover {
background-image: url("assets/minimize-hover.svg"); }
headerbar button.titlebutton.minimize:active, .titlebar button.titlebutton.minimize:active {
background-image: url("assets/minimize-active.svg"); }
headerbar button.titlebutton.minimize:backdrop, .titlebar button.titlebutton.minimize:backdrop {
background-image: url("assets/minimize-backdrop-normal.svg"); }
headerbar button.titlebutton.minimize:backdrop:hover, .titlebar button.titlebutton.minimize:backdrop:hover {
background-image: url("assets/minimize-backdrop-hover.svg"); }
headerbar button.titlebutton.minimize:backdrop:active, .titlebar button.titlebutton.minimize:backdrop:active {
background-image: url("assets/minimize-backdrop-active.svg"); }
.maximized headerbar button.titlebutton.maximize, .maximized .titlebar button.titlebutton.maximize {
background-image: url("assets/maximized-normal.svg"); }
.maximized headerbar button.titlebutton.maximize:hover, .maximized .titlebar button.titlebutton.maximize:hover {
background-image: url("assets/maximized-hover.svg"); }
.maximized headerbar button.titlebutton.maximize:active, .maximized .titlebar button.titlebutton.maximize:active {
background-image: url("assets/maximized-active.svg"); }
.maximized headerbar button.titlebutton.maximize:backdrop, .maximized .titlebar button.titlebutton.maximize:backdrop {
background-image: url("assets/maximized-backdrop-normal.svg"); }
.maximized headerbar button.titlebutton.maximize:backdrop:hover, .maximized .titlebar button.titlebutton.maximize:backdrop:hover {
background-image: url("assets/maximized-backdrop-hover.svg"); }
.maximized headerbar button.titlebutton.maximize:backdrop:active, .maximized .titlebar button.titlebutton.maximize:backdrop:active {
background-image: url("assets/maximized-backdrop-active.svg"); }

84
gtk-4.0/colors.css Normal file
View File

@@ -0,0 +1,84 @@
@define-color borders_breeze #4c4d50;
@define-color content_view_bg_breeze #111216;
@define-color error_color_backdrop_breeze #43cdbd;
@define-color error_color_breeze #43cdbd;
@define-color error_color_insensitive_backdrop_breeze #235350;
@define-color error_color_insensitive_breeze #235350;
@define-color insensitive_base_color_breeze #111216;
@define-color insensitive_base_fg_color_breeze #646567;
@define-color insensitive_bg_color_breeze #111216;
@define-color insensitive_borders_breeze #26272a;
@define-color insensitive_fg_color_breeze #636467;
@define-color insensitive_selected_bg_color_breeze #111216;
@define-color insensitive_selected_fg_color_breeze #636467;
@define-color insensitive_unfocused_bg_color_breeze #111216;
@define-color insensitive_unfocused_fg_color_breeze #636467;
@define-color insensitive_unfocused_selected_bg_color_breeze #111216;
@define-color insensitive_unfocused_selected_fg_color_breeze #636467;
@define-color link_color_breeze #1f8cec;
@define-color link_visited_color_breeze #7f8c8d;
@define-color success_color_backdrop_breeze #9c53c6;
@define-color success_color_breeze #9c53c6;
@define-color success_color_insensitive_backdrop_breeze #422954;
@define-color success_color_insensitive_breeze #422954;
@define-color theme_base_color_breeze #111216;
@define-color theme_bg_color_breeze #111216;
@define-color theme_button_background_backdrop_breeze #16181d;
@define-color theme_button_background_backdrop_insensitive_breeze #16181d;
@define-color theme_button_background_insensitive_breeze #16181d;
@define-color theme_button_background_normal_breeze #16181d;
@define-color theme_button_decoration_focus_backdrop_breeze #3c78ff;
@define-color theme_button_decoration_focus_backdrop_insensitive_breeze #233a6c;
@define-color theme_button_decoration_focus_breeze #3c78ff;
@define-color theme_button_decoration_focus_insensitive_breeze #233a6c;
@define-color theme_button_decoration_hover_backdrop_breeze #10a6d4;
@define-color theme_button_decoration_hover_backdrop_insensitive_breeze #144a5d;
@define-color theme_button_decoration_hover_breeze #10a6d4;
@define-color theme_button_decoration_hover_insensitive_breeze #144a5d;
@define-color theme_button_foreground_active_backdrop_breeze #fefefe;
@define-color theme_button_foreground_active_backdrop_insensitive_breeze #636467;
@define-color theme_button_foreground_active_breeze #fefefe;
@define-color theme_button_foreground_active_insensitive_breeze #636467;
@define-color theme_button_foreground_backdrop_breeze #fefefe;
@define-color theme_button_foreground_backdrop_insensitive_breeze #67696c;
@define-color theme_button_foreground_insensitive_breeze #67696c;
@define-color theme_button_foreground_normal_breeze #fefefe;
@define-color theme_fg_color_breeze #fcfdfd;
@define-color theme_header_background_backdrop_breeze #111216;
@define-color theme_header_background_breeze #111216;
@define-color theme_header_background_light_breeze #111216;
@define-color theme_header_foreground_backdrop_breeze #fcfdfd;
@define-color theme_header_foreground_breeze #fcfdfd;
@define-color theme_header_foreground_insensitive_backdrop_breeze #fcfdfd;
@define-color theme_header_foreground_insensitive_breeze #fcfdfd;
@define-color theme_hovering_selected_bg_color_breeze #10a6d4;
@define-color theme_selected_bg_color_breeze #3c78ff;
@define-color theme_selected_fg_color_breeze #fefefe;
@define-color theme_text_color_breeze #fefefe;
@define-color theme_titlebar_background_backdrop_breeze #111216;
@define-color theme_titlebar_background_breeze #111216;
@define-color theme_titlebar_background_light_breeze #111216;
@define-color theme_titlebar_foreground_backdrop_breeze #b5b6b6;
@define-color theme_titlebar_foreground_breeze #edf0f2;
@define-color theme_titlebar_foreground_insensitive_backdrop_breeze #b5b6b6;
@define-color theme_titlebar_foreground_insensitive_breeze #b5b6b6;
@define-color theme_unfocused_base_color_breeze #111216;
@define-color theme_unfocused_bg_color_breeze #111216;
@define-color theme_unfocused_fg_color_breeze #fcfdfd;
@define-color theme_unfocused_selected_bg_color_alt_breeze #3c78ff;
@define-color theme_unfocused_selected_bg_color_breeze #3c78ff;
@define-color theme_unfocused_selected_fg_color_breeze #fefefe;
@define-color theme_unfocused_text_color_breeze #fefefe;
@define-color theme_unfocused_view_bg_color_breeze #111216;
@define-color theme_unfocused_view_text_color_breeze #646567;
@define-color theme_view_active_decoration_color_breeze #10a6d4;
@define-color theme_view_hover_decoration_color_breeze #10a6d4;
@define-color tooltip_background_breeze #111216;
@define-color tooltip_border_breeze #4c4d50;
@define-color tooltip_text_breeze #fcfdfd;
@define-color unfocused_borders_breeze #4c4d50;
@define-color unfocused_insensitive_borders_breeze #26272a;
@define-color warning_color_backdrop_breeze #5f7dcd;
@define-color warning_color_breeze #5f7dcd;
@define-color warning_color_insensitive_backdrop_breeze #2c3756;
@define-color warning_color_insensitive_breeze #2c3756;

1
gtk-4.0/gtk.css Normal file
View File

@@ -0,0 +1 @@
@import 'colors.css';

12
gtk-4.0/settings.ini Normal file
View File

@@ -0,0 +1,12 @@
[Settings]
gtk-application-prefer-dark-theme=true
gtk-cursor-theme-name=kora
gtk-cursor-theme-size=24
gtk-decoration-layout=icon:minimize,maximize,close
gtk-enable-animations=true
gtk-font-name=Noto Sans, 10
gtk-icon-theme-name=kora-light
gtk-modules=colorreload-gtk-module:window-decorations-gtk-module
gtk-primary-button-warps-slider=true
gtk-sound-theme-name=ocean
gtk-xft-dpi=98304

View File

@@ -0,0 +1,71 @@
headerbar button.titlebutton.close, .titlebar button.titlebutton.close {
background-image: url("assets/close-normal.svg"); }
headerbar button.titlebutton.close:hover, .titlebar button.titlebutton.close:hover {
background-image: url("assets/close-hover.svg"); }
headerbar button.titlebutton.close:active, .titlebar button.titlebutton.close:active {
background-image: url("assets/close-active.svg"); }
headerbar button.titlebutton.close:backdrop, .titlebar button.titlebutton.close:backdrop {
background-image: url("assets/close-backdrop-normal.svg"); }
headerbar button.titlebutton.close:backdrop:hover, .titlebar button.titlebutton.close:backdrop:hover {
background-image: url("assets/close-backdrop-hover.svg"); }
headerbar button.titlebutton.close:backdrop:active, .titlebar button.titlebutton.close:backdrop:active {
background-image: url("assets/close-backdrop-active.svg"); }
headerbar button.titlebutton.maximize, .titlebar button.titlebutton.maximize {
background-image: url("assets/maximize-normal.svg"); }
headerbar button.titlebutton.maximize:hover, .titlebar button.titlebutton.maximize:hover {
background-image: url("assets/maximize-hover.svg"); }
headerbar button.titlebutton.maximize:active, .titlebar button.titlebutton.maximize:active {
background-image: url("assets/maximize-active.svg"); }
headerbar button.titlebutton.maximize:backdrop, .titlebar button.titlebutton.maximize:backdrop {
background-image: url("assets/maximize-backdrop-normal.svg"); }
headerbar button.titlebutton.maximize:backdrop:hover, .titlebar button.titlebutton.maximize:backdrop:hover {
background-image: url("assets/maximize-backdrop-hover.svg"); }
headerbar button.titlebutton.maximize:backdrop:active, .titlebar button.titlebutton.maximize:backdrop:active {
background-image: url("assets/maximize-backdrop-active.svg"); }
headerbar button.titlebutton.minimize, .titlebar button.titlebutton.minimize {
background-image: url("assets/minimize-normal.svg"); }
headerbar button.titlebutton.minimize:hover, .titlebar button.titlebutton.minimize:hover {
background-image: url("assets/minimize-hover.svg"); }
headerbar button.titlebutton.minimize:active, .titlebar button.titlebutton.minimize:active {
background-image: url("assets/minimize-active.svg"); }
headerbar button.titlebutton.minimize:backdrop, .titlebar button.titlebutton.minimize:backdrop {
background-image: url("assets/minimize-backdrop-normal.svg"); }
headerbar button.titlebutton.minimize:backdrop:hover, .titlebar button.titlebutton.minimize:backdrop:hover {
background-image: url("assets/minimize-backdrop-hover.svg"); }
headerbar button.titlebutton.minimize:backdrop:active, .titlebar button.titlebutton.minimize:backdrop:active {
background-image: url("assets/minimize-backdrop-active.svg"); }
.maximized headerbar button.titlebutton.maximize, .maximized .titlebar button.titlebutton.maximize {
background-image: url("assets/maximized-normal.svg"); }
.maximized headerbar button.titlebutton.maximize:hover, .maximized .titlebar button.titlebutton.maximize:hover {
background-image: url("assets/maximized-hover.svg"); }
.maximized headerbar button.titlebutton.maximize:active, .maximized .titlebar button.titlebutton.maximize:active {
background-image: url("assets/maximized-active.svg"); }
.maximized headerbar button.titlebutton.maximize:backdrop, .maximized .titlebar button.titlebutton.maximize:backdrop {
background-image: url("assets/maximized-backdrop-normal.svg"); }
.maximized headerbar button.titlebutton.maximize:backdrop:hover, .maximized .titlebar button.titlebutton.maximize:backdrop:hover {
background-image: url("assets/maximized-backdrop-hover.svg"); }
.maximized headerbar button.titlebutton.maximize:backdrop:active, .maximized .titlebar button.titlebutton.maximize:backdrop:active {
background-image: url("assets/maximized-backdrop-active.svg"); }

6
gtkrc Normal file
View File

@@ -0,0 +1,6 @@
# created by KDE Plasma, Sat Jun 22 16:25:32 2024
#
include "/usr/share/themes/Breeze/gtk-2.0/gtkrc"
gtk-theme-name="Breeze"

5
gtkrc-2.0 Normal file
View File

@@ -0,0 +1,5 @@
# created by KDE Plasma, Sat Jun 22 16:25:32 2024
#
gtk-alternative-button-order = 1

11
hypr/hypridle.conf Normal file
View File

@@ -0,0 +1,11 @@
listener {
timeout = 300 # 5min
on-timeout = hyprlock # command to run when timeout has passed
on-resume = notify-send "Welcome back!" # command to run when activity is detected after timeout has fired.
}
listener {
timeout = 900 # 15min
on-timeout = hyprctl dispatch dpms off # command to run when timeout has passed
on-resume = hyprctl dispatch dpms on # command to run when activity is detected after timeout has fired.
}

265
hypr/hyprland.conf Normal file
View File

@@ -0,0 +1,265 @@
# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################
autogenerated = 0 # remove this line to remove the warning
# This is an example Hyprland config file.
# Refer to the wiki for more information.
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
# Please note not all available settings / options are set here.
# For a full list, see the wiki
# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto
###################
### MY PROGRAMS ###
###################
# See https://wiki.hyprland.org/Configuring/Keywords/
# Set programs that you use
$terminal = foot
$fileManager = thunar
$menu = rofi -show drun
#################
### AUTOSTART ###
#################
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
# exec-once = $terminal
# exec-once = nm-applet &
exec-once = waybar
exec-once = hyprpaper
exec-once = hypridle
#############################
### ENVIRONMENT VARIABLES ###
#############################
# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 5
gaps_out = 20
border_size = 2
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = dwindle
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 10
# Change transparency of focused and unfocused windows
active_opacity = 1.0
inactive_opacity = 1.0
drop_shadow = true
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
}
# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
enabled = true
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
new_is_master = true
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}
#############
### INPUT ###
#############
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = false
}
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
name = epic-mouse-v1
sensitivity = -0.5
}
####################
### KEYBINDINGSS ###
####################
# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exec, wlogout
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, D, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod,F,fullscreen
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
#POWER
bind = $mainMod, L, exec,~/Documents/scripts/lock.sh
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
windowrule = float,^(blueman-manager)$
windowrule = float,^(qalculate-gtk)$
windowrulev2 = float,title:^(Volume Control)$
#windowrulev2 = noblur,class:^(google-chrome-stable)$
windowrulev2=noblur,class:^()$,title:^()$

86
hypr/hyprlock.conf Normal file
View File

@@ -0,0 +1,86 @@
# BACKGROUND
background {
monitor =
path = ~/Pictures/wallhaven-l8vp7y_1920x1080.png
# blur_passes = 0.3
contrast = 0.8916
brightness = 0.8172
vibrancy = 0.1696
vibrancy_darkness = 0.0
}
input-field {
monitor =
size = 200, 50
outline_thickness = 3
dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
outer_color = rgb(151515)
inner_color = rgb(FFFFFF)
font_color = rgb(10, 10, 10)
fade_on_empty = true
fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
hide_input = false
rounding = -1 # -1 means complete rounding (circle/oval)
check_color = rgb(204, 136, 34)
fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty
fail_transition = 300 # transition time in ms between normal outer_color and fail_color
capslock_color = -1
numlock_color = -1
bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
invert_numlock = false # change color if numlock is off
swap_font_color = false # see below
position = 0, -120
halign = center
valign = center
}
# TIME
label {
monitor =
text = cmd[update:1000] echo "$(date +"%-I:%M%p")"
color = $foreground
#color = rgba(255, 255, 255, 0.6)
font_size = 120
font_family = EnvyCodeR Nerd Font
position = 0, 0
halign = center
valign = top
}
# USER
label {
monitor =
text = $USER
color = $foreground
#color = rgba(255, 255, 255, 0.6)
font_size = 25
font_family = EnvyCodeR Nerd Font
position = 0, -40
halign = center
valign = center
shadow_passes = 5
shadow_size = 10
}
# image {
# path = ~/Pictures/wallhaven-l8vp7y_1920x1080.png
# size = 280 # lesser side if not 1:1 ratio
# rounding = -1 # negative values mean circle
# border_size = 4
# border_color = rgb(221, 221, 221)
# rotate = 0 # degrees, counter-clockwise
# reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2
# # reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F
# position = 0, 150
# halign = center
# valign = center
# }

4
hypr/hyprpaper.conf Normal file
View File

@@ -0,0 +1,4 @@
preload = /home/indrajith/Pictures/wallhaven-l8vp7y_1920x1080.png
wallpaper = ,/home/indrajith/Pictures/wallhaven-l8vp7y_1920x1080.png
splash = true

1
hypr/scripts/browser.sh Executable file
View File

@@ -0,0 +1 @@
google-chrome-stable

1
hypr/scripts/filemanager.sh Executable file
View File

@@ -0,0 +1 @@
thunar

21
kitty/current-theme.conf Normal file
View File

@@ -0,0 +1,21 @@
background #0e0c15
foreground #dbd0b9
cursor #bbbbbb
selection_background #f3e0b8
color0 #08002e
color8 #331d4c
color1 #64002c
color9 #cf2062
color2 #5d731a
color10 #b3ce58
color3 #cd751c
color11 #fac357
color4 #1d6da1
color12 #40a4cf
color5 #b7077e
color13 #f02aae
color6 #42a38c
color14 #62caa8
color7 #f3e0b8
color15 #fff5db
selection_foreground #0e0c15

View File

@@ -0,0 +1,111 @@
{
"files": [
"README.md"
],
"badgeTemplate": "[![All Contributors](https://img.shields.io/badge/all_contributors-<%= contributors.length %>-green.svg?style=for-the-badge)](#contributors)",
"contributorTemplate": "<a href=\"<%= contributor.profile %>\"><b><%= contributor.name %></b></a><br /><%= contributions %>",
"imageSize": 100,
"commit": false,
"contributors": [
{
"login": "scopatz",
"name": "Anthony Scopatz",
"avatar_url": "https://avatars2.githubusercontent.com/u/320553?v=4",
"profile": "http://www.scopatz.com",
"contributions": [
"doc"
]
},
{
"login": "orangecoloured",
"name": "RCKT",
"avatar_url": "https://avatars3.githubusercontent.com/u/3314891?v=4",
"profile": "https://rckt.cc",
"contributions": [
"theme"
]
},
{
"login": "varmanishant",
"name": "varmanishant",
"avatar_url": "https://avatars1.githubusercontent.com/u/4084912?v=4",
"profile": "https://github.com/varmanishant",
"contributions": [
"theme"
]
},
{
"login": "rlerdorf",
"name": "Rasmus Lerdorf",
"avatar_url": "https://avatars3.githubusercontent.com/u/54641?v=4",
"profile": "https://github.com/rlerdorf",
"contributions": [
"bug",
"ideas"
]
},
{
"login": "Luflosi",
"name": "Luflosi",
"avatar_url": "https://avatars1.githubusercontent.com/u/15217907?v=4",
"profile": "https://github.com/Luflosi",
"contributions": [
"fix",
"question",
"doc"
]
},
{
"login": "connorholyday",
"name": "Connor Holyday",
"avatar_url": "https://avatars1.githubusercontent.com/u/4559119?v=4",
"profile": "https://holyday.me",
"contributions": [
"fix"
]
},
{
"login": "BlueDrink9",
"name": "BlueDrink9",
"avatar_url": "https://avatars3.githubusercontent.com/u/26474254?v=4",
"profile": "https://github.com/BlueDrink9",
"contributions": [
"bug"
]
},
{
"login": "brujoand",
"name": "Anders Brujordet",
"avatar_url": "https://avatars1.githubusercontent.com/u/124421?v=4",
"profile": "https://github.com/brujoand",
"contributions": [
"theme"
]
},
{
"login": "rjshrjndrn",
"name": "Rajesh Rajendran",
"avatar_url": "https://avatars3.githubusercontent.com/u/2563385?v=4",
"profile": "http://www.hackouts.com",
"contributions": [
"fix"
]
}
],
"types": {
"theme": {
"symbol": "😻",
"description": "New theme added to the collection"
},
"fix": {
"symbol": "🛠️",
"description": "Fixed a theme"
}
},
"contributorsPerLine": 7,
"projectName": "kitty-themes",
"projectOwner": "dexpota",
"repoType": "github",
"repoHost": "https://github.com",
"commitConvention": "none"
}

View File

@@ -0,0 +1,10 @@
---
name: theme-request
about: Use the following template if you want a new theme to be included in the collection.
title: Add <theme> to the collection.
labels: theme request
assignees: dexpota
---
Please, include **theme** in the collection. You can find it here: **url**

View File

@@ -0,0 +1,9 @@
---
name: theme-request
about: Use the following template if you want a new theme to be included in the collection.
title: Add <theme> to the collection.
labels: theme request
assignees: dexpota
---
Please, include **theme** in the collection.

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

View File

@@ -0,0 +1,9 @@
# kitty-tools
> A bunch of useful scripts used to convert schemes and generate files.
## Process overview
1. Find a nice theme and check the licensing, is it possible to distribute the theme?
2. Generate the configuration file for **kitty**;
3. Add a new preview for the theme;
4. Update the README.md;

View File

@@ -0,0 +1,26 @@
#!/bin/bash
#
# This file echoes a bunch of color codes to the
# terminal to demonstrate what's available. Each
# line is the color code of one forground color,
# out of 17 (default + 16 escapes), followed by a
# test use of that color on all nine background
# colors (default + 8 escapes).
#
T='gYw' # The test text
echo -e "\n 40m 41m 42m 43m\
44m 45m 46m 47m";
for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \
'1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \
' 36m' '1;36m' ' 37m' '1;37m';
do FG=${FGs// /}
echo -en " $FGs \033[$FG $T "
for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
do echo -en "$EINS \033[$FG\033[$BG $T \033[0m";
done
echo;
done
echo

View File

@@ -0,0 +1,30 @@
import json
from jinja2 import FileSystemLoader, Environment
import sys
import os
def removeAlpha(value):
hex = value.lstrip("#")
return "#" + hex[0:6]
filename = sys.argv[1]
kitty_configuration = os.path.splitext(filename)[0] + ".conf"
with open(filename, "r") as configuration_file:
configuration = json.load(configuration_file)
loader = FileSystemLoader(".")
env = Environment(loader=loader)
env.filters['removeAlpha'] = removeAlpha
env.trim_blocks = True
template = env.get_template("template.conf.j2")
output = template.render(**configuration)
with open(kitty_configuration, "w") as fp:
fp.write(output)

View File

@@ -0,0 +1,57 @@
#!/usr/bin/swift
// main.swift
// nscolor
//
// Created by Fabrizio FD. Destro on 28/12/18.
// Copyright © 2018 Fabrizio FD. Destro. All rights reserved.
//
import Foundation
import AppKit
func hex(color: NSColor) -> String {
return String(format: "#%02x%02x%02x", Int(color.redComponent * 0xFF), Int(color.greenComponent * 0xFF), Int(color.blueComponent * 0xFF))
}
func process_color(field: String, data: Data) {
let color = NSKeyedUnarchiver.unarchiveObject(with: data) as! NSColor
print("\(field) \(hex(color: color))");
}
func generate_conf_line(field: String, key: String, dictionary: NSDictionary){
if let data = dictionary[key] {
process_color(field: field, data: data as! Data)
}
}
func process(filename: String) {
let plist = NSDictionary(contentsOfFile: filename)!
generate_conf_line(field: "background", key: "BackgroundColor", dictionary: plist)
generate_conf_line(field: "foreground", key: "TextColor", dictionary: plist)
generate_conf_line(field: "cursor", key: "CursorColor", dictionary: plist)
generate_conf_line(field: "selection_background", key: "SelectionColor", dictionary: plist)
generate_conf_line(field: "color0", key: "ANSIBlackColor", dictionary: plist)
generate_conf_line(field: "color8", key: "ANSIBrightBlackColor", dictionary: plist)
generate_conf_line(field: "color1", key: "ANSIRedColor", dictionary: plist)
generate_conf_line(field: "color9", key: "ANSIBrightRedColor", dictionary: plist)
generate_conf_line(field: "color2", key: "ANSIGreenColor", dictionary: plist)
generate_conf_line(field: "color10", key: "ANSIBrightGreenColor", dictionary: plist)
generate_conf_line(field: "color3", key: "ANSIYellowColor", dictionary: plist)
generate_conf_line(field: "color11", key: "ANSIBrightYellowColor", dictionary: plist)
generate_conf_line(field: "color4", key: "ANSIBlueColor", dictionary: plist)
generate_conf_line(field: "color12", key: "ANSIBrightBlueColor", dictionary: plist)
generate_conf_line(field: "color5", key: "ANSIMagentaColor", dictionary: plist)
generate_conf_line(field: "color13", key: "ANSIBrightMagentaColor", dictionary: plist)
generate_conf_line(field: "color6", key: "ANSICyanColor", dictionary: plist)
generate_conf_line(field: "color14", key: "ANSIBrightCyanColor", dictionary: plist)
generate_conf_line(field: "color7", key: "ANSIWhiteColor", dictionary: plist)
generate_conf_line(field: "color15", key: "ANSIBrightWhiteColor", dictionary: plist)
}
if (CommandLine.argc == 2) {
let filename = CommandLine.arguments[1]
process(filename: filename)
} else {
print("Missing plist's path.")
}

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
theme=$1
jq ".colors | to_entries | map(select(.key | match(\"terminal.*\"))) | map({(.key | gsub(\"\\\\.(?<a>.)\"; .a | ascii_upcase) | ltrimstr(\"terminal\") | sub(\"(?<a>.)\"; .a | ascii_downcase)):.value}) | add" < "$theme" > "terminal/${theme%.*}.json"

View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bash
find ~/github/macos-terminal-themes/schemes/ -name "*.terminal" -print0 | while read -d $'\0' -r file; do
filename=`basename "$file"`
without_ext=${filename%.*}
removed_spaces=${without_ext// /_}
# output_filename=`echo ${removed_spaces} | tr '[:upper:]' '[:lower:]'`
echo ${removed_spaces}.conf
./convert_conf.swift "$file" > ./themes/${removed_spaces}.conf
done

View File

@@ -0,0 +1,22 @@
#!/usr/bin/env bash
# This script generate all preview images for the themes
# In order to capture previews without the to bar start kitty without decorations
# kitty -o hide_window_decorations=yes
# shellcheck source=libcapture.sh
source libcapture.sh
# read theme path from args
id=$1
theme=$2
preview_filename=$3
conf_filename=$(basename "$theme")
lockfile=$(mktemp)
kitty @ set-colors --match id:"$id" "$theme"
kitty @ send-text --match id:"$id" "clear && figlet -f digital -t \"$conf_filename\" && unbuffer ./color_table.sh && rm \"$lockfile\"\n"
# simple sync mechanism, wait for the lockfile to be removed
( echo "$lockfile" | entr "false" 1>/dev/null 2>&1 ) || capture themes "$preview_filename"

View File

@@ -0,0 +1,32 @@
#!/usr/bin/env bash
# This script generate all preview images for the themes
root="$(git rev-parse --show-toplevel)"
tools="$root/.tools"
PATH=$tools:$PATH
# new kitty window, return its id
id=$(kitty @ new-window --title themes --window-type os --cwd "$tools")
# start bash without reading the profile nor the configuration
kitty @ send-text --match id:"$id" "/usr/bin/env bash --noprofile --norc\n"
kitty @ set-font-size 24
# save all preview in this directory
previews="$root/_previews"
if [ ! -d "$previews" ]; then
mkdir "$previews"
fi
while read -r theme
do
echo "Genereting theme preview for $theme"
preview_directory=$previews/$(basename "${theme%.*}")
[ ! -d "$preview_directory" ] && mkdir "$preview_directory"
preview_filename=$previews/$(basename "${theme%.*}")/preview.png
generate_theme_preview.sh "$id" "$theme" "$preview_filename"
mogrify -resize 1024x\> "$preview_filename"
done < /dev/stdin
kitty @ close-window --match id:"$id"
kitty @ set-font-size 16

View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
function capture_linux() {
local title="$1"
local output="$2"
import -window "$title" "$output"
}
function capture_osx() {
local title="$1"
local output="$2"
# get system id of the new created window
sys_id=$(./windowid.swift "kitty" "$title")
screencapture -wl"$sys_id" "$output"
}
function capture() {
if [[ "$OSTYPE" == "linux-gnu" ]]; then
capture_linux "$@"
elif [[ "$OSTYPE" == "darwin"* ]]; then
capture_osx "$@"
fi
}

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
previews_root=$1
# usually this value: https://raw.githubusercontent.com/dexpota/kitty-themes-website/master
url_root=$2
for f in $(find "$previews_root/previews" -maxdepth 1 -mindepth 1 -type d | sort); do
preview_file="$f"/preview.png
theme=$(basename $f)
relative_path=$(realpath --relative-to="$previews_root" "$preview_file")
header=`basename $theme | sed 's/_/ /g'`
image="![image]($url_root/$relative_path)"
echo \#\# $header
echo $image
done

View File

@@ -0,0 +1,91 @@
from argparse import ArgumentParser
from svgwrite.shapes import Rect
import svgwrite
theme_keys = [
"foreground", "background", "background_opacity", "dynamic_background_opacity", "dim_opacity",
"selection_foreground", "selection_background", "color0", "color8", "color1", "color9", "color2", "color10",
"color3", "color11", "color4", "color12", "color5", "color13", "color6", "color14", "color7", "color15"
]
def is_valid(line):
"""
Returns true if a line inside a configuration file is a valid theme configuration pair: is not a comment, is not
empty and the key is correct.
:param line: a line inside the configuration file
:type line: str
:return: true if is valid, false otherwise
:rtype: bool
"""
return (not line.lstrip().startswith("#") # is not a comment
and len(line.strip()) != 0 # is not empty
and line.split(maxsplit=1)[0] in theme_keys) # key is a valid one
def extract_configuration_pair(line):
"""
Extract a configuration pair by splitting on spaces and taking the first couple of values.
:param line: a line inside the configuration file
:type line: str
:return: a key-value pair
:rtype: bool
"""
split = line.split(maxsplit=2)
return split[0], split[1]
def read_configuration(filename):
"""
Read a kitty configuration file and extract only theme related keys and values.
:param filename: path to the configuration file
:type filename: str
:return: a map with theme related configuration values
:rtype: dict[str, str]
"""
with open(filename, "r") as fp:
lines = fp.readlines()
print(filename)
theme_config = dict([extract_configuration_pair(line) for line in lines if is_valid(line)])
return theme_config
def draw_theme_palette(theme_configuration, start_point, size, displacement):
rects = []
for k, v in theme_configuration.items():
rgb = tuple(int(v[i + 1:i + 3], 16) for i in (0, 2, 4))
rects.append(Rect(start_point, size, fill=svgwrite.utils.rgb(rgb[0], rgb[1], rgb[2])))
start_point = (start_point[0] + displacement[0], start_point[1] + displacement[1])
return rects
def draw_all_palettes(themes):
dwg = svgwrite.Drawing('test.svg', profile='tiny')
y = 0
palettes = []
for theme in themes:
palettes += draw_theme_palette(theme, (0, y), (10, 10), (10, 0))
y += 10
for rect in palettes:
dwg.add(rect)
dwg.save()
def main():
parser = ArgumentParser()
parser.add_argument("theme", type=str, nargs="+")
ns = parser.parse_args()
theme_configurations = [read_configuration(theme) for theme in ns.theme]
draw_all_palettes(theme_configurations)
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,136 @@
import sys
import os
import sys
theme_keys = [
"cursor", "foreground", "background", "background_opacity", "dynamic_background_opacity", "dim_opacity",
"selection_foreground", "selection_background", "color0", "color8", "color1", "color9", "color2", "color10",
"color3", "color11", "color4", "color12", "color5", "color13", "color6", "color14", "color7", "color15"
]
def is_valid(line):
"""
Returns true if a line inside a configuration file is a valid theme configuration pair: is not a comment, is not
empty and the key is correct.
:param line: a line inside the configuration file
:type line: str
:return: true if is valid, false otherwise
:rtype: bool
"""
return (not line.lstrip().startswith("#") # is not a comment
and len(line.strip()) != 0 # is not empty
and line.split(maxsplit=1)[0] in theme_keys) # key is a valid one
def extract_configuration_pair(line):
"""
Extract a configuration pair by splitting on spaces and taking the first couple of values.
:param line: a line inside the configuration file
:type line: str
:return: a key-value pair
:rtype: bool
"""
split = line.split(maxsplit=2)
return split[0], split[1]
def read_configuration(filename):
"""
Read a kitty configuration file and extract only theme related keys and values.
:param filename: path to the configuration file
:type filename: str
:return: a map with theme related configuration values
:rtype: dict[str, str]
"""
with open(filename, "r") as fp:
lines = fp.readlines()
theme_config = dict([extract_configuration_pair(line) for line in lines if is_valid(line)])
return theme_config
def fg(color, text):
rgb = tuple(int(color[i + 1:i + 3], 16) for i in (0, 2, 4))
return ('\x1b[38;2;%s;%s;%sm' % rgb + text + '\x1b[0m')
def bg(color, text):
rgb = tuple(int(color[i + 1:i + 3], 16) for i in (0, 2, 4))
return ('\x1b[48;2;%s;%s;%sm' % rgb + text + '\x1b[0m')
def print_preview(filename, configuration):
cursor = configuration["cursor"]
background = configuration["background"]
foreground = configuration["foreground"]
theme = os.path.basename(filename)
size = len(theme) + (2 + 2 + 16 + 2 + 16 + 1 + 2)
print(bg(background, " " * size))
print(bg(background, " "), end="")
print(bg(background, fg(foreground, theme)), end="")
print(bg(background, " "), end="")
c='a'
for i in range(0, 16):
color = configuration["color%d" % i]
print(bg(background, fg(color, c)), end="")
c = chr(ord(c) + 1)
print(bg(background, " "), end="")
selection_background = configuration["selection_background"]
selection_foreground = configuration["selection_foreground"]
c='A'
for i in range(0, 16):
print(bg(selection_background, fg(selection_foreground, c)), end="")
c = chr(ord(c) + 1)
print(bg(cursor, " "), end="")
print(bg(background, " "))
print(bg(background, " " * size))
print(bg(background, " "), end="")
print(bg(configuration["color0"], " "), end="")
print(bg(configuration["color1"], " "), end="")
print(bg(configuration["color2"], " "), end="")
print(bg(configuration["color3"], " "), end="")
print(bg(configuration["color4"], " "), end="")
print(bg(configuration["color5"], " "), end="")
print(bg(configuration["color6"], " "), end="")
print(bg(configuration["color7"], " "), end="")
print(bg(background, " "), end="")
print(bg(configuration["color8"], " "), end="")
print(bg(configuration["color9"], " "), end="")
print(bg(configuration["color10"], " "), end="")
print(bg(configuration["color11"], " "), end="")
print(bg(configuration["color12"], " "), end="")
print(bg(configuration["color13"], " "), end="")
print(bg(configuration["color14"], " "), end="")
print(bg(configuration["color15"], " "), end="")
print(bg(background, " " * (size - 16 - 4)), end="")
print()
print(bg(background, " " * size))
print()
def main(directory):
for filename in os.listdir(directory):
try:
path = os.path.join(directory, filename)
configuration = read_configuration(path)
print_preview(path, configuration)
except Exception as e:
print(e, file=sys.stderr)
print("Error while processing %s" % filename, file=sys.stderr)
if __name__ == "__main__":
main(sys.argv[1])

View File

@@ -0,0 +1,24 @@
#!/bin/bash
# @author: @vrdhn on github
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
cd $SCRIPT_DIR/..
set_theme () {
cat themes/$1.conf | awk 'BEGIN {printf("kitty @ set-colors ")} {printf( "%s=%s ",$1,$2 )} END{printf("\n")}' | sh
}
list=$(find themes -type f | grep "$1" | xargs basename | cut -d. -f1)
for x in $list ;
do
kitty +kitten icat "previews/$x.png"
read -n 1 -p "$x : Next / Set / Quit :" ans
echo
case $ans in
n ) ;;
s ) set_theme $x ; exit ;;
q ) exit ;;
esac
done

View File

@@ -0,0 +1,37 @@
background #
foreground #
cursor #
cursor_text_color #
selection_foreground #
selection_background #
# black
color0 #
color8 #
# red
color1 #
# light red
color9 #
# green
color2 #
# light green
color10 #
# yellow
color3 #
# light yellow
color11 #
# blue
color4 #
# light blue
color12 #
# magenta
color5 #
# light magenta
color13 #
# cyan
color6 #
# lighy cyan
color14 #
# light gray
color7 #
# dark gray
color15 #

View File

@@ -0,0 +1,91 @@
{% if background is defined %}
background {{background}}
{% endif %}
{% if foreground is defined %}
foreground {{foreground}}
{% endif %}
{% if cursorForeground is defined %}
cursor {{cursorForeground}}
{% endif %}
{% if cursorBackground is defined %}
cursor_text_color {{cursorBackground | removeAlpha}}
{% endif %}
{% if background is defined %}
selection_foreground {{background | removeAlpha}}
{% endif %}
{% if selectionBackground is defined %}
selection_background {{selectionBackground | removeAlpha}}
{% endif %}
{% if ansiBlack is defined %}
# dull black
color0 {{ansiBlack}}
{% endif %}
{% if ansiBrightBlack is defined %}
# light black
color8 {{ansiBrightBlack}}
{% endif %}
{% if ansiRed is defined %}
# dull red
color1 {{ansiRed}}
{% endif %}
{% if ansiBrightRed %}
# light red
color9 {{ansiBrightRed}}
{% endif %}
{% if ansiGreen is defined %}
# dull green
color2 {{ansiGreen}}
{% endif %}
{% if ansiBrightGreen is defined %}
# light green
color10 {{ansiBrightGreen}}
{% endif %}
{% if ansiYellow is defined %}
# yellow
color3 {{ansiYellow}}
{% endif %}
{% if ansiBrightYellow is defined %}
# light yellow
color11 {{ansiBrightYellow}}
{% endif %}
{% if ansiBlue is defined %}
# blue
color4 {{ansiBlue}}
{% endif %}
{% if ansiBrightBlue %}
# light blue
color12 {{ansiBrightBlue}}
{% endif %}
{% if ansiMagenta is defined %}
# magenta
color5 {{ansiMagenta}}
{% endif %}
{% if ansiBrightMagenta is defined %}
# light magenta
color13 {{ansiBrightMagenta}}
{% endif %}
{% if ansiCyan is defined %}
# cyan
color6 {{ansiCyan}}
{% endif %}
{% if ansiBrightCyan is defined %}
# light cyan
color14 {{ansiBrightCyan}}
{% endif %}
{% if ansiWhite is defined %}
# dull white
color7 {{ansiWhite}}
{% endif %}
{% if ansiBrightWhite is defined %}
# bright white
color15 {{ansiBrightWhite}}
{% endif %}

View File

@@ -0,0 +1,20 @@
#!/usr/bin/swift
import Foundation
import Cocoa
import CoreGraphics.CGWindow
let windows : NSArray = CGWindowListCopyWindowInfo(CGWindowListOption.excludeDesktopElements, kCGNullWindowID)! as NSArray
let search_for_app = CommandLine.arguments[1]
let search_for_win = CommandLine.arguments[2]
for window in windows {
let window = window as! NSDictionary
let app_name = window[kCGWindowOwnerName] as! String
let window_name = window[kCGWindowName] as? String
if app_name == search_for_app && window_name == search_for_win {
print("\(window[kCGWindowNumber]!)")
}
}

View File

@@ -0,0 +1,8 @@
# Contributing to kitty-themes
We always welcome your pull request! To start contributing follow these simple
steps:
1. Fork the repo and create your branch from `master`;
2. Add your theme as config file under `themes` directory;
3. Issue the pull request through github;

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2019 Fabrizio Destro <fabrizio@destro.dev>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,465 @@
[iterm2-themes]: https://github.com/mbadolato/iTerm2-Color-Schemes
[color-scripts]: https://github.com/stark/Color-Scripts/tree/master/color-scripts
[license]: https://opensource.org/licenses/MIT
[license-badge]: https://img.shields.io/github/license/dexpota/kitty-themes.svg?style=for-the-badge
[kitty-themes-previews]: https://github.com/dexpota/kitty-themes-website/tree/master/previews
![kitty-themes](./.github/kitty-themes.jpg)
> **Personalize** your *kitty* terminal and choose your theme from this awesome
> collection, for more information on the terminal visit
> https://github.com/kovidgoyal/kitty
[![License: MIT][license-badge]][license]
[![All Contributors](https://img.shields.io/badge/all_contributors-9-green.svg?style=for-the-badge)](#contributors)
- [About](#about)
- [Installation](#installation)
- [Source Code](#source-code)
- [Conda](#conda)
- [License](#license)
- [Bring me to the previews!](#previews)
- [Contributors](#contributors)
## About
In this repository you can find a set of themes to personalize your kitty
terminal, these have been ported from [iTerm2-Color-Schemes][iterm2-themes]. You can find
the previews for each theme in the [section](#previews) below or in this other
[repository](kitty-themes-previews).
## Installation
### Source Code
1. If you want to download and use one of these theme you have two options:
- clone the entire *kitty-themes* repository:
```bash
git clone --depth 1 https://github.com/dexpota/kitty-themes.git ~/.config/kitty/kitty-themes
```
- or download just one theme:
```bash
THEME=https://raw.githubusercontent.com/dexpota/kitty-themes/master/themes/3024_Day.conf
wget "$THEME" -P ~/.config/kitty/kitty-themes/themes
```
2. Choose a theme and create a symlink:
```bash
cd ~/.config/kitty
ln -s ./kitty-themes/themes/Floraverse.conf ~/.config/kitty/theme.conf
```
3. Add this line to your kitty.conf configuration file:
```
include ./theme.conf
```
### Conda
If you using the ``conda`` package manager, you may also install these themes
with the following command:
```bash
conda install -c conda-forge kitty-themes
```
## License
All original content of this repository is licensed with the [MIT
License](./LICENSE.md). Whenever possible the author of the theme is cited
inside each theme configuration file, together with its license. Hit me up if
you find your theme inside this repository and you want a proper citation.
## Previews
If you have followed the [installation](#installation) instructions and cloned
the entire repo, you have two options to try a theme:
1. If you have enabled remote control in *kitty* you can run this command:
```bash
kitty @ set-colors -a "~/.config/kitty/kitty-themes/themes/AdventureTime.conf"
```
2. Otherwise you can start another instance of kitty and specify another config
file to read from, this will cause *kitty* to read both its normal config
file and the specified one:
```bash
kitty -o include="~/.config/kitty/kitty-themes/themes/AdventureTime.conf"
```
### Bonus
Try your new theme with one of the scripts in [Color-scripts][color-scripts] with this
one-liner (requires `jq`):
```bash
COLOR_SCRIPT_REPO=https://api.github.com/repos/stark/Color-Scripts/contents/color-scripts
wget -q -O - $(curl -s $COLOR_SCRIPT_REPO | jq '.[] | "\(.path) \(.download_url)"' -r | shuf -n1 | cut -d " " -f2) | bash
```
### 3024 Day
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/3024_Day/preview.png)
### 3024 Night
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/3024_Night/preview.png)
### AdventureTime
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/AdventureTime/preview.png)
### Afterglow
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Afterglow/preview.png)
### AlienBlood
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/AlienBlood/preview.png)
### Alucard
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Alucard/preview.png)
### Apprentice
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Apprentice/preview.png)
### Argonaut
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Argonaut/preview.png)
### Arthur
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Arthur/preview.png)
### AtelierSulphurpool
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/AtelierSulphurpool/preview.png)
### Atom
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Atom/preview.png)
### AtomOneLight
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/AtomOneLight/preview.png)
### ayu
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/ayu/preview.png)
### ayu light
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/ayu_light/preview.png)
### ayu mirage
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/ayu_mirage/preview.png)
### Batman
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Batman/preview.png)
### Belafonte Day
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Belafonte_Day/preview.png)
### Belafonte Night
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Belafonte_Night/preview.png)
### BirdsOfParadise
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/BirdsOfParadise/preview.png)
### Blazer
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Blazer/preview.png)
### Borland
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Borland/preview.png)
### Bright Lights
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Bright_Lights/preview.png)
### Broadcast
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Broadcast/preview.png)
### Brogrammer
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Brogrammer/preview.png)
### C64
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/C64/preview.png)
### Chalk
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Chalk/preview.png)
### Chalkboard
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Chalkboard/preview.png)
### Ciapre
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Ciapre/preview.png)
### CLRS
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/CLRS/preview.png)
### Cobalt2
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Cobalt2/preview.png)
### Cobalt Neon
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Cobalt_Neon/preview.png)
### CrayonPonyFish
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/CrayonPonyFish/preview.png)
### Dark Pastel
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Dark_Pastel/preview.png)
### Darkside
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Darkside/preview.png)
### Desert
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Desert/preview.png)
### DimmedMonokai
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/DimmedMonokai/preview.png)
### DotGov
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/DotGov/preview.png)
### Dracula
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Dracula/preview.png)
### Dumbledore
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Dumbledore/preview.png)
### Duotone Dark
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Duotone_Dark/preview.png)
### Earthsong
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Earthsong/preview.png)
### Elemental
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Elemental/preview.png)
### ENCOM
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/ENCOM/preview.png)
### Espresso
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Espresso/preview.png)
### Espresso Libre
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Espresso_Libre/preview.png)
### Fideloper
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Fideloper/preview.png)
### FishTank
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/FishTank/preview.png)
### Flat
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Flat/preview.png)
### Flatland
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Flatland/preview.png)
### Floraverse
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Floraverse/preview.png)
### FrontEndDelight
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/FrontEndDelight/preview.png)
### FunForrest
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/FunForrest/preview.png)
### Galaxy
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Galaxy/preview.png)
### Github
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Github/preview.png)
### Glacier
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Glacier/preview.png)
### GoaBase
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/GoaBase/preview.png)
### Grape
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Grape/preview.png)
### Grass
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Grass/preview.png)
### gruvbox dark
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/gruvbox_dark/preview.png)
### gruvbox light
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/gruvbox_light/preview.png)
### Hardcore
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Hardcore/preview.png)
### Harper
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Harper/preview.png)
### Highway
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Highway/preview.png)
### Hipster Green
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Hipster_Green/preview.png)
### Homebrew
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Homebrew/preview.png)
### Hurtado
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Hurtado/preview.png)
### Hybrid
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Hybrid/preview.png)
### IC Green PPL
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/IC_Green_PPL/preview.png)
### IC Orange PPL
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/IC_Orange_PPL/preview.png)
### idleToes
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/idleToes/preview.png)
### IR Black
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/IR_Black/preview.png)
### Jackie Brown
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Jackie_Brown/preview.png)
### Japanesque
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Japanesque/preview.png)
### Jellybeans
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Jellybeans/preview.png)
### JetBrains Darcula
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/JetBrains_Darcula/preview.png)
### Kibble
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Kibble/preview.png)
### Later This Evening
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Later_This_Evening/preview.png)
### Lavandula
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Lavandula/preview.png)
### LiquidCarbon
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/LiquidCarbon/preview.png)
### LiquidCarbonTransparent
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/LiquidCarbonTransparent/preview.png)
### LiquidCarbonTransparentInverse
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/LiquidCarbonTransparentInverse/preview.png)
### Man Page
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Man_Page/preview.png)
### Material
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Material/preview.png)
### MaterialDark
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/MaterialDark/preview.png)
### Mathias
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Mathias/preview.png)
### Medallion
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Medallion/preview.png)
### Misterioso
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Misterioso/preview.png)
### Molokai
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Molokai/preview.png)
### MonaLisa
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/MonaLisa/preview.png)
### Monokai Classic
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Monokai_Classic/preview.png)
### Monokai Pro
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Monokai_Pro/preview.png)
### Monokai Pro (Filter Machine)
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Monokai_Pro_(Filter_Machine)/preview.png)
### Monokai Pro (Filter Octagon)
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Monokai_Pro_(Filter_Octagon)/preview.png)
### Monokai Pro (Filter Ristretto)
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Monokai_Pro_(Filter_Ristretto)/preview.png)
### Monokai Pro (Filter Spectrum)
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Monokai_Pro_(Filter_Spectrum)/preview.png)
### Monokai Soda
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Monokai_Soda/preview.png)
### N0tch2k
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/N0tch2k/preview.png)
### Neopolitan
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Neopolitan/preview.png)
### Neutron
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Neutron/preview.png)
### NightLion v1
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/NightLion_v1/preview.png)
### NightLion v2
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/NightLion_v2/preview.png)
### Nova
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Nova/preview.png)
### Novel
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Novel/preview.png)
### Obsidian
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Obsidian/preview.png)
### Ocean
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Ocean/preview.png)
### OceanicMaterial
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/OceanicMaterial/preview.png)
### Ollie
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Ollie/preview.png)
### OneDark
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/OneDark/preview.png)
### Parasio Dark
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Parasio_Dark/preview.png)
### PaulMillr
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/PaulMillr/preview.png)
### PencilDark
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/PencilDark/preview.png)
### PencilLight
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/PencilLight/preview.png)
### Piatto Light
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Piatto_Light/preview.png)
### Pnevma
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Pnevma/preview.png)
### Pro
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Pro/preview.png)
### Red Alert
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Red_Alert/preview.png)
### Red Sands
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Red_Sands/preview.png)
### Relaxed Afterglow
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Relaxed_Afterglow/preview.png)
### Renault Style
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Renault_Style/preview.png)
### Renault Style Light
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Renault_Style_Light/preview.png)
### Rippedcasts
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Rippedcasts/preview.png)
### Royal
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Royal/preview.png)
### Seafoam Pastel
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Seafoam_Pastel/preview.png)
### SeaShells
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/SeaShells/preview.png)
### Seti
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Seti/preview.png)
### Shaman
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Shaman/preview.png)
### Slate
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Slate/preview.png)
### Smyck
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Smyck/preview.png)
### snazzy
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/snazzy/preview.png)
### SoftServer
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/SoftServer/preview.png)
### Solarized Darcula
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Solarized_Darcula/preview.png)
### Solarized Dark
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Solarized_Dark/preview.png)
### Solarized Dark Higher Contrast
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Solarized_Dark_Higher_Contrast/preview.png)
### Solarized Dark - Patched
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Solarized_Dark_-_Patched/preview.png)
### Solarized Light
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Solarized_Light/preview.png)
### Source Code X
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Source_Code_X/preview.png)
### Spacedust
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Spacedust/preview.png)
### SpaceGray
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/SpaceGray/preview.png)
### SpaceGray Eighties
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/SpaceGray_Eighties/preview.png)
### SpaceGray Eighties Dull
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/SpaceGray_Eighties_Dull/preview.png)
### Spiderman
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Spiderman/preview.png)
### Spring
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Spring/preview.png)
### Square
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Square/preview.png)
### Sundried
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Sundried/preview.png)
### Symfonic
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Symfonic/preview.png)
### Tango Dark
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Tango_Dark/preview.png)
### Tango Light
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Tango_Light/preview.png)
### Teerb
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Teerb/preview.png)
### Thayer Bright
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Thayer_Bright/preview.png)
### The Hulk
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/The_Hulk/preview.png)
### Tomorrow
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Tomorrow/preview.png)
### Tomorrow Night
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Tomorrow_Night/preview.png)
### Tomorrow Night Blue
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Tomorrow_Night_Blue/preview.png)
### Tomorrow Night Bright
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Tomorrow_Night_Bright/preview.png)
### Tomorrow Night Eighties
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Tomorrow_Night_Eighties/preview.png)
### ToyChest
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/ToyChest/preview.png)
### Treehouse
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Treehouse/preview.png)
### Twilight
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Twilight/preview.png)
### Ubuntu
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Ubuntu/preview.png)
### Urple
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Urple/preview.png)
### Vaughn
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Vaughn/preview.png)
### VibrantInk
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/VibrantInk/preview.png)
### WarmNeon
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/WarmNeon/preview.png)
### Wez
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Wez/preview.png)
### WildCherry
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/WildCherry/preview.png)
### Wombat
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Wombat/preview.png)
### Wryan
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Wryan/preview.png)
### Zenburn
![image](https://raw.githubusercontent.com/dexpota/kitty-themes-website/master/previews/Zenburn/preview.png)
## Contributors
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore -->
<table>
<tr>
<td align="center"><a href="http://www.scopatz.com"><b>Anthony Scopatz</b></a><br /><a href="https://github.com/dexpota/kitty-themes/commits?author=scopatz" title="Documentation">📖</a></td>
<td align="center"><a href="https://rckt.cc"><b>RCKT</b></a><br /><a href="#theme-orangecoloured" title="New theme added to the collection">😻</a></td>
<td align="center"><a href="https://github.com/varmanishant"><b>varmanishant</b></a><br /><a href="#theme-varmanishant" title="New theme added to the collection">😻</a></td>
<td align="center"><a href="https://github.com/rlerdorf"><b>Rasmus Lerdorf</b></a><br /><a href="https://github.com/dexpota/kitty-themes/issues?q=author%3Arlerdorf" title="Bug reports">🐛</a> <a href="#ideas-rlerdorf" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://github.com/Luflosi"><b>Luflosi</b></a><br /><a href="#fix-Luflosi" title="Fixed a theme">🛠️</a> <a href="#question-Luflosi" title="Answering Questions">💬</a> <a href="https://github.com/dexpota/kitty-themes/commits?author=Luflosi" title="Documentation">📖</a></td>
<td align="center"><a href="https://holyday.me"><b>Connor Holyday</b></a><br /><a href="#fix-connorholyday" title="Fixed a theme">🛠️</a></td>
<td align="center"><a href="https://github.com/BlueDrink9"><b>BlueDrink9</b></a><br /><a href="https://github.com/dexpota/kitty-themes/issues?q=author%3ABlueDrink9" title="Bug reports">🐛</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/brujoand"><b>Anders Brujordet</b></a><br /><a href="#theme-brujoand" title="New theme added to the collection">😻</a></td>
<td align="center"><a href="http://www.hackouts.com"><b>Rajesh Rajendran</b></a><br /><a href="#fix-rjshrjndrn" title="Fixed a theme">🛠️</a></td>
</tr>
</table>
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

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