From bfe2bcb3c9330648619a5a0d810b35fad565f827 Mon Sep 17 00:00:00 2001 From: Anton Volnuhin Date: Sun, 30 Apr 2023 01:21:51 +0300 Subject: [PATCH] Initial commit --- .../kitty/kitty-themes/CONTRIBUTING.md | 8 + .../kitty/kitty-themes/LICENSE.md | 21 + .../kitty/kitty-themes/README.md | 465 ++++ .../kitty/kitty-themes/dot_all-contributorsrc | 111 + .../kitty/kitty-themes/dot_git/FETCH_HEAD | 1 + .../kitty/kitty-themes/dot_git/HEAD | 1 + .../kitty/kitty-themes/dot_git/ORIG_HEAD | 1 + .../kitty/kitty-themes/dot_git/config | 13 + .../kitty/kitty-themes/dot_git/description | 1 + .../hooks/executable_applypatch-msg.sample | 15 + .../hooks/executable_commit-msg.sample | 24 + .../executable_fsmonitor-watchman.sample | 174 ++ .../hooks/executable_post-update.sample | 8 + .../hooks/executable_pre-applypatch.sample | 14 + .../hooks/executable_pre-commit.sample | 49 + .../hooks/executable_pre-merge-commit.sample | 13 + .../dot_git/hooks/executable_pre-push.sample | 53 + .../hooks/executable_pre-rebase.sample | 169 ++ .../hooks/executable_pre-receive.sample | 24 + .../executable_prepare-commit-msg.sample | 42 + .../hooks/executable_push-to-checkout.sample | 78 + .../dot_git/hooks/executable_update.sample | 128 + .../kitty/kitty-themes/dot_git/index | Bin 0 -> 17251 bytes .../kitty/kitty-themes/dot_git/info/exclude | 6 + .../kitty/kitty-themes/dot_git/logs/HEAD | 2 + .../dot_git/logs/refs/heads/master | 1 + .../dot_git/logs/refs/remotes/origin/HEAD | 1 + .../kitty-themes/dot_git/objects/info/.keep | 0 ...fee61403ac92efcf1e82ad88f0f63217edbe41.idx | Bin 0 -> 6616 bytes ...ee61403ac92efcf1e82ad88f0f63217edbe41.pack | Bin 0 -> 207775 bytes .../kitty/kitty-themes/dot_git/packed-refs | 2 + .../kitty-themes/dot_git/refs/heads/master | 1 + .../dot_git/refs/remotes/origin/HEAD | 1 + .../kitty-themes/dot_git/refs/tags/.keep | 0 .../kitty/kitty-themes/dot_git/shallow | 1 + .../ISSUE_TEMPLATE/theme-request.md | 10 + .../dot_github/PULL_REQUEST_TEMPLATE.md | 9 + .../kitty-themes/dot_github/kitty-themes.jpg | Bin 0 -> 157126 bytes .../kitty/kitty-themes/dot_tools/README.md | 9 + .../kitty/kitty-themes/dot_tools/convert.py | 30 + .../dot_tools/executable_color_table.sh | 26 + .../dot_tools/executable_convert_conf.swift | 57 + .../dot_tools/executable_extract-vscode.sh | 5 + .../dot_tools/executable_generate_conf.sh | 10 + .../executable_generate_theme_preview.sh | 22 + .../executable_generate_themes_previews.sh | 32 + .../dot_tools/executable_libcapture.sh | 23 + .../dot_tools/executable_markdown.sh | 15 + .../dot_tools/executable_previews.sh | 24 + .../dot_tools/executable_windowid.swift | 20 + .../kitty/kitty-themes/dot_tools/palette.py | 91 + .../kitty/kitty-themes/dot_tools/preview.py | 136 + .../kitty-themes/dot_tools/template.conf | 37 + .../kitty-themes/dot_tools/template.conf.j2 | 91 + .../kitty/kitty-themes/themes/3024_Day.conf | 21 + .../kitty/kitty-themes/themes/3024_Night.conf | 21 + .../kitty-themes/themes/AdventureTime.conf | 21 + .../kitty/kitty-themes/themes/Afterglow.conf | 21 + .../kitty/kitty-themes/themes/AlienBlood.conf | 21 + .../kitty/kitty-themes/themes/Alucard.conf | 21 + .../kitty/kitty-themes/themes/Apprentice.conf | 26 + .../kitty/kitty-themes/themes/Argonaut.conf | 21 + .../kitty/kitty-themes/themes/Arthur.conf | 21 + .../themes/AtelierSulphurpool.conf | 21 + .../kitty/kitty-themes/themes/Atom.conf | 21 + .../kitty-themes/themes/AtomOneLight.conf | 21 + .../kitty/kitty-themes/themes/Batman.conf | 21 + .../kitty-themes/themes/Belafonte_Day.conf | 21 + .../kitty-themes/themes/Belafonte_Night.conf | 21 + .../kitty-themes/themes/BirdsOfParadise.conf | 21 + .../kitty/kitty-themes/themes/Blazer.conf | 21 + .../kitty/kitty-themes/themes/Borland.conf | 21 + .../kitty-themes/themes/Bright_Lights.conf | 21 + .../kitty/kitty-themes/themes/Broadcast.conf | 21 + .../kitty/kitty-themes/themes/Brogrammer.conf | 21 + .../kitty/kitty-themes/themes/C64.conf | 21 + .../kitty/kitty-themes/themes/CLRS.conf | 21 + .../kitty/kitty-themes/themes/Chalk.conf | 21 + .../kitty/kitty-themes/themes/Chalkboard.conf | 21 + .../kitty/kitty-themes/themes/Ciapre.conf | 21 + .../kitty/kitty-themes/themes/Cobalt2.conf | 21 + .../kitty-themes/themes/Cobalt_Neon.conf | 21 + .../kitty-themes/themes/CrayonPonyFish.conf | 21 + .../kitty-themes/themes/Dark_Pastel.conf | 21 + .../kitty/kitty-themes/themes/Darkside.conf | 21 + .../kitty/kitty-themes/themes/Desert.conf | 21 + .../kitty-themes/themes/DimmedMonokai.conf | 21 + .../kitty/kitty-themes/themes/DotGov.conf | 21 + .../kitty/kitty-themes/themes/Dracula.conf | 21 + .../kitty/kitty-themes/themes/Dumbledore.conf | 21 + .../kitty-themes/themes/Duotone_Dark.conf | 21 + .../kitty/kitty-themes/themes/ENCOM.conf | 21 + .../kitty/kitty-themes/themes/Earthsong.conf | 21 + .../kitty/kitty-themes/themes/Elemental.conf | 21 + .../kitty/kitty-themes/themes/Espresso.conf | 27 + .../kitty-themes/themes/Espresso_Libre.conf | 21 + .../kitty/kitty-themes/themes/Fideloper.conf | 21 + .../kitty/kitty-themes/themes/FishTank.conf | 21 + .../kitty/kitty-themes/themes/Flat.conf | 21 + .../kitty/kitty-themes/themes/Flatland.conf | 21 + .../kitty/kitty-themes/themes/Floraverse.conf | 21 + .../kitty-themes/themes/FrontEndDelight.conf | 21 + .../kitty/kitty-themes/themes/FunForrest.conf | 21 + .../kitty/kitty-themes/themes/Galaxy.conf | 21 + .../kitty/kitty-themes/themes/Github.conf | 21 + .../kitty/kitty-themes/themes/Glacier.conf | 21 + .../kitty/kitty-themes/themes/GoaBase.conf | 21 + .../kitty/kitty-themes/themes/Grape.conf | 21 + .../kitty/kitty-themes/themes/Grass.conf | 23 + .../kitty/kitty-themes/themes/Hardcore.conf | 21 + .../kitty/kitty-themes/themes/Harper.conf | 21 + .../kitty/kitty-themes/themes/Highway.conf | 21 + .../kitty-themes/themes/Hipster_Green.conf | 21 + .../kitty/kitty-themes/themes/Homebrew.conf | 23 + .../kitty/kitty-themes/themes/Hurtado.conf | 21 + .../kitty/kitty-themes/themes/Hybrid.conf | 21 + .../kitty-themes/themes/IC_Green_PPL.conf | 21 + .../kitty-themes/themes/IC_Orange_PPL.conf | 21 + .../kitty/kitty-themes/themes/IR_Black.conf | 21 + .../kitty-themes/themes/Jackie_Brown.conf | 21 + .../kitty/kitty-themes/themes/Japanesque.conf | 21 + .../kitty/kitty-themes/themes/Jellybeans.conf | 21 + .../themes/JetBrains_Darcula.conf | 21 + .../kitty/kitty-themes/themes/Kibble.conf | 21 + .../themes/Later_This_Evening.conf | 21 + .../kitty/kitty-themes/themes/Lavandula.conf | 21 + .../kitty-themes/themes/LiquidCarbon.conf | 21 + .../themes/LiquidCarbonTransparent.conf | 21 + .../LiquidCarbonTransparentInverse.conf | 21 + .../kitty/kitty-themes/themes/Man_Page.conf | 23 + .../kitty/kitty-themes/themes/Material.conf | 21 + .../kitty-themes/themes/MaterialDark.conf | 21 + .../kitty/kitty-themes/themes/Mathias.conf | 21 + .../kitty/kitty-themes/themes/Medallion.conf | 21 + .../kitty/kitty-themes/themes/Misterioso.conf | 21 + .../kitty/kitty-themes/themes/Molokai.conf | 21 + .../kitty/kitty-themes/themes/MonaLisa.conf | 21 + .../kitty/kitty-themes/themes/Monokai.conf | 41 + .../kitty-themes/themes/Monokai_Classic.conf | 47 + .../kitty-themes/themes/Monokai_Pro.conf | 47 + .../themes/Monokai_Pro_(Filter_Machine).conf | 47 + .../themes/Monokai_Pro_(Filter_Octagon).conf | 47 + .../Monokai_Pro_(Filter_Ristretto).conf | 47 + .../themes/Monokai_Pro_(Filter_Spectrum).conf | 47 + .../kitty-themes/themes/Monokai_Soda.conf | 21 + .../kitty/kitty-themes/themes/N0tch2k.conf | 21 + .../kitty/kitty-themes/themes/Neopolitan.conf | 21 + .../kitty/kitty-themes/themes/Neutron.conf | 21 + .../kitty-themes/themes/NightLion_v1.conf | 21 + .../kitty-themes/themes/NightLion_v2.conf | 21 + .../kitty/kitty-themes/themes/Nova.conf | 21 + .../kitty/kitty-themes/themes/Novel.conf | 23 + .../kitty/kitty-themes/themes/Obsidian.conf | 21 + .../kitty/kitty-themes/themes/Ocean.conf | 23 + .../kitty-themes/themes/OceanicMaterial.conf | 21 + .../kitty/kitty-themes/themes/Ollie.conf | 21 + .../kitty/kitty-themes/themes/OneDark.conf | 25 + .../kitty-themes/themes/Parasio_Dark.conf | 21 + .../kitty/kitty-themes/themes/PaulMillr.conf | 21 + .../kitty/kitty-themes/themes/PencilDark.conf | 21 + .../kitty-themes/themes/PencilLight.conf | 21 + .../kitty-themes/themes/Piatto_Light.conf | 21 + .../kitty/kitty-themes/themes/Pnevma.conf | 21 + .../kitty/kitty-themes/themes/Pro.conf | 23 + .../kitty/kitty-themes/themes/Red_Alert.conf | 21 + .../kitty/kitty-themes/themes/Red_Sands.conf | 23 + .../themes/Relaxed_Afterglow.conf | 25 + .../kitty-themes/themes/Renault_Style.conf | 22 + .../themes/Renault_Style_Light.conf | 21 + .../kitty-themes/themes/Rippedcasts.conf | 21 + .../kitty/kitty-themes/themes/Royal.conf | 21 + .../kitty/kitty-themes/themes/SeaShells.conf | 21 + .../kitty-themes/themes/Seafoam_Pastel.conf | 21 + .../kitty/kitty-themes/themes/Seti.conf | 21 + .../kitty/kitty-themes/themes/Shaman.conf | 21 + .../kitty/kitty-themes/themes/Slate.conf | 21 + .../kitty/kitty-themes/themes/Smyck.conf | 21 + .../kitty/kitty-themes/themes/SoftServer.conf | 21 + .../themes/Solarized_Darcula.conf | 21 + .../kitty-themes/themes/Solarized_Dark.conf | 21 + .../themes/Solarized_Dark_-_Patched.conf | 21 + .../Solarized_Dark_Higher_Contrast.conf | 21 + .../kitty-themes/themes/Solarized_Light.conf | 21 + .../kitty-themes/themes/Source_Code_X.conf | 21 + .../kitty/kitty-themes/themes/SpaceGray.conf | 21 + .../themes/SpaceGray_Eighties.conf | 21 + .../themes/SpaceGray_Eighties_Dull.conf | 21 + .../kitty/kitty-themes/themes/Spacedust.conf | 21 + .../kitty/kitty-themes/themes/Spiderman.conf | 21 + .../kitty/kitty-themes/themes/Spring.conf | 21 + .../kitty/kitty-themes/themes/Square.conf | 21 + .../kitty/kitty-themes/themes/Sundried.conf | 21 + .../kitty/kitty-themes/themes/Symfonic.conf | 21 + .../kitty/kitty-themes/themes/Tango_Dark.conf | 21 + .../kitty-themes/themes/Tango_Light.conf | 21 + .../kitty/kitty-themes/themes/Teerb.conf | 21 + .../kitty-themes/themes/Thayer_Bright.conf | 21 + .../kitty/kitty-themes/themes/The_Hulk.conf | 21 + .../kitty/kitty-themes/themes/Tomorrow.conf | 21 + .../kitty-themes/themes/Tomorrow_Night.conf | 21 + .../themes/Tomorrow_Night_Blue.conf | 21 + .../themes/Tomorrow_Night_Bright.conf | 21 + .../themes/Tomorrow_Night_Eighties.conf | 21 + .../kitty/kitty-themes/themes/ToyChest.conf | 21 + .../kitty/kitty-themes/themes/Treehouse.conf | 21 + .../kitty/kitty-themes/themes/Twilight.conf | 21 + .../kitty/kitty-themes/themes/Ubuntu.conf | 21 + .../kitty/kitty-themes/themes/Urple.conf | 21 + .../kitty/kitty-themes/themes/Vaughn.conf | 21 + .../kitty/kitty-themes/themes/VibrantInk.conf | 21 + .../kitty/kitty-themes/themes/WarmNeon.conf | 21 + .../kitty/kitty-themes/themes/Wez.conf | 21 + .../kitty/kitty-themes/themes/WildCherry.conf | 21 + .../kitty/kitty-themes/themes/Wombat.conf | 21 + .../kitty/kitty-themes/themes/Wryan.conf | 21 + .../kitty/kitty-themes/themes/Zenburn.conf | 25 + .../kitty/kitty-themes/themes/ayu.conf | 21 + .../kitty/kitty-themes/themes/ayu_light.conf | 21 + .../kitty/kitty-themes/themes/ayu_mirage.conf | 21 + .../kitty-themes/themes/gruvbox_dark.conf | 49 + .../kitty-themes/themes/gruvbox_light.conf | 49 + .../kitty/kitty-themes/themes/idleToes.conf | 21 + .../kitty/kitty-themes/themes/snazzy.conf | 46 + private_dot_config/kitty/kitty.conf | 2350 +++++++++++++++++ private_dot_config/kitty/kitty.conf.bak | 2298 ++++++++++++++++ .../kitty/private_current-theme.conf | 21 + private_dot_config/kitty/ssh.conf | 6 + private_dot_config/kitty/symlink_theme.conf | 1 + private_dot_config/kitty/symlink_theme.conf~ | 1 + private_dot_config/kitty/tab_bar.py | 44 + private_dot_config/nvim/init.lua | 71 + private_dot_config/nvim/lazy-lock.json | 11 + .../private_fish/completions/fisher.fish | 7 + .../completions/fzf_configure_bindings.fish | 8 + .../private_fish/completions/hcloud.fish | 177 ++ .../private_fish/completions/jump.fish | 5 + .../private_fish/completions/nvm.fish | 21 + .../private_fish/completions/replay.fish | 3 + .../private_fish/completions/tide.fish | 12 + .../private_fish/conf.d/_tide_init.fish | 41 + .../private_fish/conf.d/abbr_tips.fish | 140 + .../private_fish/conf.d/done.fish | 303 +++ .../private_fish/conf.d/fuzzy_cd.fish | 9 + .../private_fish/conf.d/fuzzy_cd_common.fish | 50 + .../private_fish/conf.d/fzf.fish | 28 + .../conf.d/github-copilot-cli.fish | 60 + .../private_fish/conf.d/jump.fish | 4 + .../private_fish/conf.d/nvm.fish | 28 + .../private_fish/conf.d/pisces.fish | 42 + .../conf.d/puffer_fish_key_bindings.fish | 25 + private_dot_config/private_fish/conf.d/z.fish | 63 + private_dot_config/private_fish/config.fish | 88 + private_dot_config/private_fish/dot_DS_Store | Bin 0 -> 6148 bytes private_dot_config/private_fish/fish_plugins | 14 + .../private_fish/fish_variables | 272 ++ .../functions/__abbr_tips_bind_newline.fish | 10 + .../functions/__abbr_tips_bind_space.fish | 11 + .../functions/__abbr_tips_clean.fish | 16 + .../functions/__abbr_tips_init.fish | 24 + .../private_fish/functions/__fuzzy_cd.fish | 94 + .../private_fish/functions/__z.fish | 174 ++ .../private_fish/functions/__z_add.fish | 49 + .../private_fish/functions/__z_clean.fish | 11 + .../private_fish/functions/__z_complete.fish | 13 + .../_fzf_configure_bindings_help.fish | 43 + .../functions/_fzf_extract_var_info.fish | 15 + .../functions/_fzf_preview_changed_file.fish | 49 + .../functions/_fzf_preview_file.fish | 43 + .../functions/_fzf_report_diff_type.fish | 18 + .../functions/_fzf_report_file_type.fish | 6 + .../functions/_fzf_search_directory.fish | 34 + .../functions/_fzf_search_git_log.fish | 30 + .../functions/_fzf_search_git_status.fish | 36 + .../functions/_fzf_search_history.fish | 31 + .../functions/_fzf_search_processes.fish | 29 + .../functions/_fzf_search_variables.fish | 48 + .../private_fish/functions/_fzf_wrapper.fish | 20 + .../functions/_nvm_index_update.fish | 20 + .../private_fish/functions/_nvm_list.fish | 11 + .../functions/_nvm_version_activate.fish | 4 + .../functions/_nvm_version_deactivate.fish | 5 + .../functions/_pisces_append.fish | 5 + .../functions/_pisces_backspace.fish | 17 + .../functions/_pisces_bind_pair.fish | 20 + .../functions/_pisces_complete.fish | 13 + .../functions/_pisces_insert_identical.fish | 8 + .../functions/_pisces_insert_left.fish | 5 + .../functions/_pisces_insert_right.fish | 7 + .../private_fish/functions/_pisces_jump.fish | 8 + .../functions/_pisces_lookup.fish | 14 + .../functions/_pisces_remove.fish | 18 + .../functions/_pisces_should_insert.fish | 11 + .../private_fish/functions/_pisces_skip.fish | 12 + .../functions/_puffer_fish_expand_bang.fish | 10 + .../functions/_puffer_fish_expand_dots.fish | 16 + .../_puffer_fish_expand_lastarg.fish | 9 + .../functions/_tide_1_line_prompt.fish | 19 + .../functions/_tide_2_line_prompt.fish | 31 + .../functions/_tide_cache_variables.fish | 17 + .../functions/_tide_detect_os.fish | 75 + .../functions/_tide_find_and_remove.fish | 3 + .../functions/_tide_item_aws.fish | 11 + .../functions/_tide_item_character.fish | 17 + .../functions/_tide_item_chruby.fish | 3 + .../functions/_tide_item_cmd_duration.fish | 12 + .../functions/_tide_item_context.fish | 15 + .../functions/_tide_item_crystal.fish | 4 + .../functions/_tide_item_docker.fish | 5 + .../functions/_tide_item_git.fish | 67 + .../private_fish/functions/_tide_item_go.fish | 4 + .../functions/_tide_item_java.fish | 4 + .../functions/_tide_item_jobs.fish | 3 + .../functions/_tide_item_kubectl.fish | 4 + .../functions/_tide_item_nix_shell.fish | 3 + .../functions/_tide_item_node.fish | 4 + .../private_fish/functions/_tide_item_os.fish | 3 + .../functions/_tide_item_php.fish | 4 + .../functions/_tide_item_private_mode.fish | 3 + .../functions/_tide_item_rustc.fish | 4 + .../functions/_tide_item_shlvl.fish | 4 + .../functions/_tide_item_status.fish | 15 + .../functions/_tide_item_terraform.fish | 6 + .../functions/_tide_item_time.fish | 3 + .../functions/_tide_item_toolbox.fish | 3 + .../functions/_tide_item_vi_mode.fish | 16 + .../functions/_tide_item_virtual_env.fish | 11 + .../functions/_tide_parent_dirs.fish | 7 + .../functions/_tide_print_item.fish | 22 + .../private_fish/functions/_tide_pwd.fish | 37 + .../_tide_remove_unusable_items.fish | 21 + .../functions/_tide_sub_bug-report.fish | 73 + .../functions/_tide_sub_configure.fish | 95 + .../private_fish/functions/cless.fish | 10 + .../private_fish/functions/fcd_ffdir.fish | 92 + .../private_fish/functions/fcd_ffmark.fish | 50 + .../private_fish/functions/fcd_jump.fish | 155 ++ .../private_fish/functions/fcd_shortest.fish | 19 + .../private_fish/functions/fcd_warn.fish | 27 + .../functions/fish_mode_prompt.fish | 1 + .../private_fish/functions/fish_prompt.fish | 90 + .../private_fish/functions/fisher.fish | 240 ++ .../functions/fzf_configure_bindings.fish | 46 + .../private_fish/functions/jump.fish | 11 + .../private_fish/functions/man.fish | 21 + .../private_fish/functions/mark.fish | 22 + .../private_fish/functions/marks.fish | 30 + .../private_fish/functions/nvm.fish | 230 ++ .../private_fish/functions/replay.fish | 48 + .../private_fish/functions/sgpt_alias.fish | 17 + .../private_fish/functions/tide.fish | 27 + .../tide/configure/choices/all/finish.fish | 33 + .../tide/configure/choices/all/icons.fish | 33 + .../configure/choices/all/prompt_colors.fish | 26 + .../choices/all/prompt_connection.fish | 28 + .../prompt_connection_andor_frame_color.fish | 36 + .../configure/choices/all/prompt_spacing.fish | 21 + .../tide/configure/choices/all/show_time.fish | 31 + .../tide/configure/choices/all/style.fish | 57 + .../choices/classic/classic_prompt_color.fish | 38 + .../classic/classic_prompt_separators.fish | 40 + .../choices/lean/lean_prompt_height.fish | 26 + .../powerline/powerline_prompt_frame.fish | 46 + .../powerline/powerline_prompt_heads.fish | 40 + .../powerline/powerline_prompt_height.fish | 30 + .../powerline/powerline_prompt_tails.fish | 48 + .../rainbow/rainbow_prompt_separators.fish | 40 + .../tide/configure/configs/classic.fish | 133 + .../configure/configs/classic_16color.fish | 75 + .../tide/configure/configs/lean.fish | 133 + .../tide/configure/configs/lean_16color.fish | 75 + .../tide/configure/configs/rainbow.fish | 133 + .../configure/configs/rainbow_16color.fish | 79 + .../functions/_fake_tide_cache_variables.fish | 41 + .../functions/_fake_tide_item_character.fish | 5 + .../_fake_tide_item_cmd_duration.fish | 3 + .../functions/_fake_tide_item_git.fish | 3 + .../functions/_fake_tide_item_newline.fish | 5 + .../functions/_fake_tide_item_os.fish | 3 + .../functions/_fake_tide_item_time.fish | 3 + .../functions/_fake_tide_print_item.fish | 22 + .../functions/_fake_tide_prompt.fish | 42 + .../configure/functions/_fake_tide_pwd.fish | 11 + .../private_fish/functions/unmark.fish | 13 + .../private_empty_fishd.tmp.q9Avi3 | 0 .../private_fish/private_fishd.tmp.n4Mgms | 274 ++ private_dot_config/private_fish/themes/.keep | 0 386 files changed, 16529 insertions(+) create mode 100644 private_dot_config/kitty/kitty-themes/CONTRIBUTING.md create mode 100644 private_dot_config/kitty/kitty-themes/LICENSE.md create mode 100644 private_dot_config/kitty/kitty-themes/README.md create mode 100644 private_dot_config/kitty/kitty-themes/dot_all-contributorsrc create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/FETCH_HEAD create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/HEAD create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/ORIG_HEAD create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/config create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/description create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_applypatch-msg.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_commit-msg.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_fsmonitor-watchman.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_post-update.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-applypatch.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-commit.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-merge-commit.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-push.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-rebase.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-receive.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_prepare-commit-msg.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_push-to-checkout.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_update.sample create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/index create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/info/exclude create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/logs/HEAD create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/logs/refs/heads/master create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/logs/refs/remotes/origin/HEAD create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/objects/info/.keep create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/objects/pack/readonly_pack-68fee61403ac92efcf1e82ad88f0f63217edbe41.idx create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/objects/pack/readonly_pack-68fee61403ac92efcf1e82ad88f0f63217edbe41.pack create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/packed-refs create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/refs/heads/master create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/refs/remotes/origin/HEAD create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/refs/tags/.keep create mode 100644 private_dot_config/kitty/kitty-themes/dot_git/shallow create mode 100644 private_dot_config/kitty/kitty-themes/dot_github/ISSUE_TEMPLATE/theme-request.md create mode 100644 private_dot_config/kitty/kitty-themes/dot_github/PULL_REQUEST_TEMPLATE.md create mode 100644 private_dot_config/kitty/kitty-themes/dot_github/kitty-themes.jpg create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/README.md create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/convert.py create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/executable_color_table.sh create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/executable_convert_conf.swift create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/executable_extract-vscode.sh create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_conf.sh create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_theme_preview.sh create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_themes_previews.sh create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/executable_libcapture.sh create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/executable_markdown.sh create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/executable_previews.sh create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/executable_windowid.swift create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/palette.py create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/preview.py create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/template.conf create mode 100644 private_dot_config/kitty/kitty-themes/dot_tools/template.conf.j2 create mode 100644 private_dot_config/kitty/kitty-themes/themes/3024_Day.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/3024_Night.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/AdventureTime.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Afterglow.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/AlienBlood.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Alucard.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Apprentice.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Argonaut.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Arthur.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/AtelierSulphurpool.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Atom.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/AtomOneLight.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Batman.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Belafonte_Day.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Belafonte_Night.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/BirdsOfParadise.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Blazer.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Borland.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Bright_Lights.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Broadcast.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Brogrammer.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/C64.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/CLRS.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Chalk.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Chalkboard.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Ciapre.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Cobalt2.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Cobalt_Neon.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/CrayonPonyFish.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Dark_Pastel.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Darkside.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Desert.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/DimmedMonokai.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/DotGov.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Dracula.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Dumbledore.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Duotone_Dark.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/ENCOM.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Earthsong.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Elemental.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Espresso.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Espresso_Libre.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Fideloper.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/FishTank.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Flat.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Flatland.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Floraverse.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/FrontEndDelight.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/FunForrest.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Galaxy.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Github.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Glacier.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/GoaBase.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Grape.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Grass.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Hardcore.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Harper.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Highway.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Hipster_Green.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Homebrew.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Hurtado.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Hybrid.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/IC_Green_PPL.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/IC_Orange_PPL.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/IR_Black.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Jackie_Brown.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Japanesque.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Jellybeans.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/JetBrains_Darcula.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Kibble.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Later_This_Evening.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Lavandula.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/LiquidCarbon.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/LiquidCarbonTransparent.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/LiquidCarbonTransparentInverse.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Man_Page.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Material.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/MaterialDark.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Mathias.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Medallion.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Misterioso.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Molokai.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/MonaLisa.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Monokai.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Monokai_Classic.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Monokai_Pro.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Machine).conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Octagon).conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Ristretto).conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Spectrum).conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Monokai_Soda.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/N0tch2k.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Neopolitan.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Neutron.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/NightLion_v1.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/NightLion_v2.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Nova.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Novel.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Obsidian.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Ocean.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/OceanicMaterial.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Ollie.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/OneDark.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Parasio_Dark.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/PaulMillr.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/PencilDark.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/PencilLight.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Piatto_Light.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Pnevma.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Pro.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Red_Alert.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Red_Sands.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Relaxed_Afterglow.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Renault_Style.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Renault_Style_Light.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Rippedcasts.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Royal.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/SeaShells.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Seafoam_Pastel.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Seti.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Shaman.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Slate.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Smyck.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/SoftServer.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Solarized_Darcula.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Solarized_Dark.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Solarized_Dark_-_Patched.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Solarized_Dark_Higher_Contrast.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Solarized_Light.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Source_Code_X.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/SpaceGray.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/SpaceGray_Eighties.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/SpaceGray_Eighties_Dull.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Spacedust.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Spiderman.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Spring.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Square.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Sundried.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Symfonic.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Tango_Dark.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Tango_Light.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Teerb.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Thayer_Bright.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/The_Hulk.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Tomorrow.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Blue.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Bright.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Eighties.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/ToyChest.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Treehouse.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Twilight.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Ubuntu.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Urple.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Vaughn.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/VibrantInk.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/WarmNeon.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Wez.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/WildCherry.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Wombat.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Wryan.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/Zenburn.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/ayu.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/ayu_light.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/ayu_mirage.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/gruvbox_dark.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/gruvbox_light.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/idleToes.conf create mode 100644 private_dot_config/kitty/kitty-themes/themes/snazzy.conf create mode 100644 private_dot_config/kitty/kitty.conf create mode 100644 private_dot_config/kitty/kitty.conf.bak create mode 100644 private_dot_config/kitty/private_current-theme.conf create mode 100644 private_dot_config/kitty/ssh.conf create mode 100644 private_dot_config/kitty/symlink_theme.conf create mode 100644 private_dot_config/kitty/symlink_theme.conf~ create mode 100644 private_dot_config/kitty/tab_bar.py create mode 100644 private_dot_config/nvim/init.lua create mode 100644 private_dot_config/nvim/lazy-lock.json create mode 100644 private_dot_config/private_fish/completions/fisher.fish create mode 100644 private_dot_config/private_fish/completions/fzf_configure_bindings.fish create mode 100644 private_dot_config/private_fish/completions/hcloud.fish create mode 100644 private_dot_config/private_fish/completions/jump.fish create mode 100644 private_dot_config/private_fish/completions/nvm.fish create mode 100644 private_dot_config/private_fish/completions/replay.fish create mode 100644 private_dot_config/private_fish/completions/tide.fish create mode 100644 private_dot_config/private_fish/conf.d/_tide_init.fish create mode 100644 private_dot_config/private_fish/conf.d/abbr_tips.fish create mode 100644 private_dot_config/private_fish/conf.d/done.fish create mode 100644 private_dot_config/private_fish/conf.d/fuzzy_cd.fish create mode 100644 private_dot_config/private_fish/conf.d/fuzzy_cd_common.fish create mode 100644 private_dot_config/private_fish/conf.d/fzf.fish create mode 100644 private_dot_config/private_fish/conf.d/github-copilot-cli.fish create mode 100644 private_dot_config/private_fish/conf.d/jump.fish create mode 100644 private_dot_config/private_fish/conf.d/nvm.fish create mode 100644 private_dot_config/private_fish/conf.d/pisces.fish create mode 100644 private_dot_config/private_fish/conf.d/puffer_fish_key_bindings.fish create mode 100644 private_dot_config/private_fish/conf.d/z.fish create mode 100644 private_dot_config/private_fish/config.fish create mode 100644 private_dot_config/private_fish/dot_DS_Store create mode 100644 private_dot_config/private_fish/fish_plugins create mode 100644 private_dot_config/private_fish/fish_variables create mode 100644 private_dot_config/private_fish/functions/__abbr_tips_bind_newline.fish create mode 100644 private_dot_config/private_fish/functions/__abbr_tips_bind_space.fish create mode 100644 private_dot_config/private_fish/functions/__abbr_tips_clean.fish create mode 100644 private_dot_config/private_fish/functions/__abbr_tips_init.fish create mode 100644 private_dot_config/private_fish/functions/__fuzzy_cd.fish create mode 100644 private_dot_config/private_fish/functions/__z.fish create mode 100644 private_dot_config/private_fish/functions/__z_add.fish create mode 100644 private_dot_config/private_fish/functions/__z_clean.fish create mode 100644 private_dot_config/private_fish/functions/__z_complete.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_configure_bindings_help.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_extract_var_info.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_preview_changed_file.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_preview_file.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_report_diff_type.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_report_file_type.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_search_directory.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_search_git_log.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_search_git_status.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_search_history.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_search_processes.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_search_variables.fish create mode 100644 private_dot_config/private_fish/functions/_fzf_wrapper.fish create mode 100644 private_dot_config/private_fish/functions/_nvm_index_update.fish create mode 100644 private_dot_config/private_fish/functions/_nvm_list.fish create mode 100644 private_dot_config/private_fish/functions/_nvm_version_activate.fish create mode 100644 private_dot_config/private_fish/functions/_nvm_version_deactivate.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_append.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_backspace.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_bind_pair.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_complete.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_insert_identical.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_insert_left.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_insert_right.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_jump.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_lookup.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_remove.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_should_insert.fish create mode 100644 private_dot_config/private_fish/functions/_pisces_skip.fish create mode 100644 private_dot_config/private_fish/functions/_puffer_fish_expand_bang.fish create mode 100644 private_dot_config/private_fish/functions/_puffer_fish_expand_dots.fish create mode 100644 private_dot_config/private_fish/functions/_puffer_fish_expand_lastarg.fish create mode 100644 private_dot_config/private_fish/functions/_tide_1_line_prompt.fish create mode 100644 private_dot_config/private_fish/functions/_tide_2_line_prompt.fish create mode 100644 private_dot_config/private_fish/functions/_tide_cache_variables.fish create mode 100644 private_dot_config/private_fish/functions/_tide_detect_os.fish create mode 100644 private_dot_config/private_fish/functions/_tide_find_and_remove.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_aws.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_character.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_chruby.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_cmd_duration.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_context.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_crystal.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_docker.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_git.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_go.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_java.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_jobs.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_kubectl.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_nix_shell.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_node.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_os.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_php.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_private_mode.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_rustc.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_shlvl.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_status.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_terraform.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_time.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_toolbox.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_vi_mode.fish create mode 100644 private_dot_config/private_fish/functions/_tide_item_virtual_env.fish create mode 100644 private_dot_config/private_fish/functions/_tide_parent_dirs.fish create mode 100644 private_dot_config/private_fish/functions/_tide_print_item.fish create mode 100644 private_dot_config/private_fish/functions/_tide_pwd.fish create mode 100644 private_dot_config/private_fish/functions/_tide_remove_unusable_items.fish create mode 100644 private_dot_config/private_fish/functions/_tide_sub_bug-report.fish create mode 100644 private_dot_config/private_fish/functions/_tide_sub_configure.fish create mode 100644 private_dot_config/private_fish/functions/cless.fish create mode 100644 private_dot_config/private_fish/functions/fcd_ffdir.fish create mode 100644 private_dot_config/private_fish/functions/fcd_ffmark.fish create mode 100644 private_dot_config/private_fish/functions/fcd_jump.fish create mode 100644 private_dot_config/private_fish/functions/fcd_shortest.fish create mode 100644 private_dot_config/private_fish/functions/fcd_warn.fish create mode 100644 private_dot_config/private_fish/functions/fish_mode_prompt.fish create mode 100644 private_dot_config/private_fish/functions/fish_prompt.fish create mode 100644 private_dot_config/private_fish/functions/fisher.fish create mode 100644 private_dot_config/private_fish/functions/fzf_configure_bindings.fish create mode 100644 private_dot_config/private_fish/functions/jump.fish create mode 100644 private_dot_config/private_fish/functions/man.fish create mode 100644 private_dot_config/private_fish/functions/mark.fish create mode 100644 private_dot_config/private_fish/functions/marks.fish create mode 100644 private_dot_config/private_fish/functions/nvm.fish create mode 100644 private_dot_config/private_fish/functions/replay.fish create mode 100644 private_dot_config/private_fish/functions/sgpt_alias.fish create mode 100644 private_dot_config/private_fish/functions/tide.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/all/finish.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/all/icons.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/all/prompt_colors.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/all/prompt_connection.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/all/prompt_spacing.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/all/show_time.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/all/style.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/classic/classic_prompt_color.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/classic/classic_prompt_separators.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/lean/lean_prompt_height.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/powerline/powerline_prompt_frame.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/powerline/powerline_prompt_heads.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/powerline/powerline_prompt_height.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/powerline/powerline_prompt_tails.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/choices/rainbow/rainbow_prompt_separators.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/configs/classic.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/configs/classic_16color.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/configs/lean.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/configs/lean_16color.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/configs/rainbow.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/configs/rainbow_16color.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/functions/_fake_tide_cache_variables.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/functions/_fake_tide_item_character.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/functions/_fake_tide_item_cmd_duration.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/functions/_fake_tide_item_git.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/functions/_fake_tide_item_newline.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/functions/_fake_tide_item_os.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/functions/_fake_tide_item_time.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/functions/_fake_tide_print_item.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/functions/_fake_tide_prompt.fish create mode 100644 private_dot_config/private_fish/functions/tide/configure/functions/_fake_tide_pwd.fish create mode 100644 private_dot_config/private_fish/functions/unmark.fish create mode 100644 private_dot_config/private_fish/private_empty_fishd.tmp.q9Avi3 create mode 100644 private_dot_config/private_fish/private_fishd.tmp.n4Mgms create mode 100644 private_dot_config/private_fish/themes/.keep diff --git a/private_dot_config/kitty/kitty-themes/CONTRIBUTING.md b/private_dot_config/kitty/kitty-themes/CONTRIBUTING.md new file mode 100644 index 0000000..fed9d6d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/CONTRIBUTING.md @@ -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; diff --git a/private_dot_config/kitty/kitty-themes/LICENSE.md b/private_dot_config/kitty/kitty-themes/LICENSE.md new file mode 100644 index 0000000..50fa549 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Fabrizio Destro + +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. diff --git a/private_dot_config/kitty/kitty-themes/README.md b/private_dot_config/kitty/kitty-themes/README.md new file mode 100644 index 0000000..5fb8cbe --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/README.md @@ -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)): + + + + + + + + + + + + + + + + + +
Anthony Scopatz
📖
RCKT
😻
varmanishant
😻
Rasmus Lerdorf
🐛 🤔
Luflosi
🛠️ 💬 📖
Connor Holyday
🛠️
BlueDrink9
🐛
Anders Brujordet
😻
Rajesh Rajendran
🛠️
+ + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! diff --git a/private_dot_config/kitty/kitty-themes/dot_all-contributorsrc b/private_dot_config/kitty/kitty-themes/dot_all-contributorsrc new file mode 100644 index 0000000..c990c95 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_all-contributorsrc @@ -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": "\"><%= contributor.name %>
<%= 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" +} diff --git a/private_dot_config/kitty/kitty-themes/dot_git/FETCH_HEAD b/private_dot_config/kitty/kitty-themes/dot_git/FETCH_HEAD new file mode 100644 index 0000000..0b158b9 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/FETCH_HEAD @@ -0,0 +1 @@ +b1abdd54ba655ef34f75a568d78625981bf1722c branch 'master' of https://github.com/dexpota/kitty-themes diff --git a/private_dot_config/kitty/kitty-themes/dot_git/HEAD b/private_dot_config/kitty/kitty-themes/dot_git/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/private_dot_config/kitty/kitty-themes/dot_git/ORIG_HEAD b/private_dot_config/kitty/kitty-themes/dot_git/ORIG_HEAD new file mode 100644 index 0000000..720cc4e --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/ORIG_HEAD @@ -0,0 +1 @@ +b1abdd54ba655ef34f75a568d78625981bf1722c diff --git a/private_dot_config/kitty/kitty-themes/dot_git/config b/private_dot_config/kitty/kitty-themes/dot_git/config new file mode 100644 index 0000000..0a1e8f5 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/config @@ -0,0 +1,13 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/dexpota/kitty-themes.git + fetch = +refs/heads/master:refs/remotes/origin/master +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/private_dot_config/kitty/kitty-themes/dot_git/description b/private_dot_config/kitty/kitty-themes/dot_git/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_applypatch-msg.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_applypatch-msg.sample new file mode 100644 index 0000000..a5d7b84 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_commit-msg.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_commit-msg.sample new file mode 100644 index 0000000..b58d118 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_fsmonitor-watchman.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_fsmonitor-watchman.sample new file mode 100644 index 0000000..23e856f --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_post-update.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-applypatch.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-applypatch.sample new file mode 100644 index 0000000..4142082 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-commit.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-commit.sample new file mode 100644 index 0000000..e144712 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-merge-commit.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-merge-commit.sample new file mode 100644 index 0000000..399eab1 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-push.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-push.sample new file mode 100644 index 0000000..4ce688d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-rebase.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-rebase.sample new file mode 100644 index 0000000..6cbef5c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-receive.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-receive.sample new file mode 100644 index 0000000..a1fd29e --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_prepare-commit-msg.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_prepare-commit-msg.sample new file mode 100644 index 0000000..10fa14c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_push-to-checkout.sample b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_push-to-checkout.sample new file mode 100644 index 0000000..af5a0c0 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/hooks/executable_push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/private_dot_config/kitty/kitty-themes/dot_git/index b/private_dot_config/kitty/kitty-themes/dot_git/index new file mode 100644 index 0000000000000000000000000000000000000000..78741b93850ade857bb9ede3d8653d58c4cb85e1 GIT binary patch literal 17251 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 1682104888 +0300 clone: from https://github.com/dexpota/kitty-themes.git +b1abdd54ba655ef34f75a568d78625981bf1722c b1abdd54ba655ef34f75a568d78625981bf1722c Anton Volnuhin 1682298691 +0300 reset: moving to HEAD diff --git a/private_dot_config/kitty/kitty-themes/dot_git/logs/refs/heads/master b/private_dot_config/kitty/kitty-themes/dot_git/logs/refs/heads/master new file mode 100644 index 0000000..eb13b5f --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 b1abdd54ba655ef34f75a568d78625981bf1722c Anton Volnuhin 1682104888 +0300 clone: from https://github.com/dexpota/kitty-themes.git diff --git a/private_dot_config/kitty/kitty-themes/dot_git/logs/refs/remotes/origin/HEAD b/private_dot_config/kitty/kitty-themes/dot_git/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..eb13b5f --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 b1abdd54ba655ef34f75a568d78625981bf1722c Anton Volnuhin 1682104888 +0300 clone: from https://github.com/dexpota/kitty-themes.git diff --git a/private_dot_config/kitty/kitty-themes/dot_git/objects/info/.keep b/private_dot_config/kitty/kitty-themes/dot_git/objects/info/.keep new file mode 100644 index 0000000..e69de29 diff --git a/private_dot_config/kitty/kitty-themes/dot_git/objects/pack/readonly_pack-68fee61403ac92efcf1e82ad88f0f63217edbe41.idx b/private_dot_config/kitty/kitty-themes/dot_git/objects/pack/readonly_pack-68fee61403ac92efcf1e82ad88f0f63217edbe41.idx new file mode 100644 index 0000000000000000000000000000000000000000..2754289d86df41c737a4720e896433872003cfd0 GIT binary patch literal 6616 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 literal 0 HcmV?d00001 diff --git a/private_dot_config/kitty/kitty-themes/dot_git/objects/pack/readonly_pack-68fee61403ac92efcf1e82ad88f0f63217edbe41.pack b/private_dot_config/kitty/kitty-themes/dot_git/objects/pack/readonly_pack-68fee61403ac92efcf1e82ad88f0f63217edbe41.pack new file mode 100644 index 0000000000000000000000000000000000000000..872d365f746f1829c471936643506e589592e9b2 GIT binary patch literal 207775 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 literal 0 HcmV?d00001 diff --git a/private_dot_config/kitty/kitty-themes/dot_git/packed-refs b/private_dot_config/kitty/kitty-themes/dot_git/packed-refs new file mode 100644 index 0000000..945ccc2 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled fully-peeled sorted +b1abdd54ba655ef34f75a568d78625981bf1722c refs/remotes/origin/master diff --git a/private_dot_config/kitty/kitty-themes/dot_git/refs/heads/master b/private_dot_config/kitty/kitty-themes/dot_git/refs/heads/master new file mode 100644 index 0000000..720cc4e --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/refs/heads/master @@ -0,0 +1 @@ +b1abdd54ba655ef34f75a568d78625981bf1722c diff --git a/private_dot_config/kitty/kitty-themes/dot_git/refs/remotes/origin/HEAD b/private_dot_config/kitty/kitty-themes/dot_git/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/private_dot_config/kitty/kitty-themes/dot_git/refs/tags/.keep b/private_dot_config/kitty/kitty-themes/dot_git/refs/tags/.keep new file mode 100644 index 0000000..e69de29 diff --git a/private_dot_config/kitty/kitty-themes/dot_git/shallow b/private_dot_config/kitty/kitty-themes/dot_git/shallow new file mode 100644 index 0000000..720cc4e --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_git/shallow @@ -0,0 +1 @@ +b1abdd54ba655ef34f75a568d78625981bf1722c diff --git a/private_dot_config/kitty/kitty-themes/dot_github/ISSUE_TEMPLATE/theme-request.md b/private_dot_config/kitty/kitty-themes/dot_github/ISSUE_TEMPLATE/theme-request.md new file mode 100644 index 0000000..01cd29c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_github/ISSUE_TEMPLATE/theme-request.md @@ -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 to the collection. +labels: theme request +assignees: dexpota + +--- + +Please, include **theme** in the collection. You can find it here: **url** diff --git a/private_dot_config/kitty/kitty-themes/dot_github/PULL_REQUEST_TEMPLATE.md b/private_dot_config/kitty/kitty-themes/dot_github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ad16793 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_github/PULL_REQUEST_TEMPLATE.md @@ -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 to the collection. +labels: theme request +assignees: dexpota + +--- +Please, include **theme** in the collection. diff --git a/private_dot_config/kitty/kitty-themes/dot_github/kitty-themes.jpg b/private_dot_config/kitty/kitty-themes/dot_github/kitty-themes.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cfc02fe5d5d407d6dd2fa6fa3a2581654cae51cc GIT binary patch literal 157126 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%0A+HfNAOfJ8UPjNo|M`lHaXR1uJ|C6+zo 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 yiY$Axe;9eGvKUpa0nmec{;v literal 0 HcmV?d00001 diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/README.md b/private_dot_config/kitty/kitty-themes/dot_tools/README.md new file mode 100644 index 0000000..7321155 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/README.md @@ -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; diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/convert.py b/private_dot_config/kitty/kitty-themes/dot_tools/convert.py new file mode 100644 index 0000000..3599ddc --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/convert.py @@ -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) diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/executable_color_table.sh b/private_dot_config/kitty/kitty-themes/dot_tools/executable_color_table.sh new file mode 100644 index 0000000..b7b4559 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/executable_color_table.sh @@ -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 diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/executable_convert_conf.swift b/private_dot_config/kitty/kitty-themes/dot_tools/executable_convert_conf.swift new file mode 100644 index 0000000..b023f56 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/executable_convert_conf.swift @@ -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.") +} diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/executable_extract-vscode.sh b/private_dot_config/kitty/kitty-themes/dot_tools/executable_extract-vscode.sh new file mode 100644 index 0000000..71a6930 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/executable_extract-vscode.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +theme=$1 + +jq ".colors | to_entries | map(select(.key | match(\"terminal.*\"))) | map({(.key | gsub(\"\\\\.(?.)\"; .a | ascii_upcase) | ltrimstr(\"terminal\") | sub(\"(?.)\"; .a | ascii_downcase)):.value}) | add" < "$theme" > "terminal/${theme%.*}.json" diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_conf.sh b/private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_conf.sh new file mode 100644 index 0000000..db498b9 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_conf.sh @@ -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 diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_theme_preview.sh b/private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_theme_preview.sh new file mode 100644 index 0000000..040867b --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_theme_preview.sh @@ -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" diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_themes_previews.sh b/private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_themes_previews.sh new file mode 100644 index 0000000..63e5825 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/executable_generate_themes_previews.sh @@ -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 diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/executable_libcapture.sh b/private_dot_config/kitty/kitty-themes/dot_tools/executable_libcapture.sh new file mode 100644 index 0000000..ff51591 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/executable_libcapture.sh @@ -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 +} diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/executable_markdown.sh b/private_dot_config/kitty/kitty-themes/dot_tools/executable_markdown.sh new file mode 100644 index 0000000..0fb08ba --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/executable_markdown.sh @@ -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 diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/executable_previews.sh b/private_dot_config/kitty/kitty-themes/dot_tools/executable_previews.sh new file mode 100644 index 0000000..c39c2c7 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/executable_previews.sh @@ -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 diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/executable_windowid.swift b/private_dot_config/kitty/kitty-themes/dot_tools/executable_windowid.swift new file mode 100644 index 0000000..1dc95e6 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/executable_windowid.swift @@ -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]!)") + } +} diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/palette.py b/private_dot_config/kitty/kitty-themes/dot_tools/palette.py new file mode 100644 index 0000000..f47fd9c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/palette.py @@ -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() diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/preview.py b/private_dot_config/kitty/kitty-themes/dot_tools/preview.py new file mode 100644 index 0000000..c29387a --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/preview.py @@ -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]) diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/template.conf b/private_dot_config/kitty/kitty-themes/dot_tools/template.conf new file mode 100644 index 0000000..0af1722 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/template.conf @@ -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 # diff --git a/private_dot_config/kitty/kitty-themes/dot_tools/template.conf.j2 b/private_dot_config/kitty/kitty-themes/dot_tools/template.conf.j2 new file mode 100644 index 0000000..8ff9450 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/dot_tools/template.conf.j2 @@ -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 %} diff --git a/private_dot_config/kitty/kitty-themes/themes/3024_Day.conf b/private_dot_config/kitty/kitty-themes/themes/3024_Day.conf new file mode 100644 index 0000000..747996a --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/3024_Day.conf @@ -0,0 +1,21 @@ +background #f7f7f7 +foreground #494542 +cursor #494542 +selection_background #a4a1a1 +color0 #090200 +color8 #5b5754 +color1 #da2c20 +color9 #e8bacf +color2 #00a152 +color10 #3a3332 +color3 #fcec02 +color11 #494542 +color4 #00a0e4 +color12 #7f7c7b +color5 #a06994 +color13 #d6d4d3 +color6 #b5e4f4 +color14 #ccab53 +color7 #a4a1a1 +color15 #f7f7f7 +selection_foreground #f7f7f7 diff --git a/private_dot_config/kitty/kitty-themes/themes/3024_Night.conf b/private_dot_config/kitty/kitty-themes/themes/3024_Night.conf new file mode 100644 index 0000000..2543819 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/3024_Night.conf @@ -0,0 +1,21 @@ +background #090200 +foreground #a4a1a1 +cursor #a4a1a1 +selection_background #494542 +color0 #090200 +color8 #5b5754 +color1 #da2c20 +color9 #e8bacf +color2 #00a152 +color10 #3a3332 +color3 #fcec02 +color11 #494542 +color4 #00a0e4 +color12 #7f7c7b +color5 #a06994 +color13 #d6d4d3 +color6 #b5e4f4 +color14 #ccab53 +color7 #a4a1a1 +color15 #f7f7f7 +selection_foreground #090200 diff --git a/private_dot_config/kitty/kitty-themes/themes/AdventureTime.conf b/private_dot_config/kitty/kitty-themes/themes/AdventureTime.conf new file mode 100644 index 0000000..e523a1a --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/AdventureTime.conf @@ -0,0 +1,21 @@ +background #1e1c44 +foreground #f8dbc0 +cursor #eebf37 +selection_background #6f6a4e +color0 #050404 +color8 #4e7bbf +color1 #bc0013 +color9 #fc5e59 +color2 #49b117 +color10 #9dff6e +color3 #e6741d +color11 #efc11a +color4 #0f49c6 +color12 #1896c6 +color5 #665992 +color13 #9a5952 +color6 #6fa497 +color14 #c8f9f3 +color7 #f8dbc0 +color15 #f5f4fb +selection_foreground #1e1c44 diff --git a/private_dot_config/kitty/kitty-themes/themes/Afterglow.conf b/private_dot_config/kitty/kitty-themes/themes/Afterglow.conf new file mode 100644 index 0000000..2df3efd --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Afterglow.conf @@ -0,0 +1,21 @@ +background #202020 +foreground #d0d0d0 +cursor #d0d0d0 +selection_background #303030 +color0 #151515 +color8 #505050 +color1 #ac4142 +color9 #ac4142 +color2 #7e8d50 +color10 #7e8d50 +color3 #e5b566 +color11 #e5b566 +color4 #6c99ba +color12 #6c99ba +color5 #9e4e85 +color13 #9e4e85 +color6 #7dd5cf +color14 #7dd5cf +color7 #d0d0d0 +color15 #f5f5f5 +selection_foreground #202020 diff --git a/private_dot_config/kitty/kitty-themes/themes/AlienBlood.conf b/private_dot_config/kitty/kitty-themes/themes/AlienBlood.conf new file mode 100644 index 0000000..453ea80 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/AlienBlood.conf @@ -0,0 +1,21 @@ +background #0f160f +foreground #637d75 +cursor #73f990 +selection_background #1d4025 +color0 #112615 +color8 #3c4711 +color1 #7f2b26 +color9 #df8008 +color2 #2f7e25 +color10 #18e000 +color3 #707f23 +color11 #bde000 +color4 #2f697f +color12 #00a9df +color5 #47577e +color13 #0058df +color6 #317f76 +color14 #00dfc3 +color7 #647d75 +color15 #73f990 +selection_foreground #0f160f diff --git a/private_dot_config/kitty/kitty-themes/themes/Alucard.conf b/private_dot_config/kitty/kitty-themes/themes/Alucard.conf new file mode 100644 index 0000000..43665fe --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Alucard.conf @@ -0,0 +1,21 @@ +background #222330 +foreground #cef3ff +cursor #ffffff +selection_background #44475a +color0 #000000 +color8 #545454 +color1 #ff5555 +color9 #ff5454 +color2 #fa0074 +color10 #50fa7b +color3 #7f0a1f +color11 #f0fa8b +color4 #3282ff +color12 #1200f8 +color5 #1b3cff +color13 #ff78c5 +color6 #0037fc +color14 #8ae9fc +color7 #bbbbbb +color15 #ffffff +selection_foreground #222330 diff --git a/private_dot_config/kitty/kitty-themes/themes/Apprentice.conf b/private_dot_config/kitty/kitty-themes/themes/Apprentice.conf new file mode 100644 index 0000000..c8c0583 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Apprentice.conf @@ -0,0 +1,26 @@ +# Apprentice by Romain Lafourcade, https://github.com/romainl +# This work is licensed under the terms of the MIT license. +# For a copy, see https://opensource.org/licenses/MIT. + +cursor #c7c7c7 +cursor_text_color #feffff +selection_foreground #3e3e3e +selection_background #c1ddff +foreground #c8c8c8 +background #323232 +color0 #252525 +color8 #555555 +color1 #be7472 +color9 #ff9900 +color2 #709772 +color10 #97bb98 +color3 #989772 +color11 #fefdbc +color4 #7199bc +color12 #9fbdde +color5 #727399 +color13 #989abc +color6 #719899 +color14 #6fbbbc +color7 #7f7f7f +color15 #feffff diff --git a/private_dot_config/kitty/kitty-themes/themes/Argonaut.conf b/private_dot_config/kitty/kitty-themes/themes/Argonaut.conf new file mode 100644 index 0000000..058186e --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Argonaut.conf @@ -0,0 +1,21 @@ +background #0d0f18 +foreground #fffaf3 +cursor #ff0017 +selection_background #002a3a +color0 #222222 +color8 #444444 +color1 #ff000f +color9 #ff273f +color2 #8ce00a +color10 #abe05a +color3 #ffb900 +color11 #ffd141 +color4 #008df8 +color12 #0092ff +color5 #6c43a5 +color13 #9a5feb +color6 #00d7eb +color14 #67ffef +color7 #ffffff +color15 #ffffff +selection_foreground #0d0f18 diff --git a/private_dot_config/kitty/kitty-themes/themes/Arthur.conf b/private_dot_config/kitty/kitty-themes/themes/Arthur.conf new file mode 100644 index 0000000..d3fb520 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Arthur.conf @@ -0,0 +1,21 @@ +background #1c1c1c +foreground #ddeedd +cursor #e2bbef +selection_background #4d4d4d +color0 #3d352a +color8 #554444 +color1 #cd5c5c +color9 #cc5533 +color2 #86af80 +color10 #88aa22 +color3 #e8ae5b +color11 #ffa75d +color4 #6495ed +color12 #87ceeb +color5 #deb887 +color13 #996600 +color6 #b0c4de +color14 #b0c4de +color7 #bbaa99 +color15 #ddccbb +selection_foreground #1c1c1c diff --git a/private_dot_config/kitty/kitty-themes/themes/AtelierSulphurpool.conf b/private_dot_config/kitty/kitty-themes/themes/AtelierSulphurpool.conf new file mode 100644 index 0000000..05674b0 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/AtelierSulphurpool.conf @@ -0,0 +1,21 @@ +background #202745 +foreground #969cb3 +cursor #969cb3 +selection_background #5e6686 +color0 #202745 +color8 #6a7394 +color1 #c84821 +color9 #c76a28 +color2 #ab9639 +color10 #283256 +color3 #c08a2f +color11 #5e6686 +color4 #3d8ed0 +color12 #898ea3 +color5 #6678cc +color13 #dee1f0 +color6 #21a1c8 +color14 #9c6279 +color7 #969cb3 +color15 #f4f7ff +selection_foreground #202745 diff --git a/private_dot_config/kitty/kitty-themes/themes/Atom.conf b/private_dot_config/kitty/kitty-themes/themes/Atom.conf new file mode 100644 index 0000000..091c683 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Atom.conf @@ -0,0 +1,21 @@ +background #161718 +foreground #c4c8c5 +cursor #d0d0d0 +selection_background #444444 +color0 #000000 +color8 #000000 +color1 #fc5ef0 +color9 #fc5ef0 +color2 #86c38a +color10 #94f936 +color3 #ffd6b1 +color11 #f5ffa7 +color4 #85befd +color12 #95cbfe +color5 #b9b5fc +color13 #b9b5fc +color6 #85befd +color14 #85befd +color7 #dfdfdf +color15 #dfdfdf +selection_foreground #161718 diff --git a/private_dot_config/kitty/kitty-themes/themes/AtomOneLight.conf b/private_dot_config/kitty/kitty-themes/themes/AtomOneLight.conf new file mode 100644 index 0000000..056ef3b --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/AtomOneLight.conf @@ -0,0 +1,21 @@ +background #f8f8f8 +foreground #2a2b33 +cursor #bbbbbb +selection_background #ececec +color0 #000000 +color8 #000000 +color1 #de3d35 +color9 #de3d35 +color2 #3e953a +color10 #3e953a +color3 #d2b67b +color11 #d2b67b +color4 #2f5af3 +color12 #2f5af3 +color5 #950095 +color13 #a00095 +color6 #3e953a +color14 #3e953a +color7 #bbbbbb +color15 #ffffff +selection_foreground #f8f8f8 diff --git a/private_dot_config/kitty/kitty-themes/themes/Batman.conf b/private_dot_config/kitty/kitty-themes/themes/Batman.conf new file mode 100644 index 0000000..aef20e8 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Batman.conf @@ -0,0 +1,21 @@ +background #1b1d1e +foreground #6e6e6e +cursor #fcee0b +selection_background #4d4f4c +color0 #1b1d1e +color8 #505354 +color1 #e6db43 +color9 #fff68d +color2 #c8be46 +color10 #fff27c +color3 #f3fd21 +color11 #feed6c +color4 #737074 +color12 #909495 +color5 #737271 +color13 #9a999d +color6 #615f5e +color14 #a2a2a5 +color7 #c5c5be +color15 #dadad5 +selection_foreground #1b1d1e diff --git a/private_dot_config/kitty/kitty-themes/themes/Belafonte_Day.conf b/private_dot_config/kitty/kitty-themes/themes/Belafonte_Day.conf new file mode 100644 index 0000000..56a8796 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Belafonte_Day.conf @@ -0,0 +1,21 @@ +background #d4ccb9 +foreground #45363b +cursor #45363b +selection_background #958b83 +color0 #20111a +color8 #5e5252 +color1 #bd100d +color9 #bd100d +color2 #858062 +color10 #858062 +color3 #e9a448 +color11 #e9a448 +color4 #416978 +color12 #416978 +color5 #96522b +color13 #96522b +color6 #98999c +color14 #98999c +color7 #958b83 +color15 #d4ccb9 +selection_foreground #d4ccb9 diff --git a/private_dot_config/kitty/kitty-themes/themes/Belafonte_Night.conf b/private_dot_config/kitty/kitty-themes/themes/Belafonte_Night.conf new file mode 100644 index 0000000..fc51e9c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Belafonte_Night.conf @@ -0,0 +1,21 @@ +background #20111a +foreground #958b83 +cursor #958b83 +selection_background #45363b +color0 #20111a +color8 #5e5252 +color1 #bd100d +color9 #bd100d +color2 #858062 +color10 #858062 +color3 #e9a448 +color11 #e9a448 +color4 #416978 +color12 #416978 +color5 #96522b +color13 #96522b +color6 #98999c +color14 #98999c +color7 #958b83 +color15 #d4ccb9 +selection_foreground #20111a diff --git a/private_dot_config/kitty/kitty-themes/themes/BirdsOfParadise.conf b/private_dot_config/kitty/kitty-themes/themes/BirdsOfParadise.conf new file mode 100644 index 0000000..df38e80 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/BirdsOfParadise.conf @@ -0,0 +1,21 @@ +background #2a1e1d +foreground #dfdab7 +cursor #573d25 +selection_background #563c27 +color0 #573d25 +color8 #9a6b49 +color1 #be2d26 +color9 #e84526 +color2 #6ba08a +color10 #94d7ba +color3 #e99c29 +color11 #d0d04f +color4 #5a86ac +color12 #b8d3ed +color5 #ab80a6 +color13 #d09dca +color6 #74a5ac +color14 #92ced6 +color7 #dfdab7 +color15 #fff9d4 +selection_foreground #2a1e1d diff --git a/private_dot_config/kitty/kitty-themes/themes/Blazer.conf b/private_dot_config/kitty/kitty-themes/themes/Blazer.conf new file mode 100644 index 0000000..f1dd601 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Blazer.conf @@ -0,0 +1,21 @@ +background #0d1925 +foreground #d9e5f1 +cursor #d9e5f1 +color0 #000000 +color8 #252525 +color1 #b87979 +color9 #dabdbd +color2 #79b879 +color10 #bddabd +color3 #b8b879 +color11 #dadabd +color4 #7979b8 +color12 #bdbdda +color5 #b879b8 +color13 #dabdda +color6 #79b8b8 +color14 #bddada +color7 #d9d9d9 +color15 #ffffff +selection_foreground #0d1925 +selection_background #d9e6f2 diff --git a/private_dot_config/kitty/kitty-themes/themes/Borland.conf b/private_dot_config/kitty/kitty-themes/themes/Borland.conf new file mode 100644 index 0000000..c27cc83 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Borland.conf @@ -0,0 +1,21 @@ +background #0000a3 +foreground #ffff4d +cursor #ffa460 +selection_background #a3a3a3 +color0 #4e4e4e +color8 #7c7c7c +color1 #ff6b60 +color9 #ffb6b0 +color2 #a7ff60 +color10 #ceffab +color3 #ffffb6 +color11 #ffffcb +color4 #96cafd +color12 #b5dcfe +color5 #ff73fd +color13 #ff9cfe +color6 #c6c4fd +color14 #dfdffe +color7 #eeeeee +color15 #ffffff +selection_foreground #0000a3 diff --git a/private_dot_config/kitty/kitty-themes/themes/Bright_Lights.conf b/private_dot_config/kitty/kitty-themes/themes/Bright_Lights.conf new file mode 100644 index 0000000..9b365f4 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Bright_Lights.conf @@ -0,0 +1,21 @@ +background #191919 +foreground #b2c8d6 +cursor #f34a00 +selection_background #b2c8d6 +color0 #191919 +color8 #191919 +color1 #ff355b +color9 #ff355b +color2 #b6e875 +color10 #b6e875 +color3 #ffc150 +color11 #ffc150 +color4 #75d3ff +color12 #75d4ff +color5 #b975e6 +color13 #b975e6 +color6 #6cbeb5 +color14 #6cbeb5 +color7 #c1c8d6 +color15 #c1c8d6 +selection_foreground #191919 diff --git a/private_dot_config/kitty/kitty-themes/themes/Broadcast.conf b/private_dot_config/kitty/kitty-themes/themes/Broadcast.conf new file mode 100644 index 0000000..7844942 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Broadcast.conf @@ -0,0 +1,21 @@ +background #2b2b2b +foreground #e5e1db +cursor #ffffff +selection_background #5a637e +color0 #000000 +color8 #323232 +color1 #da4839 +color9 #ff7b6a +color2 #509f50 +color10 #83d082 +color3 #ffd249 +color11 #ffff7b +color4 #6d9cbd +color12 #9fcef0 +color5 #cfcfff +color13 #ffffff +color6 #6d9cbd +color14 #a0cef0 +color7 #ffffff +color15 #ffffff +selection_foreground #2b2b2b diff --git a/private_dot_config/kitty/kitty-themes/themes/Brogrammer.conf b/private_dot_config/kitty/kitty-themes/themes/Brogrammer.conf new file mode 100644 index 0000000..41cc37b --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Brogrammer.conf @@ -0,0 +1,21 @@ +background #131313 +foreground #d6dae4 +cursor #b9b9b9 +selection_background #1f1f1f +color0 #1f1f1f +color8 #d6dae4 +color1 #f71118 +color9 #de342e +color2 #2cc55d +color10 #1dd260 +color3 #ecb90f +color11 #f2bd09 +color4 #2a84d2 +color12 #0f80d5 +color5 #4e59b7 +color13 #524fb9 +color6 #0f80d5 +color14 #0f7cda +color7 #d6dae4 +color15 #ffffff +selection_foreground #131313 diff --git a/private_dot_config/kitty/kitty-themes/themes/C64.conf b/private_dot_config/kitty/kitty-themes/themes/C64.conf new file mode 100644 index 0000000..70978d5 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/C64.conf @@ -0,0 +1,21 @@ +background #40318d +foreground #7869c4 +cursor #7869c4 +selection_background #7869c4 +color0 #090300 +color8 #000000 +color1 #883932 +color9 #883932 +color2 #55a049 +color10 #55a049 +color3 #bfce72 +color11 #bfce72 +color4 #40318d +color12 #40318d +color5 #8b3f96 +color13 #8a3e95 +color6 #67b6bd +color14 #67b6bd +color7 #ffffff +color15 #f7f7f7 +selection_foreground #40318d diff --git a/private_dot_config/kitty/kitty-themes/themes/CLRS.conf b/private_dot_config/kitty/kitty-themes/themes/CLRS.conf new file mode 100644 index 0000000..ddcb324 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/CLRS.conf @@ -0,0 +1,21 @@ +background #ffffff +foreground #262626 +cursor #6fd2fc +selection_background #6fd2fc +color0 #000000 +color8 #545753 +color1 #f72729 +color9 #fb0416 +color2 #32895c +color10 #2cc631 +color3 #f96f1c +color11 #fcd627 +color4 #125ccf +color12 #156ffe +color5 #9f00bc +color13 #e800b0 +color6 #32c2c0 +color14 #39d5ce +color7 #b2b2b2 +color15 #ededec +selection_foreground #ffffff diff --git a/private_dot_config/kitty/kitty-themes/themes/Chalk.conf b/private_dot_config/kitty/kitty-themes/themes/Chalk.conf new file mode 100644 index 0000000..7051698 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Chalk.conf @@ -0,0 +1,21 @@ +background #2b2c2e +foreground #d2d8d9 +cursor #708183 +selection_background #e3e8ed +color0 #7c8a8f +color8 #888888 +color1 #b23a51 +color9 #f24840 +color2 #789a69 +color10 #80c46f +color3 #b9ab4a +color11 #ffeb62 +color4 #2a7fac +color12 #4095ff +color5 #bc4f5a +color13 #fb5175 +color6 #44a799 +color14 #52ccbd +color7 #d2d8d9 +color15 #d2d8d9 +selection_foreground #2b2c2e diff --git a/private_dot_config/kitty/kitty-themes/themes/Chalkboard.conf b/private_dot_config/kitty/kitty-themes/themes/Chalkboard.conf new file mode 100644 index 0000000..f0b7350 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Chalkboard.conf @@ -0,0 +1,21 @@ +background #29262f +foreground #d9e6f2 +cursor #d9e6f2 +selection_background #073642 +color0 #000000 +color8 #323232 +color1 #c37372 +color9 #dbaaaa +color2 #72c373 +color10 #aadbaa +color3 #c2c372 +color11 #dadbaa +color4 #7372c3 +color12 #aaaadb +color5 #c372c2 +color13 #dbaada +color6 #72c2c3 +color14 #aadadb +color7 #d9d9d9 +color15 #ffffff +selection_foreground #29262f diff --git a/private_dot_config/kitty/kitty-themes/themes/Ciapre.conf b/private_dot_config/kitty/kitty-themes/themes/Ciapre.conf new file mode 100644 index 0000000..2b496fb --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Ciapre.conf @@ -0,0 +1,21 @@ +background #181c27 +foreground #ada37a +cursor #91805a +selection_background #172539 +color0 #181818 +color8 #555555 +color1 #800009 +color9 #ab3834 +color2 #48513b +color10 #a6a65d +color3 #cc8a3e +color11 #dcde7b +color4 #566d8c +color12 #2f97c6 +color5 #724c7c +color13 #d33060 +color6 #5b4f4a +color14 #f3dab1 +color7 #ada37e +color15 #f3f3f3 +selection_foreground #181c27 diff --git a/private_dot_config/kitty/kitty-themes/themes/Cobalt2.conf b/private_dot_config/kitty/kitty-themes/themes/Cobalt2.conf new file mode 100644 index 0000000..3ffcbe2 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Cobalt2.conf @@ -0,0 +1,21 @@ +background #122637 +foreground #ffffff +cursor #f0cb09 +selection_background #18344f +color0 #000000 +color8 #545454 +color1 #ff0000 +color9 #f40d17 +color2 #37dd21 +color10 #3bcf1d +color3 #fee409 +color11 #ecc809 +color4 #1460d2 +color12 #5555ff +color5 #ff005d +color13 #ff55ff +color6 #00bbbb +color14 #6ae3f9 +color7 #bbbbbb +color15 #ffffff +selection_foreground #122637 diff --git a/private_dot_config/kitty/kitty-themes/themes/Cobalt_Neon.conf b/private_dot_config/kitty/kitty-themes/themes/Cobalt_Neon.conf new file mode 100644 index 0000000..02a66e5 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Cobalt_Neon.conf @@ -0,0 +1,21 @@ +background #142838 +foreground #8ff586 +cursor #c4206f +selection_background #084fb0 +color0 #142630 +color8 #fff688 +color1 #ff2320 +color9 #d4312e +color2 #3aa5ff +color10 #8ff586 +color3 #e9e75c +color11 #e9f06d +color4 #8ff586 +color12 #3c7dd2 +color5 #781aa0 +color13 #8230a7 +color6 #8ff586 +color14 #6cbc67 +color7 #ba45b1 +color15 #8ff586 +selection_foreground #142838 diff --git a/private_dot_config/kitty/kitty-themes/themes/CrayonPonyFish.conf b/private_dot_config/kitty/kitty-themes/themes/CrayonPonyFish.conf new file mode 100644 index 0000000..068fab3 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/CrayonPonyFish.conf @@ -0,0 +1,21 @@ +background #140607 +foreground #685259 +cursor #685259 +selection_background #2a1a1c +color0 #2a1a1c +color8 #3c2a2e +color1 #90002a +color9 #c5245c +color2 #579523 +color10 #8dff56 +color3 #aa301b +color11 #c7371d +color4 #8b87af +color12 #cfc9ff +color5 #682e50 +color13 #fb6cb9 +color6 #e8a766 +color14 #ffceae +color7 #685259 +color15 #af949d +selection_foreground #140607 diff --git a/private_dot_config/kitty/kitty-themes/themes/Dark_Pastel.conf b/private_dot_config/kitty/kitty-themes/themes/Dark_Pastel.conf new file mode 100644 index 0000000..15083f7 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Dark_Pastel.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #ffffff +cursor #bbbbbb +selection_background #b5d5ff +color0 #000000 +color8 #545454 +color1 #ff5555 +color9 #ff5555 +color2 #55ff55 +color10 #55ff55 +color3 #ffff55 +color11 #ffff55 +color4 #5555ff +color12 #5555ff +color5 #ff55ff +color13 #ff55ff +color6 #55ffff +color14 #55ffff +color7 #bbbbbb +color15 #ffffff +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Darkside.conf b/private_dot_config/kitty/kitty-themes/themes/Darkside.conf new file mode 100644 index 0000000..10238d1 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Darkside.conf @@ -0,0 +1,21 @@ +background #212324 +foreground #b9b9b9 +cursor #bbbbbb +selection_background #2f3333 +color0 #000000 +color8 #000000 +color1 #e8331c +color9 #df5a4f +color2 #68c156 +color10 #76b768 +color3 #f1d32b +color11 #eed64a +color4 #1c98e8 +color12 #387bd2 +color5 #8e69c8 +color13 #957bbd +color6 #1c98e8 +color14 #3d96e2 +color7 #b9b9b9 +color15 #b9b9b9 +selection_foreground #212324 diff --git a/private_dot_config/kitty/kitty-themes/themes/Desert.conf b/private_dot_config/kitty/kitty-themes/themes/Desert.conf new file mode 100644 index 0000000..5491a97 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Desert.conf @@ -0,0 +1,21 @@ +background #333333 +foreground #ffffff +cursor #00ff00 +selection_background #b5d5ff +color0 #4d4d4d +color8 #545454 +color1 #ff2b2b +color9 #ff5555 +color2 #98fb98 +color10 #55ff55 +color3 #f0e68c +color11 #ffff55 +color4 #cd853f +color12 #87ceff +color5 #ffdead +color13 #ff55ff +color6 #ffa0a0 +color14 #ffd700 +color7 #f5deb3 +color15 #ffffff +selection_foreground #333333 diff --git a/private_dot_config/kitty/kitty-themes/themes/DimmedMonokai.conf b/private_dot_config/kitty/kitty-themes/themes/DimmedMonokai.conf new file mode 100644 index 0000000..99d7a83 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/DimmedMonokai.conf @@ -0,0 +1,21 @@ +background #1e1e1e +foreground #b8bcb9 +cursor #f83d19 +selection_background #292c31 +color0 #3a3c43 +color8 #888987 +color1 #be3e48 +color9 #fb001e +color2 #869a3a +color10 #0e712e +color3 #c4a535 +color11 #c37033 +color4 #4e76a1 +color12 #176ce3 +color5 #855b8d +color13 #fb0067 +color6 #568ea3 +color14 #2d6f6c +color7 #b8bcb9 +color15 #fcffb8 +selection_foreground #1e1e1e diff --git a/private_dot_config/kitty/kitty-themes/themes/DotGov.conf b/private_dot_config/kitty/kitty-themes/themes/DotGov.conf new file mode 100644 index 0000000..345cef9 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/DotGov.conf @@ -0,0 +1,21 @@ +background #252b35 +foreground #eaeaea +cursor #d9002f +selection_background #194080 +color0 #181818 +color8 #181818 +color1 #bf081d +color9 #bf081d +color2 #3d9751 +color10 #3d9751 +color3 #f6bb33 +color11 #f6bb33 +color4 #16b1df +color12 #16b1df +color5 #772fb0 +color13 #772fb0 +color6 #8bd1ed +color14 #8bd1ed +color7 #ffffff +color15 #ffffff +selection_foreground #252b35 diff --git a/private_dot_config/kitty/kitty-themes/themes/Dracula.conf b/private_dot_config/kitty/kitty-themes/themes/Dracula.conf new file mode 100644 index 0000000..9cf0ed6 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Dracula.conf @@ -0,0 +1,21 @@ +background #1e1f28 +foreground #f8f8f2 +cursor #bbbbbb +selection_background #44475a +color0 #000000 +color8 #545454 +color1 #ff5555 +color9 #ff5454 +color2 #50fa7b +color10 #50fa7b +color3 #f0fa8b +color11 #f0fa8b +color4 #bd92f8 +color12 #bd92f8 +color5 #ff78c5 +color13 #ff78c5 +color6 #8ae9fc +color14 #8ae9fc +color7 #bbbbbb +color15 #ffffff +selection_foreground #1e1f28 diff --git a/private_dot_config/kitty/kitty-themes/themes/Dumbledore.conf b/private_dot_config/kitty/kitty-themes/themes/Dumbledore.conf new file mode 100644 index 0000000..c1ef032 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Dumbledore.conf @@ -0,0 +1,21 @@ +background #422553 +foreground #c4c8c5 +cursor #c4c8c5 +selection_background #008aff +color0 #2b283d +color8 #413e53 +color1 #ae0000 +color9 #d3a624 +color2 #3e7c54 +color10 #aaaaaa +color3 #f0c75e +color11 #716254 +color4 #415baf +color12 #946a2c +color5 #9445ae +color13 #b294ba +color6 #008aff +color14 #25de50 +color7 #850000 +color15 #c9c9c9 +selection_foreground #422553 diff --git a/private_dot_config/kitty/kitty-themes/themes/Duotone_Dark.conf b/private_dot_config/kitty/kitty-themes/themes/Duotone_Dark.conf new file mode 100644 index 0000000..4867604 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Duotone_Dark.conf @@ -0,0 +1,21 @@ +background #1f1c27 +foreground #b6a0ff +cursor #ff9738 +selection_background #353146 +color0 #1f1c27 +color8 #353146 +color1 #d8393d +color9 #d8393d +color2 #2dcc72 +color10 #2dcc72 +color3 #d8b76e +color11 #d8b76e +color4 #ffc183 +color12 #ffc183 +color5 #dd8d40 +color13 #dd8d40 +color6 #2388ff +color14 #2388ff +color7 #b6a0ff +color15 #e9e4ff +selection_foreground #1f1c27 diff --git a/private_dot_config/kitty/kitty-themes/themes/ENCOM.conf b/private_dot_config/kitty/kitty-themes/themes/ENCOM.conf new file mode 100644 index 0000000..7afc7ae --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/ENCOM.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #00a595 +cursor #bbbbbb +selection_background #00a48c +color0 #000000 +color8 #545454 +color1 #9f0000 +color9 #ff0000 +color2 #008b00 +color10 #00ee00 +color3 #ffcf00 +color11 #ffff00 +color4 #0081ff +color12 #0000ff +color5 #bc00ca +color13 #ff00ff +color6 #008b8b +color14 #00cdcd +color7 #bbbbbb +color15 #ffffff +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Earthsong.conf b/private_dot_config/kitty/kitty-themes/themes/Earthsong.conf new file mode 100644 index 0000000..50f0da8 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Earthsong.conf @@ -0,0 +1,21 @@ +background #282420 +foreground #e5c6a8 +cursor #f6f6ec +selection_background #111417 +color0 #111417 +color8 #665e54 +color1 #c84134 +color9 #ff6459 +color2 #84c44b +color10 #97e035 +color3 #f4ae2e +color11 #dfd561 +color4 #1397b9 +color12 #5ed9ff +color5 #d0623c +color13 #ff9168 +color6 #4f9452 +color14 #83ef88 +color7 #e5c5a9 +color15 #f6f6ec +selection_foreground #282420 diff --git a/private_dot_config/kitty/kitty-themes/themes/Elemental.conf b/private_dot_config/kitty/kitty-themes/themes/Elemental.conf new file mode 100644 index 0000000..e24a3d3 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Elemental.conf @@ -0,0 +1,21 @@ +background #21211c +foreground #807973 +cursor #facb7f +selection_background #403729 +color0 #3c3b30 +color8 #545444 +color1 #97280f +color9 #df502a +color2 #479942 +color10 #60e06f +color3 #7f7110 +color11 #d69827 +color4 #497f7d +color12 #78d8d8 +color5 #7e4e2e +color13 #cd7c53 +color6 #387f58 +color14 #58d598 +color7 #807974 +color15 #fff1e8 +selection_foreground #21211c diff --git a/private_dot_config/kitty/kitty-themes/themes/Espresso.conf b/private_dot_config/kitty/kitty-themes/themes/Espresso.conf new file mode 100644 index 0000000..373c178 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Espresso.conf @@ -0,0 +1,27 @@ +# Theme ported from the Mac Terminal application. + +background #323232 +foreground #ffffff +cursor #d6d6d6 +selection_background #5b5b5b +selection_foreground #323232 +color0 #353535 +color8 #535353 +color1 #d25252 +color9 #f00c0c +color2 #a4c161 +color10 #c1df74 +color3 #ffc56d +color11 #e1e48a +color4 #6c99ba +color12 #8ab6d9 +color5 #d096d9 +color13 #efb5f7 +color6 #bdd6ff +color14 #dbf4ff +color7 #ededec +color15 #ffffff +active_tab_foreground #ffffff +active_tab_background #535353 +inactive_tab_foreground #ffffff +inactive_tab_background #353535 diff --git a/private_dot_config/kitty/kitty-themes/themes/Espresso_Libre.conf b/private_dot_config/kitty/kitty-themes/themes/Espresso_Libre.conf new file mode 100644 index 0000000..fa042b2 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Espresso_Libre.conf @@ -0,0 +1,21 @@ +background #2a211c +foreground #b8a898 +cursor #ffffff +selection_background #c3dcff +color0 #000000 +color8 #545753 +color1 #cc0000 +color9 #ef2828 +color2 #1a921c +color10 #9aff87 +color3 #efe43a +color11 #fffa5c +color4 #0066ff +color12 #43a8ed +color5 #c5656b +color13 #ff8089 +color6 #05989a +color14 #34e2e2 +color7 #d3d7cf +color15 #ededec +selection_foreground #2a211c diff --git a/private_dot_config/kitty/kitty-themes/themes/Fideloper.conf b/private_dot_config/kitty/kitty-themes/themes/Fideloper.conf new file mode 100644 index 0000000..7e099fc --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Fideloper.conf @@ -0,0 +1,21 @@ +background #282f32 +foreground #dad9df +cursor #d35f5a +selection_background #eeb7ab +color0 #282f32 +color8 #092027 +color1 #ca1d2c +color9 #d35f5a +color2 #edb7ab +color10 #d35f5a +color3 #b7aa9a +color11 #a86571 +color4 #2e78c1 +color12 #7c84c4 +color5 #c0226e +color13 #5b5db2 +color6 #309185 +color14 #81908f +color7 #e9e2cd +color15 #fcf4de +selection_foreground #282f32 diff --git a/private_dot_config/kitty/kitty-themes/themes/FishTank.conf b/private_dot_config/kitty/kitty-themes/themes/FishTank.conf new file mode 100644 index 0000000..dce32a4 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/FishTank.conf @@ -0,0 +1,21 @@ +background #222436 +foreground #eceffd +cursor #fdcd5e +selection_background #fcf6e8 +color0 #03063c +color8 #6c5a30 +color1 #c60049 +color9 #d94a8a +color2 #abf157 +color10 #daffa8 +color3 #fdcd5e +color11 #fee6a8 +color4 #525fb8 +color12 #b1bdf9 +color5 #976f81 +color13 #fda4cc +color6 #968662 +color14 #a4bc86 +color7 #eceffc +color15 #f6ffec +selection_foreground #222436 diff --git a/private_dot_config/kitty/kitty-themes/themes/Flat.conf b/private_dot_config/kitty/kitty-themes/themes/Flat.conf new file mode 100644 index 0000000..036e563 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Flat.conf @@ -0,0 +1,21 @@ +background #002240 +foreground #2bc45d +cursor #e5bd0c +selection_background #782b9c +color0 #212c3e +color8 #202b3b +color1 #a72320 +color9 #d3302e +color2 #32a448 +color10 #2c9440 +color3 #e58d11 +color11 #e5bd0c +color4 #3066ab +color12 #3b7cd2 +color5 #7819a0 +color13 #822fa7 +color6 #2b9270 +color14 #35b286 +color7 #afb6b9 +color15 #e6ecec +selection_foreground #002240 diff --git a/private_dot_config/kitty/kitty-themes/themes/Flatland.conf b/private_dot_config/kitty/kitty-themes/themes/Flatland.conf new file mode 100644 index 0000000..637b72d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Flatland.conf @@ -0,0 +1,21 @@ +background #1c1e20 +foreground #b8daee +cursor #708183 +selection_background #2a2a24 +color0 #1c1d19 +color8 #1c1d19 +color1 #f18238 +color9 #d12a24 +color2 #9ed264 +color10 #a7d32c +color3 #f3ef6d +color11 #ff8948 +color4 #4f96be +color12 #61b8d0 +color5 #695abb +color13 #695abb +color6 #d53864 +color14 #d53864 +color7 #fefffe +color15 #fefffe +selection_foreground #1c1e20 diff --git a/private_dot_config/kitty/kitty-themes/themes/Floraverse.conf b/private_dot_config/kitty/kitty-themes/themes/Floraverse.conf new file mode 100644 index 0000000..6e6a06c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Floraverse.conf @@ -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 diff --git a/private_dot_config/kitty/kitty-themes/themes/FrontEndDelight.conf b/private_dot_config/kitty/kitty-themes/themes/FrontEndDelight.conf new file mode 100644 index 0000000..ccbf0d4 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/FrontEndDelight.conf @@ -0,0 +1,21 @@ +background #1b1b1d +foreground #acacac +cursor #cccccc +selection_background #e96153 +color0 #242426 +color8 #5eac6c +color1 #f8501a +color9 #f64319 +color2 #565746 +color10 #74eb4c +color3 #f9761d +color11 #fcc224 +color4 #2c70b7 +color12 #3393c9 +color5 #f02d4e +color13 #e75e4e +color6 #3ba0a5 +color14 #4ebce5 +color7 #acacac +color15 #8b735a +selection_foreground #1b1b1d diff --git a/private_dot_config/kitty/kitty-themes/themes/FunForrest.conf b/private_dot_config/kitty/kitty-themes/themes/FunForrest.conf new file mode 100644 index 0000000..df8f4ee --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/FunForrest.conf @@ -0,0 +1,21 @@ +background #241200 +foreground #ddc165 +cursor #e5591c +selection_background #e5591c +color0 #000000 +color8 #7e6954 +color1 #d5252b +color9 #e4591b +color2 #909b00 +color10 #bfc659 +color3 #bd8a13 +color11 #ffca1b +color4 #4698a2 +color12 #7cc9ce +color5 #8c4231 +color13 #d16349 +color6 #d98112 +color14 #e6a96b +color7 #ddc165 +color15 #ffe9a3 +selection_foreground #241200 diff --git a/private_dot_config/kitty/kitty-themes/themes/Galaxy.conf b/private_dot_config/kitty/kitty-themes/themes/Galaxy.conf new file mode 100644 index 0000000..fab36a7 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Galaxy.conf @@ -0,0 +1,21 @@ +background #1c2836 +foreground #ffffff +cursor #bbbbbb +selection_background #b4d5ff +color0 #000000 +color8 #545454 +color1 #f9555f +color9 #fa8b8e +color2 #20af89 +color10 #34bb99 +color3 #fdf029 +color11 #ffff55 +color4 #589cf5 +color12 #589cf5 +color5 #934d95 +color13 #e75598 +color6 #1e9ee6 +color14 #3978bb +color7 #bbbbbb +color15 #ffffff +selection_foreground #1c2836 diff --git a/private_dot_config/kitty/kitty-themes/themes/Github.conf b/private_dot_config/kitty/kitty-themes/themes/Github.conf new file mode 100644 index 0000000..22122d7 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Github.conf @@ -0,0 +1,21 @@ +background #f4f4f4 +foreground #3e3e3e +cursor #3f3f3f +selection_background #a9c1e2 +color0 #3e3e3e +color8 #666666 +color1 #970b16 +color9 #de0000 +color2 #07962a +color10 #87d5a2 +color3 #f7edc7 +color11 #f0cf06 +color4 #003e8a +color12 #2e6cba +color5 #e94691 +color13 #ffa29f +color6 #89d1ec +color14 #1cfafe +color7 #ffffff +color15 #ffffff +selection_foreground #f4f4f4 diff --git a/private_dot_config/kitty/kitty-themes/themes/Glacier.conf b/private_dot_config/kitty/kitty-themes/themes/Glacier.conf new file mode 100644 index 0000000..08de697 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Glacier.conf @@ -0,0 +1,21 @@ +background #0c1115 +foreground #ffffff +cursor #6c6c6c +selection_background #bd2523 +color0 #2e343c +color8 #404a55 +color1 #bd0f2f +color9 #bd0f2f +color2 #35a770 +color10 #49e998 +color3 #fb9435 +color11 #fddf6e +color4 #1f5872 +color12 #2a8bc1 +color5 #bd2523 +color13 #ea4727 +color6 #778397 +color14 #a0b6d3 +color7 #ffffff +color15 #ffffff +selection_foreground #0c1115 diff --git a/private_dot_config/kitty/kitty-themes/themes/GoaBase.conf b/private_dot_config/kitty/kitty-themes/themes/GoaBase.conf new file mode 100644 index 0000000..fcc6741 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/GoaBase.conf @@ -0,0 +1,21 @@ +background #2f0033 +foreground #f6ed00 +cursor #1a6500 +selection_background #100a24 +color0 #880041 +color8 #411a6d +color1 #f78000 +color9 #f800e1 +color2 #249000 +color10 #5743ff +color3 #f40000 +color11 #ea00d7 +color4 #000482 +color12 #b90003 +color5 #f43bff +color13 #9a5952 +color6 #3affff +color14 #c8f9f3 +color7 #000000 +color15 #f5f4fb +selection_foreground #2f0033 diff --git a/private_dot_config/kitty/kitty-themes/themes/Grape.conf b/private_dot_config/kitty/kitty-themes/themes/Grape.conf new file mode 100644 index 0000000..38b8a18 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Grape.conf @@ -0,0 +1,21 @@ +background #161423 +foreground #9e9ea0 +cursor #a188f7 +selection_background #483d70 +color0 #2d283e +color8 #58506a +color1 #ec2160 +color9 #f0719a +color2 #1fa91b +color10 #52a95d +color3 #8ddc1f +color11 #b2dc87 +color4 #487cf4 +color12 #a9bbeb +color5 #8c35c8 +color13 #ac81c1 +color6 #3added +color14 #9ce3ea +color7 #9e9ea0 +color15 #a188f7 +selection_foreground #161423 diff --git a/private_dot_config/kitty/kitty-themes/themes/Grass.conf b/private_dot_config/kitty/kitty-themes/themes/Grass.conf new file mode 100644 index 0000000..ef9c321 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Grass.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #12773d +foreground #fff0a4 +cursor #8b2800 +selection_background #b64825 +color0 #000000 +color8 #545454 +color1 #ba0000 +color9 #ba0000 +color2 #00ba00 +color10 #00ba00 +color3 #e6af00 +color11 #e6af00 +color4 #0000a3 +color12 #0000ba +color5 #950062 +color13 #ff54ff +color6 #00baba +color14 #54ffff +color7 #bababa +color15 #ffffff +selection_foreground #12773d diff --git a/private_dot_config/kitty/kitty-themes/themes/Hardcore.conf b/private_dot_config/kitty/kitty-themes/themes/Hardcore.conf new file mode 100644 index 0000000..9af78ea --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Hardcore.conf @@ -0,0 +1,21 @@ +background #121212 +foreground #a0a0a0 +cursor #bbbbbb +selection_background #453a39 +color0 #1b1d1e +color8 #505354 +color1 #f92672 +color9 #ff669d +color2 #a6e22e +color10 #beed5f +color3 #fd971f +color11 #e6db74 +color4 #66d9ef +color12 #66d9ef +color5 #9e6ffe +color13 #9e6ffe +color6 #5e7175 +color14 #a3babf +color7 #ccccc6 +color15 #f8f8f2 +selection_foreground #121212 diff --git a/private_dot_config/kitty/kitty-themes/themes/Harper.conf b/private_dot_config/kitty/kitty-themes/themes/Harper.conf new file mode 100644 index 0000000..2579aac --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Harper.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #a7a39c +cursor #a7a39c +selection_background #5a5753 +color0 #000000 +color8 #716d69 +color1 #f7b63e +color9 #f7b63e +color2 #7fb5e1 +color10 #7fb5e1 +color3 #d6da24 +color11 #d6da24 +color4 #489d48 +color12 #489d48 +color5 #b295c5 +color13 #b295c5 +color6 #f4bed6 +color14 #f4bed6 +color7 #a7a39c +color15 #fefbe9 +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Highway.conf b/private_dot_config/kitty/kitty-themes/themes/Highway.conf new file mode 100644 index 0000000..f0dfa4d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Highway.conf @@ -0,0 +1,21 @@ +background #212224 +foreground #ededed +cursor #dfd9b8 +selection_background #384563 +color0 #000000 +color8 #5c4f49 +color1 #cf0d17 +color9 #ef7d17 +color2 #128033 +color10 #b1d130 +color3 #ffca3d +color11 #fff11f +color4 #006ab3 +color12 #4fc2fd +color5 #6a2674 +color13 #de0070 +color6 #384563 +color14 #5c4f49 +color7 #ededed +color15 #fefffe +selection_foreground #212224 diff --git a/private_dot_config/kitty/kitty-themes/themes/Hipster_Green.conf b/private_dot_config/kitty/kitty-themes/themes/Hipster_Green.conf new file mode 100644 index 0000000..26adfe7 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Hipster_Green.conf @@ -0,0 +1,21 @@ +background #0f0a05 +foreground #84c137 +cursor #23ff18 +selection_background #083905 +color0 #000000 +color8 #666666 +color1 #b6204a +color9 #e50000 +color2 #00a600 +color10 #86a83e +color3 #bebe00 +color11 #e5e500 +color4 #246db2 +color12 #0000ff +color5 #b200b2 +color13 #e500e5 +color6 #00a6b2 +color14 #00e5e5 +color7 #bfbfbf +color15 #e5e5e5 +selection_foreground #0f0a05 diff --git a/private_dot_config/kitty/kitty-themes/themes/Homebrew.conf b/private_dot_config/kitty/kitty-themes/themes/Homebrew.conf new file mode 100644 index 0000000..d96bb72 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Homebrew.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #000000 +foreground #00ff00 +cursor #23ff18 +selection_background #083905 +color0 #000000 +color8 #666666 +color1 #990000 +color9 #e50000 +color2 #00a600 +color10 #00d900 +color3 #999900 +color11 #e5e500 +color4 #0000b2 +color12 #0000ff +color5 #b200b2 +color13 #e500e5 +color6 #00a6b2 +color14 #00e5e5 +color7 #bebebe +color15 #e5e5e5 +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Hurtado.conf b/private_dot_config/kitty/kitty-themes/themes/Hurtado.conf new file mode 100644 index 0000000..1ca0421 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Hurtado.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #dadbda +cursor #bbbbbb +selection_background #b4d5ff +color0 #575757 +color8 #252525 +color1 #ff1b00 +color9 #d41c00 +color2 #a5df55 +color10 #a5df55 +color3 #fbe74a +color11 #fbe749 +color4 #486387 +color12 #89bdff +color5 #fc5ef0 +color13 #bf00c0 +color6 #85e9fe +color14 #85e9fe +color7 #cbcbcb +color15 #dbdbdb +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Hybrid.conf b/private_dot_config/kitty/kitty-themes/themes/Hybrid.conf new file mode 100644 index 0000000..8f9dc50 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Hybrid.conf @@ -0,0 +1,21 @@ +background #161718 +foreground #b7bcb9 +cursor #b7bcb9 +selection_background #1e1f22 +color0 #2a2e33 +color8 #1d1e21 +color1 #b74d50 +color9 #8c2d32 +color2 #b3be5a +color10 #788331 +color3 #e3b55e +color11 #e5894f +color4 #6d90b0 +color12 #4b6b88 +color5 #a07eab +color13 #6e4f79 +color6 #7fbeb3 +color14 #4d7b73 +color7 #b5b8b6 +color15 #5a6169 +selection_foreground #161718 diff --git a/private_dot_config/kitty/kitty-themes/themes/IC_Green_PPL.conf b/private_dot_config/kitty/kitty-themes/themes/IC_Green_PPL.conf new file mode 100644 index 0000000..35587dd --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/IC_Green_PPL.conf @@ -0,0 +1,21 @@ +background #3a3c3e +foreground #d9eed2 +cursor #41ff58 +selection_background #2a9b34 +color0 #1e1e1e +color8 #03260f +color1 #fb0029 +color9 #a6ff3e +color2 #329b24 +color10 #9fff6d +color3 #649a25 +color11 #d1ff6d +color4 #149b45 +color12 #72ffb5 +color5 #53b82b +color13 #50ff3d +color6 #2bb767 +color14 #22ff71 +color7 #dffeee +color15 #daeed0 +selection_foreground #3a3c3e diff --git a/private_dot_config/kitty/kitty-themes/themes/IC_Orange_PPL.conf b/private_dot_config/kitty/kitty-themes/themes/IC_Orange_PPL.conf new file mode 100644 index 0000000..b8dead8 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/IC_Orange_PPL.conf @@ -0,0 +1,21 @@ +background #262626 +foreground #ffcb83 +cursor #fb521c +selection_background #c03f1f +color0 #000000 +color8 #6a4e29 +color1 #c03900 +color9 #ff8b67 +color2 #a3a900 +color10 #f6ff3f +color3 #caae00 +color11 #ffe36e +color4 #bd6c00 +color12 #ffbd54 +color5 #fb5d00 +color13 #fc874f +color6 #f79400 +color14 #c59752 +color7 #ffc88a +color15 #f9f9fe +selection_foreground #262626 diff --git a/private_dot_config/kitty/kitty-themes/themes/IR_Black.conf b/private_dot_config/kitty/kitty-themes/themes/IR_Black.conf new file mode 100644 index 0000000..5b8709b --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/IR_Black.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #f1f1f1 +cursor #7f7f7f +selection_background #b4d5ff +color0 #4f4f4f +color8 #7b7b7b +color1 #fa6c5f +color9 #fcb6af +color2 #a8fe60 +color10 #ceffab +color3 #fffeb6 +color11 #fffecc +color4 #96cafd +color12 #b5dcfe +color5 #fa72fc +color13 #fb9bfe +color6 #c6c4fd +color14 #dfdffd +color7 #eeedee +color15 #fefffe +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Jackie_Brown.conf b/private_dot_config/kitty/kitty-themes/themes/Jackie_Brown.conf new file mode 100644 index 0000000..08a72e4 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Jackie_Brown.conf @@ -0,0 +1,21 @@ +background #2c1c15 +foreground #ffcc2f +cursor #23ff18 +selection_background #ae8c20 +color0 #2c1d16 +color8 #666666 +color1 #ef5734 +color9 #e50000 +color2 #2baf2b +color10 #86a83e +color3 #bdbe00 +color11 #e5e500 +color4 #246db2 +color12 #0000ff +color5 #cf5ec0 +color13 #e500e5 +color6 #00acee +color14 #00e5e5 +color7 #bfbfbf +color15 #e5e5e5 +selection_foreground #2c1c15 diff --git a/private_dot_config/kitty/kitty-themes/themes/Japanesque.conf b/private_dot_config/kitty/kitty-themes/themes/Japanesque.conf new file mode 100644 index 0000000..c045273 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Japanesque.conf @@ -0,0 +1,21 @@ +background #1d1d1d +foreground #f7f6ec +cursor #eccf4f +selection_background #165776 +color0 #343835 +color8 #585a58 +color1 #ce3e60 +color9 #d18ea6 +color2 #7bb75b +color10 #767e2b +color3 #e8b32a +color11 #77592e +color4 #4c99d3 +color12 #135879 +color5 #a57fc4 +color13 #5f4190 +color6 #389aac +color14 #76bbca +color7 #f9faf6 +color15 #b1b5ae +selection_foreground #1d1d1d diff --git a/private_dot_config/kitty/kitty-themes/themes/Jellybeans.conf b/private_dot_config/kitty/kitty-themes/themes/Jellybeans.conf new file mode 100644 index 0000000..bac5fb7 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Jellybeans.conf @@ -0,0 +1,21 @@ +background #111111 +foreground #dedede +cursor #ffa460 +selection_background #464d91 +color0 #919191 +color8 #bdbdbd +color1 #e17373 +color9 #ffa0a0 +color2 #94b978 +color10 #bddeab +color3 #ffb97b +color11 #ffdba0 +color4 #96bddb +color12 #b1d7f6 +color5 #e1c0fa +color13 #fbdaff +color6 #00988e +color14 #19b2a7 +color7 #dedede +color15 #ffffff +selection_foreground #111111 diff --git a/private_dot_config/kitty/kitty-themes/themes/JetBrains_Darcula.conf b/private_dot_config/kitty/kitty-themes/themes/JetBrains_Darcula.conf new file mode 100644 index 0000000..64ac146 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/JetBrains_Darcula.conf @@ -0,0 +1,21 @@ +background #202020 +foreground #adadad +cursor #ffffff +selection_background #1a3272 +color0 #000000 +color8 #545454 +color1 #fa5355 +color9 #fb7172 +color2 #126e00 +color10 #67ff4f +color3 #c2c300 +color11 #ffff00 +color4 #4581eb +color12 #6d9df1 +color5 #fa54ff +color13 #fb82ff +color6 #33c2c1 +color14 #60d3d1 +color7 #adadad +color15 #eeeeee +selection_foreground #202020 diff --git a/private_dot_config/kitty/kitty-themes/themes/Kibble.conf b/private_dot_config/kitty/kitty-themes/themes/Kibble.conf new file mode 100644 index 0000000..3b13105 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Kibble.conf @@ -0,0 +1,21 @@ +background #0e100a +foreground #f7f7f7 +cursor #9fda9c +selection_background #9ba686 +color0 #4d4d4d +color8 #5a5a5a +color1 #c70031 +color9 #f01578 +color2 #29cf13 +color10 #6ce05c +color3 #d8e30e +color11 #f3f79e +color4 #3449d1 +color12 #97a4f7 +color5 #8400ff +color13 #c495f0 +color6 #0798ab +color14 #68f2e0 +color7 #e2d1e3 +color15 #ffffff +selection_foreground #0e100a diff --git a/private_dot_config/kitty/kitty-themes/themes/Later_This_Evening.conf b/private_dot_config/kitty/kitty-themes/themes/Later_This_Evening.conf new file mode 100644 index 0000000..1354788 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Later_This_Evening.conf @@ -0,0 +1,21 @@ +background #212121 +foreground #949494 +cursor #424242 +selection_background #424242 +color0 #2b2b2b +color8 #444747 +color1 #d35a5f +color9 #d3222e +color2 #afba66 +color10 #aabb39 +color3 #e5d289 +color11 #e4bd39 +color4 #a0b9d5 +color12 #6599d5 +color5 #bf92d5 +color13 #aa52d5 +color6 #91beb6 +color14 #5fbfad +color7 #3b3c3c +color15 #c0c2c2 +selection_foreground #212121 diff --git a/private_dot_config/kitty/kitty-themes/themes/Lavandula.conf b/private_dot_config/kitty/kitty-themes/themes/Lavandula.conf new file mode 100644 index 0000000..14aa7aa --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Lavandula.conf @@ -0,0 +1,21 @@ +background #050014 +foreground #736d7c +cursor #8b91fa +selection_background #36323b +color0 #230045 +color8 #362c45 +color1 #7c1525 +color9 #df5066 +color2 #337e6f +color10 #52e0c4 +color3 #7f6f49 +color11 #e0c286 +color4 #4f4a7f +color12 #8e86df +color5 #593f7e +color13 #a675df +color6 #57767f +color14 #9ad3df +color7 #736d7c +color15 #8b91fa +selection_foreground #050014 diff --git a/private_dot_config/kitty/kitty-themes/themes/LiquidCarbon.conf b/private_dot_config/kitty/kitty-themes/themes/LiquidCarbon.conf new file mode 100644 index 0000000..2f3a994 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/LiquidCarbon.conf @@ -0,0 +1,21 @@ +background #2f2f2f +foreground #afc2c2 +cursor #ffffff +selection_background #7cbeff +color0 #000000 +color8 #000000 +color1 #ff2f2f +color9 #ff2f2f +color2 #549a6f +color10 #549a6f +color3 #ccac00 +color11 #ccac00 +color4 #0099cc +color12 #0099cc +color5 #cc68c8 +color13 #cc68c8 +color6 #79c4cc +color14 #79c4cc +color7 #bccccc +color15 #bccccc +selection_foreground #2f2f2f diff --git a/private_dot_config/kitty/kitty-themes/themes/LiquidCarbonTransparent.conf b/private_dot_config/kitty/kitty-themes/themes/LiquidCarbonTransparent.conf new file mode 100644 index 0000000..41e5f89 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/LiquidCarbonTransparent.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #afc2c2 +cursor #ffffff +selection_background #7cbeff +color0 #000000 +color8 #000000 +color1 #ff2f2f +color9 #ff2f2f +color2 #549a6f +color10 #549a6f +color3 #ccac00 +color11 #ccac00 +color4 #0099cc +color12 #0099cc +color5 #cc68c8 +color13 #cc68c8 +color6 #79c4cc +color14 #79c4cc +color7 #bccccc +color15 #bccccc +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/LiquidCarbonTransparentInverse.conf b/private_dot_config/kitty/kitty-themes/themes/LiquidCarbonTransparentInverse.conf new file mode 100644 index 0000000..d584624 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/LiquidCarbonTransparentInverse.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #afc2c2 +cursor #ffffff +selection_background #7cbeff +color0 #bbcbcc +color8 #ffffff +color1 #ff2f2f +color9 #ff2f2f +color2 #549a6f +color10 #549a6f +color3 #ccac00 +color11 #ccac00 +color4 #0099cc +color12 #0099cc +color5 #cc68c8 +color13 #cc68c8 +color6 #79c4cc +color14 #79c4cc +color7 #000000 +color15 #000000 +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Man_Page.conf b/private_dot_config/kitty/kitty-themes/themes/Man_Page.conf new file mode 100644 index 0000000..7c8aa38 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Man_Page.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #fef49c +foreground #000000 +cursor #7f7f7f +selection_background #a4c9cd +color0 #000000 +color8 #666666 +color1 #cc0000 +color9 #e50000 +color2 #00a600 +color10 #00d900 +color3 #999900 +color11 #e5e500 +color4 #0000b2 +color12 #0000ff +color5 #b200b2 +color13 #e500e5 +color6 #00a6b2 +color14 #00e5e5 +color7 #cccccc +color15 #e5e5e5 +selection_foreground #fef49c diff --git a/private_dot_config/kitty/kitty-themes/themes/Material.conf b/private_dot_config/kitty/kitty-themes/themes/Material.conf new file mode 100644 index 0000000..ba38846 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Material.conf @@ -0,0 +1,21 @@ +background #eaeaea +foreground #222221 +cursor #16aec9 +selection_background #c1c1c1 +color0 #212121 +color8 #424242 +color1 #b7141e +color9 #e83a3f +color2 #457b23 +color10 #7aba39 +color3 #f5971d +color11 #fee92e +color4 #134eb2 +color12 #53a4f3 +color5 #550087 +color13 #a94dbb +color6 #0e707c +color14 #26bad1 +color7 #eeeeee +color15 #d8d8d8 +selection_foreground #eaeaea diff --git a/private_dot_config/kitty/kitty-themes/themes/MaterialDark.conf b/private_dot_config/kitty/kitty-themes/themes/MaterialDark.conf new file mode 100644 index 0000000..e599021 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/MaterialDark.conf @@ -0,0 +1,21 @@ +background #222221 +foreground #e4e4e4 +cursor #16aec9 +selection_background #dedede +color0 #212121 +color8 #424242 +color1 #b7141e +color9 #e83a3f +color2 #457b23 +color10 #7aba39 +color3 #f5971d +color11 #fee92e +color4 #134eb2 +color12 #53a4f3 +color5 #550087 +color13 #a94dbb +color6 #0e707c +color14 #26bad1 +color7 #eeeeee +color15 #d8d8d8 +selection_foreground #222221 diff --git a/private_dot_config/kitty/kitty-themes/themes/Mathias.conf b/private_dot_config/kitty/kitty-themes/themes/Mathias.conf new file mode 100644 index 0000000..cd1ab14 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Mathias.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #bbbbbb +cursor #bbbbbb +selection_background #545454 +color0 #000000 +color8 #545454 +color1 #e52222 +color9 #ff5555 +color2 #a6e32d +color10 #55ff55 +color3 #fc951e +color11 #ffff55 +color4 #c48dff +color12 #5555ff +color5 #fa2573 +color13 #ff55ff +color6 #67d9f0 +color14 #55ffff +color7 #f2f2f2 +color15 #ffffff +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Medallion.conf b/private_dot_config/kitty/kitty-themes/themes/Medallion.conf new file mode 100644 index 0000000..0ad8805 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Medallion.conf @@ -0,0 +1,21 @@ +background #1d1808 +foreground #cac296 +cursor #d3b92f +selection_background #616cab +color0 #000000 +color8 #5e5118 +color1 #b54c00 +color9 #ff9148 +color2 #7c8a16 +color10 #b1c93a +color3 #d2bd25 +color11 #ffe449 +color4 #606baf +color12 #abb8ff +color5 #8b5990 +color13 #fe9fff +color6 #906b25 +color14 #ffbb51 +color7 #c9c199 +color15 #fed597 +selection_foreground #1d1808 diff --git a/private_dot_config/kitty/kitty-themes/themes/Misterioso.conf b/private_dot_config/kitty/kitty-themes/themes/Misterioso.conf new file mode 100644 index 0000000..1960f9b --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Misterioso.conf @@ -0,0 +1,21 @@ +background #2d3743 +foreground #e1e1e0 +cursor #000000 +selection_background #2d37ff +color0 #000000 +color8 #545454 +color1 #ff4141 +color9 #ff3241 +color2 #74ae68 +color10 #74cc68 +color3 #ffac28 +color11 #ffb928 +color4 #338e86 +color12 #23d6d6 +color5 #9413e5 +color13 #ff37ff +color6 #23d6d6 +color14 #00ece1 +color7 #e1e1df +color15 #ffffff +selection_foreground #2d3743 diff --git a/private_dot_config/kitty/kitty-themes/themes/Molokai.conf b/private_dot_config/kitty/kitty-themes/themes/Molokai.conf new file mode 100644 index 0000000..cd35d1f --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Molokai.conf @@ -0,0 +1,21 @@ +background #121212 +foreground #bbbbbb +cursor #bbbbbb +selection_background #b4d5ff +color0 #121212 +color8 #545454 +color1 #fa2573 +color9 #f5669c +color2 #97e123 +color10 #b0e05e +color3 #dfd460 +color11 #fef26c +color4 #0f7fcf +color12 #00afff +color5 #8700ff +color13 #af87ff +color6 #42a7cf +color14 #50cdfe +color7 #bbbbbb +color15 #ffffff +selection_foreground #121212 diff --git a/private_dot_config/kitty/kitty-themes/themes/MonaLisa.conf b/private_dot_config/kitty/kitty-themes/themes/MonaLisa.conf new file mode 100644 index 0000000..3b1602d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/MonaLisa.conf @@ -0,0 +1,21 @@ +background #110b0d +foreground #f6d56a +cursor #c36c32 +selection_background #f6d56a +color0 #341a0d +color8 #874227 +color1 #9b281b +color9 #ff4230 +color2 #626132 +color10 #b3b163 +color3 #c26e27 +color11 #ff9565 +color4 #515b5c +color12 #9eb2b3 +color5 #9b1d29 +color13 #ff5b6a +color6 #588056 +color14 #89cc8e +color7 #f6d75c +color15 #ffe597 +selection_foreground #110b0d diff --git a/private_dot_config/kitty/kitty-themes/themes/Monokai.conf b/private_dot_config/kitty/kitty-themes/themes/Monokai.conf new file mode 100644 index 0000000..660c0cc --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Monokai.conf @@ -0,0 +1,41 @@ +# Monokai + +background #272822 +foreground #f8f8f2 +cursor #f8f8f2 +selection_background #f8f8f2 +selection_foreground #272822 +active_tab_background #75715e +active_tab_foreground #272822 +active_border_color #75715e +inactive_tab_background #272822 +inactive_tab_foreground #75715e +inactive_border_color #75715e +url_color #f8f8f2 + +# 16 Color Space + +# black +color0 #272822 +color8 #75715e +# red +color1 #f92672 +color9 #f92672 +# green +color2 #a6e22e +color10 #a6e22e +# yellow +color3 #e6db74 +color11 #e6db74 +# blue +color4 #66d9ef +color12 #66d9ef +# magenta +color5 #fd971f +color13 #fd971f +# cyan +color6 #ae81ff +color14 #ae81ff +# white +color7 #f8f8f2 +color15 #f8f8f2 diff --git a/private_dot_config/kitty/kitty-themes/themes/Monokai_Classic.conf b/private_dot_config/kitty/kitty-themes/themes/Monokai_Classic.conf new file mode 100644 index 0000000..9c74f40 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Monokai_Classic.conf @@ -0,0 +1,47 @@ +background #3b3c35 +foreground #fdfff1 + +cursor #fdfff1 +cursor_text_color #000000 +selection_foreground #3b3c35 +selection_background #fdfff1 + +# dull black +color0 #3b3c35 +# light black +color8 #6e7066 + +# dull red +color1 #f82570 +# light red +color9 #f82570 + +# dull green +color2 #a6e12d +# light green +color10 #a6e12d + +# yellow +color3 #e4db73 +# light yellow +color11 #e4db73 + +# blue +color4 #fc961f +# light blue +color12 #fc961f + +# magenta +color5 #ae81ff +# light magenta +color13 #ae81ff + +# cyan +color6 #66d9ee +# light cyan +color14 #66d9ee + +# dull white +color7 #fdfff1 +# bright white +color15 #fdfff1 diff --git a/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro.conf b/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro.conf new file mode 100644 index 0000000..f5a2e8c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro.conf @@ -0,0 +1,47 @@ +background #403e41 +foreground #fcfcfa + +cursor #fcfcfa +cursor_text_color #000000 +selection_foreground #403e41 +selection_background #fcfcfa + +# dull black +color0 #403e41 +# light black +color8 #727072 + +# dull red +color1 #ff6188 +# light red +color9 #ff6188 + +# dull green +color2 #a9dc76 +# light green +color10 #a9dc76 + +# yellow +color3 #ffd866 +# light yellow +color11 #ffd866 + +# blue +color4 #fc9867 +# light blue +color12 #fc9867 + +# magenta +color5 #ab9df2 +# light magenta +color13 #ab9df2 + +# cyan +color6 #78dce8 +# light cyan +color14 #78dce8 + +# dull white +color7 #fcfcfa +# bright white +color15 #fcfcfa diff --git a/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Machine).conf b/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Machine).conf new file mode 100644 index 0000000..b46e1d3 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Machine).conf @@ -0,0 +1,47 @@ +background #3a4449 +foreground #f2fffc + +cursor #f2fffc +cursor_text_color #000000 +selection_foreground #3a4449 +selection_background #f2fffc + +# dull black +color0 #3a4449 +# light black +color8 #6b7678 + +# dull red +color1 #ff6d7e +# light red +color9 #ff6d7e + +# dull green +color2 #a2e57b +# light green +color10 #a2e57b + +# yellow +color3 #ffed72 +# light yellow +color11 #ffed72 + +# blue +color4 #ffb270 +# light blue +color12 #ffb270 + +# magenta +color5 #baa0f8 +# light magenta +color13 #baa0f8 + +# cyan +color6 #7cd5f1 +# light cyan +color14 #7cd5f1 + +# dull white +color7 #f2fffc +# bright white +color15 #f2fffc diff --git a/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Octagon).conf b/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Octagon).conf new file mode 100644 index 0000000..3aee34a --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Octagon).conf @@ -0,0 +1,47 @@ +background #3a3d4b +foreground #eaf2f1 + +cursor #eaf2f1 +cursor_text_color #000000 +selection_foreground #3a3d4b +selection_background #eaf2f1 + +# dull black +color0 #3a3d4b +# light black +color8 #696d77 + +# dull red +color1 #ff657a +# light red +color9 #ff657a + +# dull green +color2 #bad761 +# light green +color10 #bad761 + +# yellow +color3 #ffd76d +# light yellow +color11 #ffd76d + +# blue +color4 #ff9b5e +# light blue +color12 #ff9b5e + +# magenta +color5 #c39ac9 +# light magenta +color13 #c39ac9 + +# cyan +color6 #9cd1bb +# light cyan +color14 #9cd1bb + +# dull white +color7 #eaf2f1 +# bright white +color15 #eaf2f1 diff --git a/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Ristretto).conf b/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Ristretto).conf new file mode 100644 index 0000000..599b0e1 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Ristretto).conf @@ -0,0 +1,47 @@ +background #403838 +foreground #fff1f3 + +cursor #fff1f3 +cursor_text_color #000000 +selection_foreground #403838 +selection_background #fff1f3 + +# dull black +color0 #403838 +# light black +color8 #72696a + +# dull red +color1 #fd6883 +# light red +color9 #fd6883 + +# dull green +color2 #adda78 +# light green +color10 #adda78 + +# yellow +color3 #f9cc6c +# light yellow +color11 #f9cc6c + +# blue +color4 #f38d70 +# light blue +color12 #f38d70 + +# magenta +color5 #a8a9eb +# light magenta +color13 #a8a9eb + +# cyan +color6 #85dacc +# light cyan +color14 #85dacc + +# dull white +color7 #fff1f3 +# bright white +color15 #fff1f3 diff --git a/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Spectrum).conf b/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Spectrum).conf new file mode 100644 index 0000000..5617a6d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Spectrum).conf @@ -0,0 +1,47 @@ +background #363537 +foreground #f7f1ff + +cursor #f7f1ff +cursor_text_color #000000 +selection_foreground #363537 +selection_background #f7f1ff + +# dull black +color0 #363537 +# light black +color8 #69676c + +# dull red +color1 #fc618d +# light red +color9 #fc618d + +# dull green +color2 #7bd88f +# light green +color10 #7bd88f + +# yellow +color3 #fce566 +# light yellow +color11 #fce566 + +# blue +color4 #fd9353 +# light blue +color12 #fd9353 + +# magenta +color5 #948ae3 +# light magenta +color13 #948ae3 + +# cyan +color6 #5ad4e6 +# light cyan +color14 #5ad4e6 + +# dull white +color7 #f7f1ff +# bright white +color15 #f7f1ff diff --git a/private_dot_config/kitty/kitty-themes/themes/Monokai_Soda.conf b/private_dot_config/kitty/kitty-themes/themes/Monokai_Soda.conf new file mode 100644 index 0000000..eb7a24d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Monokai_Soda.conf @@ -0,0 +1,21 @@ +background #191919 +foreground #c4c4b5 +cursor #f6f6ec +selection_background #343434 +color0 #191919 +color8 #615e4b +color1 #f3005f +color9 #f3005f +color2 #97e023 +color10 #97e023 +color3 #fa8419 +color11 #dfd561 +color4 #9c64fe +color12 #9c64fe +color5 #f3005f +color13 #f3005f +color6 #57d1ea +color14 #57d1ea +color7 #c4c4b5 +color15 #f6f6ee +selection_foreground #191919 diff --git a/private_dot_config/kitty/kitty-themes/themes/N0tch2k.conf b/private_dot_config/kitty/kitty-themes/themes/N0tch2k.conf new file mode 100644 index 0000000..3e2bb6c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/N0tch2k.conf @@ -0,0 +1,21 @@ +background #222222 +foreground #a0a0a0 +cursor #a99075 +selection_background #4d4d4d +color0 #383838 +color8 #474747 +color1 #a95551 +color9 #a97775 +color2 #666666 +color10 #8c8c8c +color3 #a98051 +color11 #a99175 +color4 #657d3e +color12 #98bd5e +color5 #767676 +color13 #a3a3a3 +color6 #c9c9c9 +color14 #dcdcdc +color7 #d0b8a3 +color15 #d8c8bb +selection_foreground #222222 diff --git a/private_dot_config/kitty/kitty-themes/themes/Neopolitan.conf b/private_dot_config/kitty/kitty-themes/themes/Neopolitan.conf new file mode 100644 index 0000000..2c6ffce --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Neopolitan.conf @@ -0,0 +1,21 @@ +background #271f19 +foreground #ffffff +cursor #ffffff +selection_background #253b76 +color0 #000000 +color8 #000000 +color1 #800000 +color9 #800000 +color2 #61ce3c +color10 #61ce3c +color3 #fbde2d +color11 #fbde2d +color4 #253b76 +color12 #253b76 +color5 #ff0080 +color13 #ff0080 +color6 #8da6ce +color14 #8da6ce +color7 #f8f8f8 +color15 #f8f8f8 +selection_foreground #271f19 diff --git a/private_dot_config/kitty/kitty-themes/themes/Neutron.conf b/private_dot_config/kitty/kitty-themes/themes/Neutron.conf new file mode 100644 index 0000000..9f2fe4d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Neutron.conf @@ -0,0 +1,21 @@ +background #1b1d22 +foreground #e6e8ee +cursor #f6f6ec +selection_background #2e353d +color0 #22252b +color8 #22252b +color1 #b53f36 +color9 #b53f36 +color2 #5ab977 +color10 #5ab977 +color3 #ddb566 +color11 #ddb566 +color4 #6a7b92 +color12 #6a7b92 +color5 #a3799d +color13 #a3799d +color6 #3f93a8 +color14 #3f93a8 +color7 #e6e8ee +color15 #ebedf2 +selection_foreground #1b1d22 diff --git a/private_dot_config/kitty/kitty-themes/themes/NightLion_v1.conf b/private_dot_config/kitty/kitty-themes/themes/NightLion_v1.conf new file mode 100644 index 0000000..1021c46 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/NightLion_v1.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #bbbbbb +cursor #bbbbbb +selection_background #b4d5ff +color0 #4c4c4c +color8 #545454 +color1 #bb0000 +color9 #ff5555 +color2 #5ede8f +color10 #55ff55 +color3 #f2f067 +color11 #ffff55 +color4 #266ad7 +color12 #5555ff +color5 #bb00bb +color13 #ff55ff +color6 #00d9df +color14 #55ffff +color7 #bbbbbb +color15 #ffffff +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/NightLion_v2.conf b/private_dot_config/kitty/kitty-themes/themes/NightLion_v2.conf new file mode 100644 index 0000000..aed7f8d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/NightLion_v2.conf @@ -0,0 +1,21 @@ +background #171717 +foreground #bbbbbb +cursor #bbbbbb +selection_background #b4d5ff +color0 #4c4c4c +color8 #545454 +color1 #bb0000 +color9 #ff5555 +color2 #03f622 +color10 #7df61c +color3 #f2f067 +color11 #ffff55 +color4 #63d0f0 +color12 #62cae7 +color5 #ce6fda +color13 #ff9af5 +color6 #00d9df +color14 #00ccd7 +color7 #bbbbbb +color15 #ffffff +selection_foreground #171717 diff --git a/private_dot_config/kitty/kitty-themes/themes/Nova.conf b/private_dot_config/kitty/kitty-themes/themes/Nova.conf new file mode 100644 index 0000000..c3f2da1 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Nova.conf @@ -0,0 +1,21 @@ +background #3c4c54 +foreground #8798a3 +cursor #7fc1c9 +color0 #8799a4 +color8 #c4d3dc +color1 #efc08d +color9 #ef8358 +color2 #a6cb91 +color10 #a8ce93 +color3 #d7d690 +color11 #e5e77f +color4 #83afe4 +color12 #69c8ff +color5 #d460da +color13 #d18ec2 +color6 #7fc1b6 +color14 #00e59f +color7 #c4d3dc +color15 #e6eef3 +selection_foreground #3c4c54 +selection_background #7fc1ca diff --git a/private_dot_config/kitty/kitty-themes/themes/Novel.conf b/private_dot_config/kitty/kitty-themes/themes/Novel.conf new file mode 100644 index 0000000..03220e3 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Novel.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #dfdbc3 +foreground #3b2322 +cursor #73635a +selection_background #a4a390 +color0 #000000 +color8 #7f7f7f +color1 #cc0000 +color9 #cc0000 +color2 #009600 +color10 #009600 +color3 #d06b00 +color11 #d06b00 +color4 #0000cc +color12 #0000cc +color5 #cc00cc +color13 #cc00cc +color6 #0087cc +color14 #0086cb +color7 #cccccc +color15 #ffffff +selection_foreground #dfdbc3 diff --git a/private_dot_config/kitty/kitty-themes/themes/Obsidian.conf b/private_dot_config/kitty/kitty-themes/themes/Obsidian.conf new file mode 100644 index 0000000..7265d44 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Obsidian.conf @@ -0,0 +1,21 @@ +background #273032 +foreground #cccccc +cursor #c0cad0 +selection_background #3d4b4e +color0 #000000 +color8 #545454 +color1 #a50001 +color9 #ff0003 +color2 #00bb00 +color10 #92c763 +color3 #fecc22 +color11 #fef773 +color4 #399bda +color12 #a0d6ff +color5 #bb00bb +color13 #ff55ff +color6 #00bbbb +color14 #55ffff +color7 #bbbbbb +color15 #ffffff +selection_foreground #273032 diff --git a/private_dot_config/kitty/kitty-themes/themes/Ocean.conf b/private_dot_config/kitty/kitty-themes/themes/Ocean.conf new file mode 100644 index 0000000..ad6205a --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Ocean.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #214fbc +foreground #ffffff +cursor #7f7f7f +selection_background #216dff +color0 #000000 +color8 #666666 +color1 #990000 +color9 #e50000 +color2 #00a600 +color10 #00d900 +color3 #999900 +color11 #e5e500 +color4 #0000b2 +color12 #0000ff +color5 #b200b2 +color13 #e500e5 +color6 #00a6b2 +color14 #00e5e5 +color7 #bebebe +color15 #e5e5e5 +selection_foreground #214fbc diff --git a/private_dot_config/kitty/kitty-themes/themes/OceanicMaterial.conf b/private_dot_config/kitty/kitty-themes/themes/OceanicMaterial.conf new file mode 100644 index 0000000..9403518 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/OceanicMaterial.conf @@ -0,0 +1,21 @@ +background #1c262b +foreground #c1c8d6 +cursor #b2b8c3 +selection_background #6dc1b8 +color0 #000000 +color8 #767676 +color1 #ee2a29 +color9 #dc5b60 +color2 #3fa33f +color10 #70be71 +color3 #fee92e +color11 #fef063 +color4 #1d80ef +color12 #53a4f3 +color5 #8800a0 +color13 #a94dbb +color6 #16aec9 +color14 #42c6d9 +color7 #a4a4a4 +color15 #fffefe +selection_foreground #1c262b diff --git a/private_dot_config/kitty/kitty-themes/themes/Ollie.conf b/private_dot_config/kitty/kitty-themes/themes/Ollie.conf new file mode 100644 index 0000000..66eecf5 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Ollie.conf @@ -0,0 +1,21 @@ +background #212024 +foreground #8a8dae +cursor #5b6da7 +selection_background #1e3965 +color0 #000000 +color8 #5a3625 +color1 #ab2e30 +color9 #ff3d48 +color2 #31ab60 +color10 #3bff99 +color3 #ab4200 +color11 #ff5e1e +color4 #2c56ab +color12 #4487ff +color5 #af8427 +color13 #ffc21c +color6 #1fa5ab +color14 #1efaff +color7 #8a8dab +color15 #5b6da7 +selection_foreground #212024 diff --git a/private_dot_config/kitty/kitty-themes/themes/OneDark.conf b/private_dot_config/kitty/kitty-themes/themes/OneDark.conf new file mode 100644 index 0000000..ad6cb4e --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/OneDark.conf @@ -0,0 +1,25 @@ +# One Dark by Giuseppe Cesarano, https://github.com/GiuseppeCesarano +# This work is licensed under the terms of the GPL-2.0 license. +# For a copy, see https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html. + +foreground #979eab +background #282c34 +cursor #cccccc +color0 #282c34 +color1 #e06c75 +color2 #98c379 +color3 #e5c07b +color4 #61afef +color5 #be5046 +color6 #56b6c2 +color7 #979eab +color8 #393e48 +color9 #d19a66 +color10 #56b6c2 +color11 #e5c07b +color12 #61afef +color13 #be5046 +color14 #56b6c2 +color15 #abb2bf +selection_foreground #282c34 +selection_background #979eab diff --git a/private_dot_config/kitty/kitty-themes/themes/Parasio_Dark.conf b/private_dot_config/kitty/kitty-themes/themes/Parasio_Dark.conf new file mode 100644 index 0000000..4cc1e8d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Parasio_Dark.conf @@ -0,0 +1,21 @@ +background #2f1d2e +foreground #a39d9b +cursor #a39d9b +selection_background #4f414c +color0 #2f1d2e +color8 #776d70 +color1 #ef6154 +color9 #ef6154 +color2 #48b685 +color10 #48b685 +color3 #fec418 +color11 #fec418 +color4 #05b6ef +color12 #05b6ef +color5 #805ba3 +color13 #805ba3 +color6 #5bc4be +color14 #5bc4be +color7 #a39d9b +color15 #e6e9da +selection_foreground #2f1d2e diff --git a/private_dot_config/kitty/kitty-themes/themes/PaulMillr.conf b/private_dot_config/kitty/kitty-themes/themes/PaulMillr.conf new file mode 100644 index 0000000..72cc95c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/PaulMillr.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #f1f1f1 +cursor #4c4c4c +selection_background #414141 +color0 #2a2a2a +color8 #666666 +color1 #ff0000 +color9 #ff007f +color2 #78ff0e +color10 #66ff66 +color3 #e6be00 +color11 #f3d64d +color4 #396ad6 +color12 #7099ec +color5 #b348bd +color13 #da66e5 +color6 #66ccff +color14 #79def1 +color7 #bababa +color15 #ffffff +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/PencilDark.conf b/private_dot_config/kitty/kitty-themes/themes/PencilDark.conf new file mode 100644 index 0000000..3926f6c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/PencilDark.conf @@ -0,0 +1,21 @@ +background #202020 +foreground #f0f0f0 +cursor #20bafb +selection_background #b6d6fc +color0 #202020 +color8 #414141 +color1 #c30670 +color9 #fb0079 +color2 #10a778 +color10 #5ed6ae +color3 #a79c14 +color11 #f3e42f +color4 #008ec4 +color12 #20bafb +color5 #523b78 +color13 #6854de +color6 #20a4b9 +color14 #4fb8cc +color7 #d9d9d9 +color15 #f0f0f0 +selection_foreground #202020 diff --git a/private_dot_config/kitty/kitty-themes/themes/PencilLight.conf b/private_dot_config/kitty/kitty-themes/themes/PencilLight.conf new file mode 100644 index 0000000..4311c70 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/PencilLight.conf @@ -0,0 +1,21 @@ +background #f0f0f0 +foreground #414141 +cursor #20bafb +selection_background #b6d6fc +color0 #202020 +color8 #414141 +color1 #c30670 +color9 #fb0079 +color2 #10a778 +color10 #5ed6ae +color3 #a79c14 +color11 #f3e42f +color4 #008ec4 +color12 #20bafb +color5 #523b78 +color13 #6854de +color6 #20a4b9 +color14 #4fb8cc +color7 #d9d9d9 +color15 #f0f0f0 +selection_foreground #f0f0f0 diff --git a/private_dot_config/kitty/kitty-themes/themes/Piatto_Light.conf b/private_dot_config/kitty/kitty-themes/themes/Piatto_Light.conf new file mode 100644 index 0000000..401fe91 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Piatto_Light.conf @@ -0,0 +1,21 @@ +background #ffffff +foreground #414141 +cursor #5e76c7 +selection_background #6f6a4e +color0 #414141 +color8 #3e3e3e +color1 #b23670 +color9 #da3365 +color2 #66781d +color10 #829428 +color3 #cc6e33 +color11 #cc6e33 +color4 #3b5ea7 +color12 #3b5ea7 +color5 #a353b2 +color13 #a353b2 +color6 #66781d +color14 #829428 +color7 #ffffff +color15 #f1f1f1 +selection_foreground #ffffff diff --git a/private_dot_config/kitty/kitty-themes/themes/Pnevma.conf b/private_dot_config/kitty/kitty-themes/themes/Pnevma.conf new file mode 100644 index 0000000..1dda097 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Pnevma.conf @@ -0,0 +1,21 @@ +background #1c1c1c +foreground #d0d0d0 +cursor #e3c8ae +selection_background #4d4d4d +color0 #2f2e2d +color8 #4a4845 +color1 #a36666 +color9 #d78787 +color2 #90a57d +color10 #afbea2 +color3 #d7af87 +color11 #e4c9af +color4 #7fa5bd +color12 #a1bdce +color5 #c79ec4 +color13 #d7beda +color6 #8adbb4 +color14 #b1e7dd +color7 #d0d0d0 +color15 #efefef +selection_foreground #1c1c1c diff --git a/private_dot_config/kitty/kitty-themes/themes/Pro.conf b/private_dot_config/kitty/kitty-themes/themes/Pro.conf new file mode 100644 index 0000000..6ffc047 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Pro.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #000000 +foreground #f2f2f2 +cursor #4d4d4d +selection_background #414141 +color0 #000000 +color8 #666666 +color1 #990000 +color9 #e50000 +color2 #00a600 +color10 #00d900 +color3 #999900 +color11 #e5e500 +color4 #1f08db +color12 #0000ff +color5 #b200b2 +color13 #e500e5 +color6 #00a6b2 +color14 #00e5e5 +color7 #bfbfbf +color15 #e5e5e5 +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Red_Alert.conf b/private_dot_config/kitty/kitty-themes/themes/Red_Alert.conf new file mode 100644 index 0000000..020429a --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Red_Alert.conf @@ -0,0 +1,21 @@ +background #762423 +foreground #ffffff +cursor #ffffff +selection_background #073642 +color0 #000000 +color8 #262626 +color1 #d52e4d +color9 #e02453 +color2 #71be6b +color10 #aff08b +color3 #beb86b +color11 #dfddb7 +color4 #479bed +color12 #65a9f0 +color5 #e878d6 +color13 #ddb7df +color6 #6bbeb8 +color14 #b7dfdd +color7 #d6d6d6 +color15 #ffffff +selection_foreground #762423 diff --git a/private_dot_config/kitty/kitty-themes/themes/Red_Sands.conf b/private_dot_config/kitty/kitty-themes/themes/Red_Sands.conf new file mode 100644 index 0000000..a491f3d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Red_Sands.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #79241d +foreground #d6c8a7 +cursor #ffffff +selection_background #a4a390 +color0 #000000 +color8 #545454 +color1 #ff3e00 +color9 #ba0000 +color2 #00ba00 +color10 #00ba00 +color3 #e6af00 +color11 #e6af00 +color4 #0071ff +color12 #0071ae +color5 #ba00ba +color13 #ff54ff +color6 #00baba +color14 #54ffff +color7 #bababa +color15 #ffffff +selection_foreground #79241d diff --git a/private_dot_config/kitty/kitty-themes/themes/Relaxed_Afterglow.conf b/private_dot_config/kitty/kitty-themes/themes/Relaxed_Afterglow.conf new file mode 100644 index 0000000..5988777 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Relaxed_Afterglow.conf @@ -0,0 +1,25 @@ +# Relaxed Afterglow by Michael Kühnel , https://github.com/Relaxed-Theme/relaxed-terminal-themes +# This work is licensed under the terms of the MIT license. +# For a copy, see https://opensource.org/licenses/MIT. + +background #353a44 +foreground #d9d9d9 +cursor #d9d9d9 +selection_foreground #d8d8d8 +selection_background #6a7984 +color0 #151515 +color1 #bc5653 +color2 #909d63 +color3 #ebc17a +color4 #6a8799 +color5 #b06698 +color6 #c9dfff +color7 #d9d9d9 +color8 #636363 +color9 #bc5653 +color10 #a0ac77 +color11 #ebc17a +color12 #7eaac7 +color13 #b06698 +color14 #acbbd0 +color15 #f7f7f7 diff --git a/private_dot_config/kitty/kitty-themes/themes/Renault_Style.conf b/private_dot_config/kitty/kitty-themes/themes/Renault_Style.conf new file mode 100644 index 0000000..856818d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Renault_Style.conf @@ -0,0 +1,22 @@ +background #3a3a3a +foreground #e9cb7b +cursor #7f7f7f +selection_background #958553 + +color0 #000000 +color1 #990000 +color2 #00A600 +color3 #999900 +color4 #0000B2 +color5 #B200B2 +color6 #00A6B2 +color7 #BFBFBF +color8 #666666 +color9 #E50000 +color10 #00d800 +color11 #E5E500 +color12 #0000FF +color13 #E500E5 +color14 #00e5e5 +color15 #E5E5E5 +selection_foreground #3a3a3a diff --git a/private_dot_config/kitty/kitty-themes/themes/Renault_Style_Light.conf b/private_dot_config/kitty/kitty-themes/themes/Renault_Style_Light.conf new file mode 100644 index 0000000..e08cd6a --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Renault_Style_Light.conf @@ -0,0 +1,21 @@ +background #3a3a3a +foreground #e9cb7b +cursor #7f7f7f +selection_background #958553 +color0 #000000 +color8 #323232 +color1 #da4839 +color9 #ff7b6a +color2 #509f50 +color10 #83d082 +color3 #ffd249 +color11 #ffff7b +color4 #46657d +color12 #9fcef0 +color5 #cfcfff +color13 #ffffff +color6 #87c1f1 +color14 #a4d4f8 +color7 #ffffff +color15 #ffffff +selection_foreground #3a3a3a diff --git a/private_dot_config/kitty/kitty-themes/themes/Rippedcasts.conf b/private_dot_config/kitty/kitty-themes/themes/Rippedcasts.conf new file mode 100644 index 0000000..20e9872 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Rippedcasts.conf @@ -0,0 +1,21 @@ +background #2b2b2b +foreground #ffffff +cursor #7f7f7f +selection_background #5a637e +color0 #000000 +color8 #666666 +color1 #ccae95 +color9 #edcbac +color2 #a7ff60 +color10 #bced68 +color3 #beba1f +color11 #e5e500 +color4 #74a4af +color12 #86bdc8 +color5 #ff73fd +color13 #e500e5 +color6 #5a637e +color14 #8b9bc4 +color7 #bebebe +color15 #e5e5e5 +selection_foreground #2b2b2b diff --git a/private_dot_config/kitty/kitty-themes/themes/Royal.conf b/private_dot_config/kitty/kitty-themes/themes/Royal.conf new file mode 100644 index 0000000..0ebd236 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Royal.conf @@ -0,0 +1,21 @@ +background #100814 +foreground #504868 +cursor #514965 +selection_background #1e1d2a +color0 #241f2a +color8 #312d3c +color1 #90274b +color9 #d4346c +color2 #23801c +color10 #2cd845 +color3 #b49d27 +color11 #fde83a +color4 #6480af +color12 #8fb9f9 +color5 #664d96 +color13 #a479e2 +color6 #8aaabd +color14 #abd3eb +color7 #514965 +color15 #9d8bbd +selection_foreground #100814 diff --git a/private_dot_config/kitty/kitty-themes/themes/SeaShells.conf b/private_dot_config/kitty/kitty-themes/themes/SeaShells.conf new file mode 100644 index 0000000..60a2968 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/SeaShells.conf @@ -0,0 +1,21 @@ +background #08131a +foreground #deb88d +cursor #fba02f +selection_background #1e4862 +color0 #17384c +color8 #424b52 +color1 #d05023 +color9 #d38677 +color2 #027b9b +color10 #618c98 +color3 #fba02f +color11 #fdd29e +color4 #1d4850 +color12 #1abcdd +color5 #68d3f0 +color13 #bbe3ee +color6 #50a3b5 +color14 #86abb3 +color7 #deb88d +color15 #fee3cd +selection_foreground #08131a diff --git a/private_dot_config/kitty/kitty-themes/themes/Seafoam_Pastel.conf b/private_dot_config/kitty/kitty-themes/themes/Seafoam_Pastel.conf new file mode 100644 index 0000000..c3e95a7 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Seafoam_Pastel.conf @@ -0,0 +1,21 @@ +background #243335 +foreground #d3e6d3 +cursor #576379 +selection_background #ffffff +color0 #747474 +color8 #8a8a8a +color1 #825d4c +color9 #cf9279 +color2 #718b62 +color10 #98d9aa +color3 #aca06d +color11 #fae69c +color4 #4c7b82 +color12 #79c3cf +color5 #8a7166 +color13 #d6b2a0 +color6 #719494 +color14 #acdfdf +color7 #dfdfdf +color15 #dfdfdf +selection_foreground #243335 diff --git a/private_dot_config/kitty/kitty-themes/themes/Seti.conf b/private_dot_config/kitty/kitty-themes/themes/Seti.conf new file mode 100644 index 0000000..69c4105 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Seti.conf @@ -0,0 +1,21 @@ +background #111213 +foreground #cacecd +cursor #e2be21 +selection_background #303233 +color0 #323232 +color8 #323232 +color1 #c22832 +color9 #c22832 +color2 #8ec43d +color10 #8ec43d +color3 #e0c64f +color11 #e0c64f +color4 #43a5d5 +color12 #43a5d5 +color5 #8b57b5 +color13 #8b57b5 +color6 #8ec43d +color14 #8ec43d +color7 #eeeeee +color15 #ffffff +selection_foreground #111213 diff --git a/private_dot_config/kitty/kitty-themes/themes/Shaman.conf b/private_dot_config/kitty/kitty-themes/themes/Shaman.conf new file mode 100644 index 0000000..a316711 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Shaman.conf @@ -0,0 +1,21 @@ +background #001014 +foreground #405555 +cursor #49fcd5 +selection_background #415554 +color0 #012026 +color8 #374350 +color1 #b12f2c +color9 #ff4242 +color2 #00a940 +color10 #2aea5e +color3 #5d8aa9 +color11 #8dd3fd +color4 #449985 +color12 #61d4b9 +color5 #00599c +color13 #1298ff +color6 #5c7e19 +color14 #98cf28 +color7 #405554 +color15 #58fad6 +selection_foreground #001014 diff --git a/private_dot_config/kitty/kitty-themes/themes/Slate.conf b/private_dot_config/kitty/kitty-themes/themes/Slate.conf new file mode 100644 index 0000000..650e4ab --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Slate.conf @@ -0,0 +1,21 @@ +background #212121 +foreground #34b0d2 +cursor #87d2c3 +selection_background #0f3754 +color0 #212121 +color8 #ffffff +color1 #e1a7bf +color9 #ffccd8 +color2 #80d778 +color10 #bdffa8 +color3 #c4c9bf +color11 #d0cbc9 +color4 #254a49 +color12 #79afd2 +color5 #a380d3 +color13 #c4a7d8 +color6 #14ab9c +color14 #8bdee0 +color7 #02c4e0 +color15 #e0e0e0 +selection_foreground #212121 diff --git a/private_dot_config/kitty/kitty-themes/themes/Smyck.conf b/private_dot_config/kitty/kitty-themes/themes/Smyck.conf new file mode 100644 index 0000000..3c97251 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Smyck.conf @@ -0,0 +1,21 @@ +background #1b1b1b +foreground #f7f7f7 +cursor #bbbbbb +selection_background #207383 +color0 #000000 +color8 #7a7a7a +color1 #b74131 +color9 #d6837b +color2 #7da900 +color10 #c4f036 +color3 #c4a400 +color11 #fee14d +color4 #62a3c4 +color12 #8dcff0 +color5 #b98acc +color13 #f799ff +color6 #207383 +color14 #69d9cf +color7 #a0a0a0 +color15 #f7f7f7 +selection_foreground #1b1b1b diff --git a/private_dot_config/kitty/kitty-themes/themes/SoftServer.conf b/private_dot_config/kitty/kitty-themes/themes/SoftServer.conf new file mode 100644 index 0000000..e7eb5fe --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/SoftServer.conf @@ -0,0 +1,21 @@ +background #242626 +foreground #99a3a2 +cursor #d1dfde +selection_background #7f8786 +color0 #000000 +color8 #666c6b +color1 #a16869 +color9 #dc5b5f +color2 #99a569 +color10 #bfde54 +color3 #a29069 +color11 #deb35f +color4 #6a8fa3 +color12 #62b1df +color5 #6971a3 +color13 #5f6ede +color6 #6ba48f +color14 #64e39c +color7 #99a3a2 +color15 #d1dfde +selection_foreground #242626 diff --git a/private_dot_config/kitty/kitty-themes/themes/Solarized_Darcula.conf b/private_dot_config/kitty/kitty-themes/themes/Solarized_Darcula.conf new file mode 100644 index 0000000..0a845d4 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Solarized_Darcula.conf @@ -0,0 +1,21 @@ +background #3d3f41 +foreground #d2d8d9 +cursor #708183 +selection_background #214283 +color0 #25292a +color8 #25292a +color1 #f24840 +color9 #f24840 +color2 #629655 +color10 #629655 +color3 #b68800 +color11 #b68800 +color4 #2074c7 +color12 #2074c7 +color5 #797fd4 +color13 #797fd4 +color6 #15968d +color14 #15968d +color7 #d2d8d9 +color15 #d2d8d9 +selection_foreground #3d3f41 diff --git a/private_dot_config/kitty/kitty-themes/themes/Solarized_Dark.conf b/private_dot_config/kitty/kitty-themes/themes/Solarized_Dark.conf new file mode 100644 index 0000000..8419426 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Solarized_Dark.conf @@ -0,0 +1,21 @@ +background #001e26 +foreground #708183 +cursor #708183 +selection_background #002731 +color0 #002731 +color8 #001e26 +color1 #d01b24 +color9 #bd3612 +color2 #728905 +color10 #465a61 +color3 #a57705 +color11 #52676f +color4 #2075c7 +color12 #708183 +color5 #c61b6e +color13 #5856b9 +color6 #259185 +color14 #81908f +color7 #e9e2cb +color15 #fcf4dc +selection_foreground #001e26 diff --git a/private_dot_config/kitty/kitty-themes/themes/Solarized_Dark_-_Patched.conf b/private_dot_config/kitty/kitty-themes/themes/Solarized_Dark_-_Patched.conf new file mode 100644 index 0000000..37c3597 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Solarized_Dark_-_Patched.conf @@ -0,0 +1,21 @@ +background #001e26 +foreground #708183 +cursor #708183 +selection_background #002731 +color0 #002731 +color8 #465a61 +color1 #d01b24 +color9 #bd3612 +color2 #728905 +color10 #465a61 +color3 #a57705 +color11 #52676f +color4 #2075c7 +color12 #708183 +color5 #c61b6e +color13 #5856b9 +color6 #259185 +color14 #81908f +color7 #e9e2cb +color15 #fcf4dc +selection_foreground #001e26 diff --git a/private_dot_config/kitty/kitty-themes/themes/Solarized_Dark_Higher_Contrast.conf b/private_dot_config/kitty/kitty-themes/themes/Solarized_Dark_Higher_Contrast.conf new file mode 100644 index 0000000..8477ea1 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Solarized_Dark_Higher_Contrast.conf @@ -0,0 +1,21 @@ +background #001e26 +foreground #9bc1c2 +cursor #f34a00 +selection_background #003747 +color0 #002731 +color8 #006388 +color1 #d01b24 +color9 #f4153b +color2 #6bbe6c +color10 #50ee84 +color3 #a57705 +color11 #b17e28 +color4 #2075c7 +color12 #178dc7 +color5 #c61b6e +color13 #e14d8e +color6 #259185 +color14 #00b29e +color7 #e9e2cb +color15 #fcf4dc +selection_foreground #001e26 diff --git a/private_dot_config/kitty/kitty-themes/themes/Solarized_Light.conf b/private_dot_config/kitty/kitty-themes/themes/Solarized_Light.conf new file mode 100644 index 0000000..36e101b --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Solarized_Light.conf @@ -0,0 +1,21 @@ +background #fdf6e3 +foreground #52676f +cursor #52676f +selection_background #e9e2cb +color0 #e4e4e4 +color8 #ffffd7 +color1 #d70000 +color9 #d75f00 +color2 #5f8700 +color10 #585858 +color3 #af8700 +color11 #626262 +color4 #0087ff +color12 #808080 +color5 #af005f +color13 #5f5faf +color6 #00afaf +color14 #8a8a8a +color7 #262626 +color15 #1c1c1c +selection_foreground #fcf4dc diff --git a/private_dot_config/kitty/kitty-themes/themes/Source_Code_X.conf b/private_dot_config/kitty/kitty-themes/themes/Source_Code_X.conf new file mode 100644 index 0000000..d3aefa3 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Source_Code_X.conf @@ -0,0 +1,21 @@ +foreground #000000 +background #1f1f24 +cursor #7F7F7F +color0 #4e596b +color8 #91a0b1 +color1 #fb695d +color7 #BFBFBF +color9 #fb695d +color2 #74b391 +color10 #aef37c +color3 #fc8e3e +color11 #fc8e3e +color4 #9586f4 +color12 #53a4fb +color5 #fb5ea3 +color13 #fb5ea3 +color6 #79c8b6 +color14 #83d2c0 +color15 #91a0b1 +selection_foreground #1f1f24 +selection_background #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/SpaceGray.conf b/private_dot_config/kitty/kitty-themes/themes/SpaceGray.conf new file mode 100644 index 0000000..ba9afeb --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/SpaceGray.conf @@ -0,0 +1,21 @@ +background #20232c +foreground #b2b8c2 +cursor #b2b8c2 +selection_background #15171e +color0 #000000 +color8 #000000 +color1 #af4b57 +color9 #af4b57 +color2 #87b279 +color10 #87b279 +color3 #e5c078 +color11 #e5c078 +color4 #7c8fa3 +color12 #7c8fa3 +color5 #a37996 +color13 #a37996 +color6 #84a6a4 +color14 #84a6a4 +color7 #b2b8c2 +color15 #fffefe +selection_foreground #20232c diff --git a/private_dot_config/kitty/kitty-themes/themes/SpaceGray_Eighties.conf b/private_dot_config/kitty/kitty-themes/themes/SpaceGray_Eighties.conf new file mode 100644 index 0000000..8249a17 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/SpaceGray_Eighties.conf @@ -0,0 +1,21 @@ +background #212121 +foreground #bdb9ae +cursor #bbbbbb +selection_background #262e35 +color0 #15171c +color8 #545454 +color1 #ec5f67 +color9 #ff6973 +color2 #80a763 +color10 #93d393 +color3 #fdc253 +color11 #ffd156 +color4 #5485c0 +color12 #4d83d0 +color5 #bf83c0 +color13 #ff55ff +color6 #57c2c0 +color14 #83e8e4 +color7 #eeece7 +color15 #ffffff +selection_foreground #212121 diff --git a/private_dot_config/kitty/kitty-themes/themes/SpaceGray_Eighties_Dull.conf b/private_dot_config/kitty/kitty-themes/themes/SpaceGray_Eighties_Dull.conf new file mode 100644 index 0000000..eabf184 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/SpaceGray_Eighties_Dull.conf @@ -0,0 +1,21 @@ +background #212121 +foreground #c8c5bc +cursor #bbbbbb +selection_background #262e36 +color0 #15171c +color8 #545454 +color1 #b14956 +color9 #ec5f67 +color2 #91b377 +color10 #88e985 +color3 #c6725a +color11 #fdc253 +color4 #7b8fa4 +color12 #5485c0 +color5 #a5779e +color13 #bf83c0 +color6 #7fcccb +color14 #58c2c0 +color7 #b2b8c2 +color15 #ffffff +selection_foreground #212121 diff --git a/private_dot_config/kitty/kitty-themes/themes/Spacedust.conf b/private_dot_config/kitty/kitty-themes/themes/Spacedust.conf new file mode 100644 index 0000000..08b93c4 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Spacedust.conf @@ -0,0 +1,21 @@ +background #0a1e24 +foreground #ecefc1 +cursor #708183 +selection_background #0a385c +color0 #6e5246 +color8 #674c31 +color1 #e35a00 +color9 #ff8a39 +color2 #5cab96 +color10 #adcab8 +color3 #e3cd7b +color11 #ffc777 +color4 #0e548b +color12 #67a0cd +color5 #e35a00 +color13 #ff8a39 +color6 #06afc7 +color14 #83a6b3 +color7 #f0f1ce +color15 #fefff0 +selection_foreground #0a1e24 diff --git a/private_dot_config/kitty/kitty-themes/themes/Spiderman.conf b/private_dot_config/kitty/kitty-themes/themes/Spiderman.conf new file mode 100644 index 0000000..a72bbca --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Spiderman.conf @@ -0,0 +1,21 @@ +background #1b1d1e +foreground #e2e2e2 +cursor #2b3fff +selection_background #070e4f +color0 #1b1d1e +color8 #505354 +color1 #e60712 +color9 #ff0325 +color2 #e22828 +color10 #ff3238 +color3 #e24655 +color11 #fe3935 +color4 #2b3fff +color12 #1d4fff +color5 #2435db +color13 #737bff +color6 #3255ff +color14 #6083ff +color7 #fffef6 +color15 #fefff9 +selection_foreground #1b1d1e diff --git a/private_dot_config/kitty/kitty-themes/themes/Spring.conf b/private_dot_config/kitty/kitty-themes/themes/Spring.conf new file mode 100644 index 0000000..4df6d1c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Spring.conf @@ -0,0 +1,21 @@ +background #ffffff +foreground #4d4d4c +cursor #4d4d4c +selection_background #d6d6d6 +color0 #000000 +color8 #000000 +color1 #ff4c83 +color9 #ff0021 +color2 #1f8c3a +color10 #1fc231 +color3 #1fc95a +color11 #d4b706 +color4 #1cd2ee +color12 #15a9fd +color5 #8959a8 +color13 #8959a8 +color6 #3e999f +color14 #3e999f +color7 #fffefe +color15 #fffefe +selection_foreground #ffffff diff --git a/private_dot_config/kitty/kitty-themes/themes/Square.conf b/private_dot_config/kitty/kitty-themes/themes/Square.conf new file mode 100644 index 0000000..e5457a5 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Square.conf @@ -0,0 +1,21 @@ +background #1a1a1a +foreground #acacab +cursor #fbfacc +selection_background #4d4d4d +color0 #050505 +color8 #141414 +color1 #e9897c +color9 #f99286 +color2 #b6377d +color10 #c3f786 +color3 #ecebbe +color11 #fcfbcc +color4 #a9cdeb +color12 #b6defb +color5 #75507b +color13 #ad7fa8 +color6 #c9caec +color14 #d7d9fc +color7 #f2f2f2 +color15 #e2e2e2 +selection_foreground #1a1a1a diff --git a/private_dot_config/kitty/kitty-themes/themes/Sundried.conf b/private_dot_config/kitty/kitty-themes/themes/Sundried.conf new file mode 100644 index 0000000..d5ff99d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Sundried.conf @@ -0,0 +1,21 @@ +background #1a1818 +foreground #c8c8c8 +cursor #fffefe +selection_background #302b2a +color0 #302b2a +color8 #4d4d47 +color1 #a6463d +color9 #aa000c +color2 #577644 +color10 #128c20 +color3 #9c5f2a +color11 #fc6a20 +color4 #485a98 +color12 #7898f7 +color5 #854551 +color13 #fc89a0 +color6 #9c814e +color14 #fad384 +color7 #c8c8c8 +color15 #fffefe +selection_foreground #1a1818 diff --git a/private_dot_config/kitty/kitty-themes/themes/Symfonic.conf b/private_dot_config/kitty/kitty-themes/themes/Symfonic.conf new file mode 100644 index 0000000..9b5e0d3 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Symfonic.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #ffffff +cursor #dc322f +selection_background #073642 +color0 #000000 +color8 #1b1d21 +color1 #dc322f +color9 #dc322f +color2 #56db3a +color10 #56db3a +color3 #ff8400 +color11 #ff8400 +color4 #0084d4 +color12 #0084d4 +color5 #b729d9 +color13 #b729d9 +color6 #ccccff +color14 #ccccff +color7 #ffffff +color15 #ffffff +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Tango_Dark.conf b/private_dot_config/kitty/kitty-themes/themes/Tango_Dark.conf new file mode 100644 index 0000000..6a4673a --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Tango_Dark.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #ffffff +cursor #ffffff +selection_background #b4d5ff +color0 #000000 +color8 #545753 +color1 #cc0000 +color9 #ef2828 +color2 #4e9a05 +color10 #8ae234 +color3 #c4a000 +color11 #fce94e +color4 #3464a4 +color12 #719ecf +color5 #74507a +color13 #ad7ea7 +color6 #05989a +color14 #34e2e2 +color7 #d3d7cf +color15 #ededec +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Tango_Light.conf b/private_dot_config/kitty/kitty-themes/themes/Tango_Light.conf new file mode 100644 index 0000000..07f82bf --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Tango_Light.conf @@ -0,0 +1,21 @@ +background #ffffff +foreground #000000 +cursor #000000 +selection_background #b4d5ff +color0 #000000 +color8 #545753 +color1 #cc0000 +color9 #ef2828 +color2 #4e9a05 +color10 #8ae234 +color3 #c4a000 +color11 #fce94e +color4 #3464a4 +color12 #719ecf +color5 #74507a +color13 #ad7ea7 +color6 #05989a +color14 #34e2e2 +color7 #d3d7cf +color15 #ededec +selection_foreground #ffffff diff --git a/private_dot_config/kitty/kitty-themes/themes/Teerb.conf b/private_dot_config/kitty/kitty-themes/themes/Teerb.conf new file mode 100644 index 0000000..9e9cab7 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Teerb.conf @@ -0,0 +1,21 @@ +background #262626 +foreground #d0d0d0 +cursor #e3c8ae +selection_background #4d4d4d +color0 #1c1c1c +color8 #1c1c1c +color1 #d68686 +color9 #d68686 +color2 #aed686 +color10 #aed686 +color3 #d7af87 +color11 #e4c9af +color4 #86aed6 +color12 #86aed6 +color5 #d6aed6 +color13 #d6aed6 +color6 #8adbb4 +color14 #b1e7dd +color7 #d0d0d0 +color15 #efefef +selection_foreground #262626 diff --git a/private_dot_config/kitty/kitty-themes/themes/Thayer_Bright.conf b/private_dot_config/kitty/kitty-themes/themes/Thayer_Bright.conf new file mode 100644 index 0000000..b74bc60 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Thayer_Bright.conf @@ -0,0 +1,21 @@ +background #1b1d1e +foreground #f8f8f8 +cursor #fc971e +selection_background #4d4d4d +color0 #1b1d1e +color8 #505354 +color1 #f92672 +color9 #ff5995 +color2 #4df740 +color10 #b6e354 +color3 #f3fd21 +color11 #feed6c +color4 #2656d6 +color12 #3f78ff +color5 #8c54fe +color13 #9e6ffe +color6 #37c8b4 +color14 #23ced4 +color7 #ccccc6 +color15 #f8f8f2 +selection_foreground #1b1d1e diff --git a/private_dot_config/kitty/kitty-themes/themes/The_Hulk.conf b/private_dot_config/kitty/kitty-themes/themes/The_Hulk.conf new file mode 100644 index 0000000..81bd962 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/The_Hulk.conf @@ -0,0 +1,21 @@ +background #1b1d1e +foreground #b4b4b4 +cursor #15b61a +selection_background #4d4f4c +color0 #1b1d1e +color8 #505354 +color1 #259d1a +color9 #8dff2a +color2 #13ce2f +color10 #48ff76 +color3 #62e456 +color11 #3afe15 +color4 #2424f4 +color12 #4f6a95 +color5 #641e73 +color13 #72579d +color6 #378ca9 +color14 #3f85a5 +color7 #d8d8d0 +color15 #e5e5e0 +selection_foreground #1b1d1e diff --git a/private_dot_config/kitty/kitty-themes/themes/Tomorrow.conf b/private_dot_config/kitty/kitty-themes/themes/Tomorrow.conf new file mode 100644 index 0000000..23a8dfc --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Tomorrow.conf @@ -0,0 +1,21 @@ +background #ffffff +foreground #4c4c4c +cursor #4c4c4c +selection_background #d6d6d6 +color0 #000000 +color8 #000000 +color1 #c82828 +color9 #c82828 +color2 #708b00 +color10 #708b00 +color3 #e9b600 +color11 #e9b600 +color4 #4170ae +color12 #4170ae +color5 #8958a7 +color13 #8958a7 +color6 #3d999f +color14 #3d999f +color7 #fffefe +color15 #fffefe +selection_foreground #ffffff diff --git a/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night.conf b/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night.conf new file mode 100644 index 0000000..0bf3cf7 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night.conf @@ -0,0 +1,21 @@ +background #1d1f21 +foreground #c4c8c5 +cursor #c4c8c5 +selection_background #363a41 +color0 #000000 +color8 #000000 +color1 #cc6666 +color9 #cc6666 +color2 #b5bd68 +color10 #b5bd68 +color3 #f0c574 +color11 #f0c574 +color4 #80a1bd +color12 #80a1bd +color5 #b294ba +color13 #b294ba +color6 #8abdb6 +color14 #8abdb6 +color7 #fffefe +color15 #fffefe +selection_foreground #1d1f21 diff --git a/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Blue.conf b/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Blue.conf new file mode 100644 index 0000000..b32cbfd --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Blue.conf @@ -0,0 +1,21 @@ +background #002450 +foreground #fffefe +cursor #fffefe +selection_background #003e8e +color0 #000000 +color8 #000000 +color1 #ff9ca3 +color9 #ff9ca3 +color2 #d0f0a8 +color10 #d0f0a8 +color3 #ffedac +color11 #ffedac +color4 #badaff +color12 #badaff +color5 #ebbaff +color13 #ebbaff +color6 #99ffff +color14 #99ffff +color7 #fffefe +color15 #fffefe +selection_foreground #002450 diff --git a/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Bright.conf b/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Bright.conf new file mode 100644 index 0000000..346f3dc --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Bright.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #e9e9e9 +cursor #e9e9e9 +selection_background #424242 +color0 #000000 +color8 #000000 +color1 #d44d53 +color9 #d44d53 +color2 #b9c949 +color10 #b9c949 +color3 #e6c446 +color11 #e6c446 +color4 #79a6da +color12 #79a6da +color5 #c396d7 +color13 #c396d7 +color6 #70c0b1 +color14 #70c0b1 +color7 #fffefe +color15 #fffefe +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Eighties.conf b/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Eighties.conf new file mode 100644 index 0000000..404efc7 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Tomorrow_Night_Eighties.conf @@ -0,0 +1,21 @@ +background #2c2c2c +foreground #cccccc +cursor #cccccc +selection_background #505050 +color0 #000000 +color8 #000000 +color1 #f17779 +color9 #f17779 +color2 #99cc99 +color10 #99cc99 +color3 #ffcc66 +color11 #ffcc66 +color4 #6699cc +color12 #6699cc +color5 #cc99cc +color13 #cc99cc +color6 #66cccc +color14 #66cccc +color7 #fffefe +color15 #fffefe +selection_foreground #2c2c2c diff --git a/private_dot_config/kitty/kitty-themes/themes/ToyChest.conf b/private_dot_config/kitty/kitty-themes/themes/ToyChest.conf new file mode 100644 index 0000000..040cb8d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/ToyChest.conf @@ -0,0 +1,21 @@ +background #23364a +foreground #30cf7b +cursor #d4d4d4 +selection_background #5f207a +color0 #2c3f57 +color8 #326889 +color1 #be2d26 +color9 #dd5943 +color2 #199171 +color10 #30cf7b +color3 #da8e26 +color11 #e7d74b +color4 #325d96 +color12 #33a5d9 +color5 #8a5ddb +color13 #ad6bdc +color6 #35a08f +color14 #41c3ad +color7 #23d082 +color15 #d4d4d4 +selection_foreground #23364a diff --git a/private_dot_config/kitty/kitty-themes/themes/Treehouse.conf b/private_dot_config/kitty/kitty-themes/themes/Treehouse.conf new file mode 100644 index 0000000..940751e --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Treehouse.conf @@ -0,0 +1,21 @@ +background #191919 +foreground #776b53 +cursor #fac814 +selection_background #776b53 +color0 #321200 +color8 #423625 +color1 #b1270e +color9 #ed5c20 +color2 #44a900 +color10 #55f237 +color3 #a9810b +color11 #f1b731 +color4 #578499 +color12 #85cfec +color5 #96363c +color13 #e04b5a +color6 #b2591d +color14 #f07c14 +color7 #776b53 +color15 #ffc800 +selection_foreground #191919 diff --git a/private_dot_config/kitty/kitty-themes/themes/Twilight.conf b/private_dot_config/kitty/kitty-themes/themes/Twilight.conf new file mode 100644 index 0000000..452a4d2 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Twilight.conf @@ -0,0 +1,21 @@ +background #141414 +foreground #feffd3 +cursor #ffffff +selection_background #303030 +color0 #141414 +color8 #262626 +color1 #c06c43 +color9 #dd7c4c +color2 #afb979 +color10 #cbd88c +color3 #c2a86c +color11 #e1c47d +color4 #444649 +color12 #5a5d61 +color5 #b4be7b +color13 #d0db8e +color6 #778284 +color14 #8a989a +color7 #feffd3 +color15 #feffd3 +selection_foreground #141414 diff --git a/private_dot_config/kitty/kitty-themes/themes/Ubuntu.conf b/private_dot_config/kitty/kitty-themes/themes/Ubuntu.conf new file mode 100644 index 0000000..96e9d09 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Ubuntu.conf @@ -0,0 +1,21 @@ +background #300a24 +foreground #eeeeec +cursor #bbbbbb +selection_background #b4d5ff +color0 #2e3436 +color8 #555753 +color1 #cc0000 +color9 #ef2929 +color2 #4e9a06 +color10 #8ae234 +color3 #c4a000 +color11 #fce94f +color4 #3465a4 +color12 #729fcf +color5 #75507b +color13 #ad7fa8 +color6 #06989a +color14 #34e2e2 +color7 #d3d7cf +color15 #eeeeec +selection_foreground #300a24 diff --git a/private_dot_config/kitty/kitty-themes/themes/Urple.conf b/private_dot_config/kitty/kitty-themes/themes/Urple.conf new file mode 100644 index 0000000..a29dcad --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Urple.conf @@ -0,0 +1,21 @@ +background #1b1b23 +foreground #86799a +cursor #a062ea +selection_background #a062ea +color0 #000000 +color8 #5c3125 +color1 #af425b +color9 #ff6387 +color2 #37a315 +color10 #28e51f +color3 #ac5b41 +color11 #f08061 +color4 #554d9a +color12 #8579ed +color5 #6c3ba1 +color13 #a05dee +color6 #808080 +color14 #eaeaea +color7 #87799c +color15 #bfa3ff +selection_foreground #1b1b23 diff --git a/private_dot_config/kitty/kitty-themes/themes/Vaughn.conf b/private_dot_config/kitty/kitty-themes/themes/Vaughn.conf new file mode 100644 index 0000000..26d1885 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Vaughn.conf @@ -0,0 +1,21 @@ +background #25234e +foreground #dcdccc +cursor #ff5555 +selection_background #b5d5ff +color0 #24234f +color8 #709080 +color1 #705050 +color9 #dca3a3 +color2 #60b48a +color10 #60b48a +color3 #dfaf8f +color11 #f0dfaf +color4 #5454ff +color12 #5454ff +color5 #f08cc3 +color13 #ec93d3 +color6 #8cd0d3 +color14 #93e0e3 +color7 #709080 +color15 #ffffff +selection_foreground #25234e diff --git a/private_dot_config/kitty/kitty-themes/themes/VibrantInk.conf b/private_dot_config/kitty/kitty-themes/themes/VibrantInk.conf new file mode 100644 index 0000000..5fbd281 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/VibrantInk.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #ffffff +cursor #ffffff +selection_background #b4d5ff +color0 #868686 +color8 #545454 +color1 #ff6600 +color9 #ff0000 +color2 #ccff04 +color10 #00ff00 +color3 #ffcc00 +color11 #ffff00 +color4 #44b3cc +color12 #0000ff +color5 #9933cc +color13 #ff00ff +color6 #44b3cc +color14 #00ffff +color7 #f4f4f4 +color15 #e5e5e5 +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/WarmNeon.conf b/private_dot_config/kitty/kitty-themes/themes/WarmNeon.conf new file mode 100644 index 0000000..3256f5d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/WarmNeon.conf @@ -0,0 +1,21 @@ +background #3f3f3f +foreground #afdab6 +cursor #2fff24 +selection_background #b0ad21 +color0 #000000 +color8 #fdfcfc +color1 #e24345 +color9 #e86f71 +color2 #38b139 +color10 #9bc08f +color3 #dae145 +color11 #ddd979 +color4 #4260c5 +color12 #7a90d5 +color5 #f81ffb +color13 #f674b9 +color6 #29bad3 +color14 #5ed1e4 +color7 #d0b8a3 +color15 #d8c8bb +selection_foreground #3f3f3f diff --git a/private_dot_config/kitty/kitty-themes/themes/Wez.conf b/private_dot_config/kitty/kitty-themes/themes/Wez.conf new file mode 100644 index 0000000..11706ab --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Wez.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #b3b3b3 +cursor #52ad70 +selection_background #4c52f8 +color0 #000000 +color8 #555555 +color1 #cc5555 +color9 #ff5555 +color2 #55cc55 +color10 #55ff55 +color3 #cdcd55 +color11 #ffff55 +color4 #5455cb +color12 #5555ff +color5 #cc55cc +color13 #ff55ff +color6 #7acaca +color14 #55ffff +color7 #cccccc +color15 #ffffff +selection_foreground #000000 diff --git a/private_dot_config/kitty/kitty-themes/themes/WildCherry.conf b/private_dot_config/kitty/kitty-themes/themes/WildCherry.conf new file mode 100644 index 0000000..a4bfa47 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/WildCherry.conf @@ -0,0 +1,21 @@ +background #1f1626 +foreground #d9faff +cursor #dd00ff +selection_background #002731 +color0 #000506 +color8 #009cc9 +color1 #d94085 +color9 #da6bab +color2 #2ab250 +color10 #f4dba5 +color3 #ffd06e +color11 #eac066 +color4 #873bdb +color12 #2f8bb9 +color5 #ececec +color13 #ae636b +color6 #c1b8b6 +color14 #ff919d +color7 #fff8dd +color15 #e4838d +selection_foreground #1f1626 diff --git a/private_dot_config/kitty/kitty-themes/themes/Wombat.conf b/private_dot_config/kitty/kitty-themes/themes/Wombat.conf new file mode 100644 index 0000000..d4616fc --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Wombat.conf @@ -0,0 +1,21 @@ +background #171717 +foreground #ded9ce +cursor #bbbbbb +selection_background #453a39 +color0 #000000 +color8 #313131 +color1 #ff605a +color9 #f58b7f +color2 #b1e869 +color10 #dcf88f +color3 #ead89c +color11 #eee5b2 +color4 #5da9f6 +color12 #a5c7ff +color5 #e86aff +color13 #ddaaff +color6 #82fff6 +color14 #b6fff9 +color7 #ded9ce +color15 #fefffe +selection_foreground #171717 diff --git a/private_dot_config/kitty/kitty-themes/themes/Wryan.conf b/private_dot_config/kitty/kitty-themes/themes/Wryan.conf new file mode 100644 index 0000000..73d758d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Wryan.conf @@ -0,0 +1,21 @@ +background #101010 +foreground #999993 +cursor #9d9eca +selection_background #4d4d4d +color0 #333333 +color8 #3d3d3d +color1 #8c4665 +color9 #bf4d80 +color2 #287373 +color10 #53a6a6 +color3 #7c7c99 +color11 #9e9ecb +color4 #395573 +color12 #477ab3 +color5 #5e468c +color13 #7e62b3 +color6 #31658c +color14 #6096bf +color7 #899ca1 +color15 #c0c0c0 +selection_foreground #101010 diff --git a/private_dot_config/kitty/kitty-themes/themes/Zenburn.conf b/private_dot_config/kitty/kitty-themes/themes/Zenburn.conf new file mode 100644 index 0000000..032b99b --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/Zenburn.conf @@ -0,0 +1,25 @@ +# Zenburn by jnurmine, https://github.com/jnurmine/Zenburn +# This work is licensed under the terms of the GNU GPL license. +# For a copy, see http://www.gnu.org/licenses/gpl.html. + +background #3f3f3f +foreground #dcdccc +cursor #73635a +selection_background #21322f +color0 #4d4d4d +color8 #709080 +color1 #705050 +color9 #dca3a3 +color2 #60b48a +color10 #c3bf9f +color3 #f0deae +color11 #dfcf9f +color4 #506070 +color12 #94bff3 +color5 #dc8cc3 +color13 #ec93d3 +color6 #8cd0d3 +color14 #93e0e3 +color7 #dcdccc +color15 #ffffff +selection_foreground #3f3f3f diff --git a/private_dot_config/kitty/kitty-themes/themes/ayu.conf b/private_dot_config/kitty/kitty-themes/themes/ayu.conf new file mode 100644 index 0000000..8030263 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/ayu.conf @@ -0,0 +1,21 @@ +background #0e1419 +foreground #e5e1cf +cursor #f19618 +selection_background #243340 +color0 #000000 +color8 #323232 +color1 #ff3333 +color9 #ff6565 +color2 #b8cc52 +color10 #e9fe83 +color3 #e6c446 +color11 #fff778 +color4 #36a3d9 +color12 #68d4ff +color5 #f07078 +color13 #ffa3aa +color6 #95e5cb +color14 #c7fffc +color7 #ffffff +color15 #ffffff +selection_foreground #0e1419 diff --git a/private_dot_config/kitty/kitty-themes/themes/ayu_light.conf b/private_dot_config/kitty/kitty-themes/themes/ayu_light.conf new file mode 100644 index 0000000..35c532c --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/ayu_light.conf @@ -0,0 +1,21 @@ +background #fafafa +foreground #5b6673 +cursor #ff6900 +selection_background #f0ede4 +color0 #000000 +color8 #323232 +color1 #ff3333 +color9 #ff6565 +color2 #86b200 +color10 #b8e532 +color3 #f19618 +color11 #ffc849 +color4 #41a6d9 +color12 #73d7ff +color5 #f07078 +color13 #ffa3aa +color6 #4cbe99 +color14 #7ff0cb +color7 #ffffff +color15 #ffffff +selection_foreground #fafafa diff --git a/private_dot_config/kitty/kitty-themes/themes/ayu_mirage.conf b/private_dot_config/kitty/kitty-themes/themes/ayu_mirage.conf new file mode 100644 index 0000000..19d2e40 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/ayu_mirage.conf @@ -0,0 +1,21 @@ +background #212733 +foreground #d9d7ce +cursor #ffcc66 +selection_background #343f4c +color0 #191e2a +color8 #686868 +color1 #ed8274 +color9 #f28779 +color2 #a6cc70 +color10 #bae67e +color3 #fad07b +color11 #ffd580 +color4 #6dcbfa +color12 #73d0ff +color5 #cfbafa +color13 #d4bfff +color6 #90e1c6 +color14 #95e6cb +color7 #c7c7c7 +color15 #ffffff +selection_foreground #212733 diff --git a/private_dot_config/kitty/kitty-themes/themes/gruvbox_dark.conf b/private_dot_config/kitty/kitty-themes/themes/gruvbox_dark.conf new file mode 100644 index 0000000..369da8d --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/gruvbox_dark.conf @@ -0,0 +1,49 @@ +# gruvbox dark by morhetz, https://github.com/morhetz/gruvbox +# This work is licensed under the terms of the MIT license. +# For a copy, see https://opensource.org/licenses/MIT. + +background #282828 +foreground #ebdbb2 + +cursor #928374 + +selection_foreground #928374 +selection_background #3c3836 + +color0 #282828 +color8 #928374 + +# red +color1 #cc241d +# light red +color9 #fb4934 + +# green +color2 #98971a +# light green +color10 #b8bb26 + +# yellow +color3 #d79921 +# light yellow +color11 #fabd2d + +# blue +color4 #458588 +# light blue +color12 #83a598 + +# magenta +color5 #b16286 +# light magenta +color13 #d3869b + +# cyan +color6 #689d6a +# lighy cyan +color14 #8ec07c + +# light gray +color7 #a89984 +# dark gray +color15 #928374 diff --git a/private_dot_config/kitty/kitty-themes/themes/gruvbox_light.conf b/private_dot_config/kitty/kitty-themes/themes/gruvbox_light.conf new file mode 100644 index 0000000..6d8b89b --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/gruvbox_light.conf @@ -0,0 +1,49 @@ +# gruvbox light by morhetz, https://github.com/morhetz/gruvbox +# This work is licensed under the terms of the MIT license. +# For a copy, see https://opensource.org/licenses/MIT. + +background #fbf1c7 +foreground #3c3836 + +cursor #928374 + +selection_foreground #3c3836 +selection_background #928374 + +color0 #fbf1c7 +color8 #282828 + +# red +color1 #cc241d +# light red +color9 #9d0006 + +# green +color2 #98971a +# light green +color10 #79740e + +# yellow +color3 #d79921 +# light yellow +color11 #b57614 + +# blue +color4 #458588 +# light blue +color12 #076678 + +# magenta +color5 #b16286 +# light magenta +color13 #8f3f71 + +# cyan +color6 #689d6a +# lighy cyan +color14 #427b58 + +# light gray +color7 #7c6f64 +# dark gray +color15 #928374 diff --git a/private_dot_config/kitty/kitty-themes/themes/idleToes.conf b/private_dot_config/kitty/kitty-themes/themes/idleToes.conf new file mode 100644 index 0000000..941d4b2 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/idleToes.conf @@ -0,0 +1,21 @@ +background #323232 +foreground #ffffff +cursor #d6d6d6 +selection_background #5b5b5b +color0 #323232 +color8 #535353 +color1 #d25252 +color9 #f07070 +color2 #7fe173 +color10 #9dff90 +color3 #ffc66d +color11 #ffe48b +color4 #4098ff +color12 #5eb7f7 +color5 #f57fff +color13 #ff9dff +color6 #bed6ff +color14 #dcf4ff +color7 #eeeeec +color15 #ffffff +selection_foreground #323232 diff --git a/private_dot_config/kitty/kitty-themes/themes/snazzy.conf b/private_dot_config/kitty/kitty-themes/themes/snazzy.conf new file mode 100644 index 0000000..2ed5ff5 --- /dev/null +++ b/private_dot_config/kitty/kitty-themes/themes/snazzy.conf @@ -0,0 +1,46 @@ +# snazzy by Connor Holyday (holyday.me) +# This work is licensed under the terms of the MIT license. +# For a copy, see https://opensource.org/licenses/MIT. + +# Snazzy Colorscheme for Kitty +# Based on https://github.com/sindresorhus/hyper-snazzy + +foreground #eff0eb +background #282a36 +selection_foreground #000000 +selection_background #FFFACD +url_color #0087BD +cursor #97979B +cursor_text_color #282A36 + +# black +color0 #282a36 +color8 #686868 + +# red +color1 #FF5C57 +color9 #FF5C57 + +# green +color2 #5AF78E +color10 #5AF78E + +# yellow +color3 #F3F99D +color11 #F3F99D + +# blue +color4 #57C7FF +color12 #57C7FF + +# magenta +color5 #FF6AC1 +color13 #FF6AC1 + +# cyan +color6 #9AEDFE +color14 #9AEDFE + +# white +color7 #F1F1F0 +color15 #EFF0EB diff --git a/private_dot_config/kitty/kitty.conf b/private_dot_config/kitty/kitty.conf new file mode 100644 index 0000000..19c215f --- /dev/null +++ b/private_dot_config/kitty/kitty.conf @@ -0,0 +1,2350 @@ +# vim:fileencoding=utf-8:foldmethod=marker +include ./theme.conf +#map ctrl+shift+f combine : show_scrollback : send_text normal,application / +map ctrl+f6 detach_window new-tab +map ctrl+f5 detach_window tab-left + +#: Fonts {{{ + +#: kitty has very powerful font management. You can configure +#: individual font faces and even specify special fonts for particular +#: characters. + +# font_family monospace +# bold_font auto +# italic_font auto +# bold_italic_font auto +#: You can specify different fonts for the bold/italic/bold-italic +#: variants. To get a full list of supported fonts use the `kitty +#: +list-fonts` command. By default they are derived automatically, by +#: the OSes font system. When bold_font or bold_italic_font is set to +#: auto on macOS, the priority of bold fonts is semi-bold, bold, +#: heavy. Setting them manually is useful for font families that have +#: many weight variants like Book, Medium, Thick, etc. For example:: + +# finish 12 0xAA Ax12 xello mixed +# Some ligatures: a!=b a->b a==b a===b a<=3 + +# font_family Fira Code +# bold_font auto +# italic_font auto +# bold_italic_font auto +# modify_font cell_height -4px +# modify_font cell_width -1px + +# font_family Hack FC Ligatured +# bold_font auto +# italic_font auto +# bold_italic_font auto +# modify_font cell_height +4px +# modify_font cell_width 0px + + font_family Menligaturized + bold_font auto + italic_font auto + bold_italic_font auto + modify_font cell_height +4px + modify_font cell_width 0px + +# font_family SF Illegal Mono +# bold_font auto +# italic_font auto +# bold_italic_font auto +# modify_font cell_height 0px +# modify_font cell_width 0px + +disable_ligatures cursor +font_features Menligaturized-Italic -liga +font_features Menligaturized-BoldItalic -liga +font_features Menligaturized-Bold -liga +font_features Menligaturized-Regular -liga + +#font_family Cascadia Code +#font_family Liga MesloLGS Nerd Font +#font_family Liga Menlo + +#font_features LigaMenlo-Regular -all + +#: bold_font Operator Mono Medium +#italic_font MesloLGSNerdFontCompleteM-Italic +#: bold_italic_font Operator Mono Medium Italic +#font_family MesloLGS NF + shell . + allow_remote_control yes + font_size 18 +#macos_thicken_font 1 + + text_composition_strategy 1.7 50 + + +#: Font size (in pts) + +# force_ltr no + +#: kitty does not support BIDI (bidirectional text), however, for RTL +#: scripts, words are automatically displayed in RTL. That is to say, +#: in an RTL script, the words "HELLO WORLD" display in kitty as +#: "WORLD HELLO", and if you try to select a substring of an RTL- +#: shaped string, you will get the character that would be there had +#: the the string been LTR. For example, assuming the Hebrew word +#: ירושלים, selecting the character that on the screen appears to be ם +#: actually writes into the selection buffer the character י. kitty's +#: default behavior is useful in conjunction with a filter to reverse +#: the word order, however, if you wish to manipulate RTL glyphs, it +#: can be very challenging to work with, so this option is provided to +#: turn it off. Furthermore, this option can be used with the command +#: line program GNU FriBidi +#: to get BIDI +#: support, because it will force kitty to always treat the text as +#: LTR, which FriBidi expects for terminals. + +# symbol_map + +#: E.g. symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols + +#: Map the specified Unicode codepoints to a particular font. Useful +#: if you need special rendering for some symbols, such as for +#: Powerline. Avoids the need for patched fonts. Each Unicode code +#: point is specified in the form `U+`. You +#: can specify multiple code points, separated by commas and ranges +#: separated by hyphens. This option can be specified multiple times. +#: The syntax is:: + +#: symbol_map codepoints Font Family Name + +# narrow_symbols + +#: E.g. narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1 + +#: Usually, for Private Use Unicode characters and some symbol/dingbat +#: characters, if the character is followed by one or more spaces, +#: kitty will use those extra cells to render the character larger, if +#: the character in the font has a wide aspect ratio. Using this +#: option you can force kitty to restrict the specified code points to +#: render in the specified number of cells (defaulting to one cell). +#: This option can be specified multiple times. The syntax is:: + +#: narrow_symbols codepoints [optionally the number of cells] + + #disable_ligatures never + +#: Choose how you want to handle multi-character ligatures. The +#: default is to always render them. You can tell kitty to not render +#: them when the cursor is over them by using cursor to make editing +#: easier, or have kitty never render them at all by using always, if +#: you don't like them. The ligature strategy can be set per-window +#: either using the kitty remote control facility or by defining +#: shortcuts for it in kitty.conf, for example:: + +#: map alt+1 disable_ligatures_in active always +#: map alt+2 disable_ligatures_in all never +#: map alt+3 disable_ligatures_in tab cursor + +#: Note that this refers to programming ligatures, typically +#: implemented using the calt OpenType feature. For disabling general +#: ligatures, use the font_features option. + +# font_features + +#: E.g. font_features none + +#: Choose exactly which OpenType features to enable or disable. This +#: is useful as some fonts might have features worthwhile in a +#: terminal. For example, Fira Code includes a discretionary feature, +#: zero, which in that font changes the appearance of the zero (0), to +#: make it more easily distinguishable from Ø. Fira Code also includes +#: other discretionary features known as Stylistic Sets which have the +#: tags ss01 through ss20. + +#: For the exact syntax to use for individual features, see the +#: HarfBuzz documentation . + +#: Note that this code is indexed by PostScript name, and not the font +#: family. This allows you to define very precise feature settings; +#: e.g. you can disable a feature in the italic font but not in the +#: regular font. + +#: On Linux, font features are first read from the FontConfig database +#: and then this option is applied, so they can be configured in a +#: single, central place. + +#: To get the PostScript name for a font, use `kitty +list-fonts +#: --psnames`: + +#: .. code-block:: sh + +#: $ kitty +list-fonts --psnames | grep Fira +#: Fira Code +#: Fira Code Bold (FiraCode-Bold) +#: Fira Code Light (FiraCode-Light) +#: Fira Code Medium (FiraCode-Medium) +#: Fira Code Regular (FiraCode-Regular) +#: Fira Code Retina (FiraCode-Retina) + +#: The part in brackets is the PostScript name. + +#: Enable alternate zero and oldstyle numerals:: + +#: font_features FiraCode-Retina +zero +onum + +#: Enable only alternate zero in the bold font:: + +#: font_features FiraCode-Bold +zero + +#: Disable the normal ligatures, but keep the calt feature which (in +#: this font) breaks up monotony:: + +#: font_features TT2020StyleB-Regular -liga +calt + +#: In conjunction with force_ltr, you may want to disable Arabic +#: shaping entirely, and only look at their isolated forms if they +#: show up in a document. You can do this with e.g.:: + +#: font_features UnifontMedium +isol -medi -fina -init + +# modify_font + +#: Modify font characteristics such as the position or thickness of +#: the underline and strikethrough. The modifications can have the +#: suffix px for pixels or % for percentage of original value. No +#: suffix means use pts. For example:: + +#: modify_font underline_position -2 +#: modify_font underline_thickness 150% +#: modify_font strikethrough_position 2px + +#: Additionally, you can modify the size of the cell in which each +#: font glyph is rendered and the baseline at which the glyph is +#: placed in the cell. For example:: + +#: modify_font cell_width 80% +#: modify_font cell_height -2px +#: modify_font baseline 3 + +#: Note that modifying the baseline will automatically adjust the +#: underline and strikethrough positions by the same amount. +#: Increasing the baseline raises glyphs inside the cell and +#: decreasing it lowers them. Decreasing the cell size might cause +#: rendering artifacts, so use with care. + +# box_drawing_scale 0.001, 1, 1.5, 2 + +#: The sizes of the lines used for the box drawing Unicode characters. +#: These values are in pts. They will be scaled by the monitor DPI to +#: arrive at a pixel value. There must be four values corresponding to +#: thin, normal, thick, and very thick lines. + +# undercurl_style thin-sparse + +#: The style with which undercurls are rendered. This option takes the +#: form (thin|thick)-(sparse|dense). Thin and thick control the +#: thickness of the undercurl. Sparse and dense control how often the +#: curl oscillates. With sparse the curl will peak once per character, +#: with dense twice. + +#: }}} + +#: Cursor customization {{{ + +# cursor #cccccc + +#: Default cursor color. If set to the special value none the cursor +#: will be rendered with a "reverse video" effect. It's color will be +#: the color of the text in the cell it is over and the text will be +#: rendered with the background color of the cell. Note that if the +#: program running in the terminal sets a cursor color, this takes +#: precedence. Also, the cursor colors are modified if the cell +#: background and foreground colors have very low contrast. + +# cursor_text_color #111111 + +#: The color of text under the cursor. If you want it rendered with +#: the background color of the cell underneath instead, use the +#: special keyword: background. Note that if cursor is set to none +#: then this option is ignored. + +# cursor_shape block + +#: The cursor shape can be one of block, beam, underline. Note that +#: when reloading the config this will be changed only if the cursor +#: shape has not been set by the program running in the terminal. This +#: sets the default cursor shape, applications running in the terminal +#: can override it. In particular, shell integration +#: in kitty sets +#: the cursor shape to beam at shell prompts. You can avoid this by +#: setting shell_integration to no-cursor. + +# cursor_beam_thickness 1.5 + +#: The thickness of the beam cursor (in pts). + +# cursor_underline_thickness 2.0 + +#: The thickness of the underline cursor (in pts). + +# cursor_blink_interval -1 + +#: The interval to blink the cursor (in seconds). Set to zero to +#: disable blinking. Negative values mean use system default. Note +#: that the minimum interval will be limited to repaint_delay. + +# cursor_stop_blinking_after 15.0 + +#: Stop blinking cursor after the specified number of seconds of +#: keyboard inactivity. Set to zero to never stop blinking. + +#: }}} + +#: Scrollback {{{ + + scrollback_lines 100000 + +#: Number of lines of history to keep in memory for scrolling back. +#: Memory is allocated on demand. Negative numbers are (effectively) +#: infinite scrollback. Note that using very large scrollback is not +#: recommended as it can slow down performance of the terminal and +#: also use large amounts of RAM. Instead, consider using +#: scrollback_pager_history_size. Note that on config reload if this +#: is changed it will only affect newly created windows, not existing +#: ones. + + scrollback_pager less --chop-long-lines -i -g -N -s --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER + +#: Program with which to view scrollback in a new window. The +#: scrollback buffer is passed as STDIN to this program. If you change +#: it, make sure the program you use can handle ANSI escape sequences +#: for colors and text formatting. INPUT_LINE_NUMBER in the command +#: line above will be replaced by an integer representing which line +#: should be at the top of the screen. Similarly CURSOR_LINE and +#: CURSOR_COLUMN will be replaced by the current cursor position or +#: set to 0 if there is no cursor, for example, when showing the last +#: command output. + +# scrollback_pager_history_size 0 + +#: Separate scrollback history size (in MB), used only for browsing +#: the scrollback buffer with pager. This separate buffer is not +#: available for interactive scrolling but will be piped to the pager +#: program when viewing scrollback buffer in a separate window. The +#: current implementation stores the data in UTF-8, so approximatively +#: 10000 lines per megabyte at 100 chars per line, for pure ASCII, +#: unformatted text. A value of zero or less disables this feature. +#: The maximum allowed size is 4GB. Note that on config reload if this +#: is changed it will only affect newly created windows, not existing +#: ones. + +# scrollback_fill_enlarged_window no + +#: Fill new space with lines from the scrollback buffer after +#: enlarging a window. + +# wheel_scroll_multiplier 5.0 + +#: Multiplier for the number of lines scrolled by the mouse wheel. +#: Note that this is only used for low precision scrolling devices, +#: not for high precision scrolling devices on platforms such as macOS +#: and Wayland. Use negative numbers to change scroll direction. See +#: also wheel_scroll_min_lines. + +# wheel_scroll_min_lines 1 + +#: The minimum number of lines scrolled by the mouse wheel. The scroll +#: multiplier wheel_scroll_multiplier only takes effect after it +#: reaches this number. Note that this is only used for low precision +#: scrolling devices like wheel mice that scroll by very small amounts +#: when using the wheel. With a negative number, the minimum number of +#: lines will always be added. + +# touch_scroll_multiplier 1.0 + +#: Multiplier for the number of lines scrolled by a touchpad. Note +#: that this is only used for high precision scrolling devices on +#: platforms such as macOS and Wayland. Use negative numbers to change +#: scroll direction. + +#: }}} + +#: Mouse {{{ + +# mouse_hide_wait 3.0 + +#: Hide mouse cursor after the specified number of seconds of the +#: mouse not being used. Set to zero to disable mouse cursor hiding. +#: Set to a negative value to hide the mouse cursor immediately when +#: typing text. Disabled by default on macOS as getting it to work +#: robustly with the ever-changing sea of bugs that is Cocoa is too +#: much effort. + +# url_color #0087bd +# url_style curly + +#: The color and style for highlighting URLs on mouse-over. url_style +#: can be one of: none, straight, double, curly, dotted, dashed. + +# open_url_with default + +#: The program to open clicked URLs. The special value default with +#: first look for any URL handlers defined via the open_actions +#: facility and if non +#: are found, it will use the Operating System's default URL handler +#: (open on macOS and xdg-open on Linux). + +# url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh + +#: The set of URL prefixes to look for when detecting a URL under the +#: mouse cursor. + +# detect_urls yes + +#: Detect URLs under the mouse. Detected URLs are highlighted with an +#: underline and the mouse cursor becomes a hand over them. Even if +#: this option is disabled, URLs are still clickable. + +# url_excluded_characters + +#: Additional characters to be disallowed from URLs, when detecting +#: URLs under the mouse cursor. By default, all characters that are +#: legal in URLs are allowed. + +# show_hyperlink_targets no + +#: When the mouse hovers over a terminal hyperlink, show the actual +#: URL that will be activated when the hyperlink is clicked. + +# copy_on_select no + +#: Copy to clipboard or a private buffer on select. With this set to +#: clipboard, selecting text with the mouse will cause the text to be +#: copied to clipboard. Useful on platforms such as macOS that do not +#: have the concept of primary selection. You can instead specify a +#: name such as a1 to copy to a private kitty buffer. Map a shortcut +#: with the paste_from_buffer action to paste from this private +#: buffer. For example:: + +#: copy_on_select a1 +#: map shift+cmd+v paste_from_buffer a1 + +#: Note that copying to the clipboard is a security risk, as all +#: programs, including websites open in your browser can read the +#: contents of the system clipboard. + +# paste_actions quote-urls-at-prompt + +#: A comma separated list of actions to take when pasting text into +#: the terminal. The supported paste actions are: + +#: quote-urls-at-prompt: +#: If the text being pasted is a URL and the cursor is at a shell prompt, +#: automatically quote the URL (needs shell_integration). +#: confirm: +#: Confirm the paste if bracketed paste mode is not active or there is more +#: a large amount of text being pasted. +#: filter: +#: Run the filter_paste() function from the file paste-actions.py in +#: the kitty config directory on the pasted text. The text returned by the +#: function will be actually pasted. + +# strip_trailing_spaces never + +#: Remove spaces at the end of lines when copying to clipboard. A +#: value of smart will do it when using normal selections, but not +#: rectangle selections. A value of always will always do it. + +# select_by_word_characters @-./_~?&=%+# + +#: Characters considered part of a word when double clicking. In +#: addition to these characters any character that is marked as an +#: alphanumeric character in the Unicode database will be matched. + +# select_by_word_characters_forward + +#: Characters considered part of a word when extending the selection +#: forward on double clicking. In addition to these characters any +#: character that is marked as an alphanumeric character in the +#: Unicode database will be matched. + +#: If empty (default) select_by_word_characters will be used for both +#: directions. + +# click_interval -1.0 + +#: The interval between successive clicks to detect double/triple +#: clicks (in seconds). Negative numbers will use the system default +#: instead, if available, or fallback to 0.5. + +# focus_follows_mouse no + +#: Set the active window to the window under the mouse when moving the +#: mouse around. + +# pointer_shape_when_grabbed arrow + +#: The shape of the mouse pointer when the program running in the +#: terminal grabs the mouse. Valid values are: arrow, beam and hand. + +# default_pointer_shape beam + +#: The default shape of the mouse pointer. Valid values are: arrow, +#: beam and hand. + +# pointer_shape_when_dragging beam + +#: The default shape of the mouse pointer when dragging across text. +#: Valid values are: arrow, beam and hand. + +#: Mouse actions {{{ + +#: Mouse buttons can be mapped to perform arbitrary actions. The +#: syntax is: + +#: .. code-block:: none + +#: mouse_map button-name event-type modes action + +#: Where button-name is one of left, middle, right, b1 ... b8 with +#: added keyboard modifiers. For example: ctrl+shift+left refers to +#: holding the Ctrl+Shift keys while clicking with the left mouse +#: button. The value b1 ... b8 can be used to refer to up to eight +#: buttons on a mouse. + +#: event-type is one of press, release, doublepress, triplepress, +#: click, doubleclick. modes indicates whether the action is performed +#: when the mouse is grabbed by the program running in the terminal, +#: or not. The values are grabbed or ungrabbed or a comma separated +#: combination of them. grabbed refers to when the program running in +#: the terminal has requested mouse events. Note that the click and +#: double click events have a delay of click_interval to disambiguate +#: from double and triple presses. + +#: You can run kitty with the kitty --debug-input command line option +#: to see mouse events. See the builtin actions below to get a sense +#: of what is possible. + +#: If you want to unmap an action, map it to no_op. For example, to +#: disable opening of URLs with a plain click:: + +#: mouse_map left click ungrabbed no_op + +#: See all the mappable actions including mouse actions here +#: . + +#: .. note:: +#: Once a selection is started, releasing the button that started it will +#: automatically end it and no release event will be dispatched. + +# clear_all_mouse_actions no + +#: Remove all mouse action definitions up to this point. Useful, for +#: instance, to remove the default mouse actions. + +#: Click the link under the mouse or move the cursor + +# mouse_map left click ungrabbed mouse_handle_click selection link prompt + +#:: First check for a selection and if one exists do nothing. Then +#:: check for a link under the mouse cursor and if one exists, click +#:: it. Finally check if the click happened at the current shell +#:: prompt and if so, move the cursor to the click location. Note +#:: that this requires shell integration +#:: to work. + +#: Click the link under the mouse or move the cursor even when grabbed + +# mouse_map shift+left click grabbed,ungrabbed mouse_handle_click selection link prompt + +#:: Same as above, except that the action is performed even when the +#:: mouse is grabbed by the program running in the terminal. + +#: Click the link under the mouse cursor + +# mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_handle_click link + +#:: Variant with Ctrl+Shift is present because the simple click based +#:: version has an unavoidable delay of click_interval, to +#:: disambiguate clicks from double clicks. + +#: Discard press event for link click + +# mouse_map ctrl+shift+left press grabbed discard_event + +#:: Prevent this press event from being sent to the program that has +#:: grabbed the mouse, as the corresponding release event is used to +#:: open a URL. + +#: Paste from the primary selection + +# mouse_map middle release ungrabbed paste_from_selection + +#: Start selecting text + +# mouse_map left press ungrabbed mouse_selection normal + +#: Start selecting text in a rectangle + +# mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle + +#: Select a word + +# mouse_map left doublepress ungrabbed mouse_selection word + +#: Select a line + +# mouse_map left triplepress ungrabbed mouse_selection line + +#: Select line from point + +# mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point + +#:: Select from the clicked point to the end of the line. + +#: Extend the current selection + +# mouse_map right press ungrabbed mouse_selection extend + +#:: If you want only the end of the selection to be moved instead of +#:: the nearest boundary, use move-end instead of extend. + +#: Paste from the primary selection even when grabbed + +# mouse_map shift+middle release ungrabbed,grabbed paste_selection +# mouse_map shift+middle press grabbed discard_event + +#: Start selecting text even when grabbed + +# mouse_map shift+left press ungrabbed,grabbed mouse_selection normal + +#: Start selecting text in a rectangle even when grabbed + +# mouse_map ctrl+shift+alt+left press ungrabbed,grabbed mouse_selection rectangle + +#: Select a word even when grabbed + +# mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word + +#: Select a line even when grabbed + +# mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line + +#: Select line from point even when grabbed + +# mouse_map ctrl+shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point + +#:: Select from the clicked point to the end of the line even when +#:: grabbed. + +#: Extend the current selection even when grabbed + +# mouse_map shift+right press ungrabbed,grabbed mouse_selection extend + +#: Show clicked command output in pager + +# mouse_map ctrl+shift+right press ungrabbed mouse_show_command_output + +#:: Requires shell integration +#:: to work. + +#: }}} + +#: }}} + +#: Performance tuning {{{ + +# repaint_delay 10 + +#: Delay between screen updates (in milliseconds). Decreasing it, +#: increases frames-per-second (FPS) at the cost of more CPU usage. +#: The default value yields ~100 FPS which is more than sufficient for +#: most uses. Note that to actually achieve 100 FPS, you have to +#: either set sync_to_monitor to no or use a monitor with a high +#: refresh rate. Also, to minimize latency when there is pending input +#: to be processed, this option is ignored. + +# input_delay 1 + +#: Delay before input from the program running in the terminal is +#: processed (in milliseconds). Note that decreasing it will increase +#: responsiveness, but also increase CPU usage and might cause flicker +#: in full screen programs that redraw the entire screen on each loop, +#: because kitty is so fast that partial screen updates will be drawn. + +# sync_to_monitor yes + +#: Sync screen updates to the refresh rate of the monitor. This +#: prevents screen tearing +#: when scrolling. +#: However, it limits the rendering speed to the refresh rate of your +#: monitor. With a very high speed mouse/high keyboard repeat rate, +#: you may notice some slight input latency. If so, set this to no. + +#: }}} + +#: Terminal bell {{{ + +# enable_audio_bell yes + +#: The audio bell. Useful to disable it in environments that require +#: silence. + +# visual_bell_duration 0.0 + +#: The visual bell duration (in seconds). Flash the screen when a bell +#: occurs for the specified number of seconds. Set to zero to disable. + +# visual_bell_color none + +#: The color used by visual bell. Set to none will fall back to +#: selection background color. If you feel that the visual bell is too +#: bright, you can set it to a darker color. + +# window_alert_on_bell yes + +#: Request window attention on bell. Makes the dock icon bounce on +#: macOS or the taskbar flash on linux. + +# bell_on_tab "🔔 " + +#: Some text or a Unicode symbol to show on the tab if a window in the +#: tab that does not have focus has a bell. If you want to use leading +#: or trailing spaces, surround the text with quotes. See +#: tab_title_template for how this is rendered. + +#: For backwards compatibility, values of yes, y and true are +#: converted to the default bell symbol and no, n, false and none are +#: converted to the empty string. + +# command_on_bell none + +#: Program to run when a bell occurs. The environment variable +#: KITTY_CHILD_CMDLINE can be used to get the program running in the +#: window in which the bell occurred. + +# bell_path none + +#: Path to a sound file to play as the bell sound. If set to none, the +#: system default bell sound is used. Must be in a format supported by +#: the operating systems sound API, such as WAV or OGA on Linux +#: (libcanberra) or AIFF, MP3 or WAV on macOS (NSSound) + +#: }}} + +#: Window layout {{{ + +# remember_window_size yes +# initial_window_width 640 +# initial_window_height 400 + +#: If enabled, the OS Window size will be remembered so that new +#: instances of kitty will have the same size as the previous +#: instance. If disabled, the OS Window will initially have size +#: configured by initial_window_width/height, in pixels. You can use a +#: suffix of "c" on the width/height values to have them interpreted +#: as number of cells instead of pixels. + + enabled_layouts grid, fat, tall, vertical + +#: The enabled window layouts. A comma separated list of layout names. +#: The special value all means all layouts. The first listed layout +#: will be used as the startup layout. Default configuration is all +#: layouts in alphabetical order. For a list of available layouts, see +#: the layouts . + +# window_resize_step_cells 2 +# window_resize_step_lines 2 + +#: The step size (in units of cell width/cell height) to use when +#: resizing kitty windows in a layout with the shortcut +#: start_resizing_window. The cells value is used for horizontal +#: resizing, and the lines value is used for vertical resizing. + +# window_border_width 0.5pt + +#: The width of window borders. Can be either in pixels (px) or pts +#: (pt). Values in pts will be rounded to the nearest number of pixels +#: based on screen resolution. If not specified, the unit is assumed +#: to be pts. Note that borders are displayed only when more than one +#: window is visible. They are meant to separate multiple windows. + +# draw_minimal_borders yes + +#: Draw only the minimum borders needed. This means that only the +#: borders that separate the window from a neighbor are drawn. Note +#: that setting a non-zero window_margin_width overrides this and +#: causes all borders to be drawn. + +#window_margin_width 0.5 + +#: The window margin (in pts) (blank area outside the border). A +#: single value sets all four sides. Two values set the vertical and +#: horizontal sides. Three values set top, horizontal and bottom. Four +#: values set top, right, bottom and left. + +# single_window_margin_width -1 + +#: The window margin to use when only a single window is visible (in +#: pts). Negative values will cause the value of window_margin_width +#: to be used instead. A single value sets all four sides. Two values +#: set the vertical and horizontal sides. Three values set top, +#: horizontal and bottom. Four values set top, right, bottom and left. + +window_padding_width 3 + +#: The window padding (in pts) (blank area between the text and the +#: window border). A single value sets all four sides. Two values set +#: the vertical and horizontal sides. Three values set top, horizontal +#: and bottom. Four values set top, right, bottom and left. + +# placement_strategy center + +#: When the window size is not an exact multiple of the cell size, the +#: cell area of the terminal window will have some extra padding on +#: the sides. You can control how that padding is distributed with +#: this option. Using a value of center means the cell area will be +#: placed centrally. A value of top-left means the padding will be +#: only at the bottom and right edges. + +# active_border_color #00ff00 + +#: The color for the border of the active window. Set this to none to +#: not draw borders around the active window. + +# inactive_border_color #cccccc + +#: The color for the border of inactive windows. + +# bell_border_color #ff5a00 + +#: The color for the border of inactive windows in which a bell has +#: occurred. + +# inactive_text_alpha 1.0 + +#: Fade the text in inactive windows by the specified amount (a number +#: between zero and one, with zero being fully faded). + +# hide_window_decorations no + +#: Hide the window decorations (title-bar and window borders) with +#: yes. On macOS, titlebar-only can be used to only hide the titlebar. +#: Whether this works and exactly what effect it has depends on the +#: window manager/operating system. Note that the effects of changing +#: this option when reloading config are undefined. + +# window_logo_path none + +#: Path to a logo image. Must be in PNG format. Relative paths are +#: interpreted relative to the kitty config directory. The logo is +#: displayed in a corner of every kitty window. The position is +#: controlled by window_logo_position. Individual windows can be +#: configured to have different logos either using the launch action +#: or the remote control facility. + +# window_logo_position bottom-right + +#: Where to position the window logo in the window. The value can be +#: one of: top-left, top, top-right, left, center, right, bottom-left, +#: bottom, bottom-right. + +# window_logo_alpha 0.5 + +#: The amount the logo should be faded into the background. With zero +#: being fully faded and one being fully opaque. + +# resize_debounce_time 0.1 + +#: The time to wait before redrawing the screen when a resize event is +#: received (in seconds). On platforms such as macOS, where the +#: operating system sends events corresponding to the start and end of +#: a resize, this number is ignored. + +# resize_draw_strategy static + +#: Choose how kitty draws a window while a resize is in progress. A +#: value of static means draw the current window contents, mostly +#: unchanged. A value of scale means draw the current window contents +#: scaled. A value of blank means draw a blank window. A value of size +#: means show the window size in cells. + +# resize_in_steps no + +#: Resize the OS window in steps as large as the cells, instead of +#: with the usual pixel accuracy. Combined with initial_window_width +#: and initial_window_height in number of cells, this option can be +#: used to keep the margins as small as possible when resizing the OS +#: window. Note that this does not currently work on Wayland. + +# visual_window_select_characters 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ + +#: The list of characters for visual window selection. For example, +#: for selecting a window to focus on with focus_visible_window. The +#: value should be a series of unique numbers or alphabets, case +#: insensitive, from the set [0-9A-Z]. Specify your preference as a +#: string of characters. + +# confirm_os_window_close -1 + +#: Ask for confirmation when closing an OS window or a tab with at +#: least this number of kitty windows in it by window manager (e.g. +#: clicking the window close button or pressing the operating system +#: shortcut to close windows) or by the close_tab action. A value of +#: zero disables confirmation. This confirmation also applies to +#: requests to quit the entire application (all OS windows, via the +#: quit action). Negative values are converted to positive ones, +#: however, with shell_integration enabled, using negative values +#: means windows sitting at a shell prompt are not counted, only +#: windows where some command is currently running. Note that if you +#: want confirmation when closing individual windows, you can map the +#: close_window_with_confirmation action. + +#: }}} + +#: Tab bar {{{ + +# tab_bar_edge top + +#: The edge to show the tab bar on, top or bottom. + +tab_bar_margin_width 8.0 + +#: The margin to the left and right of the tab bar (in pts). + +tab_bar_margin_height 3.0 0.0 + +#: The margin above and below the tab bar (in pts). The first number +#: is the margin between the edge of the OS Window and the tab bar. +#: The second number is the margin between the tab bar and the +#: contents of the current tab. + +#tab_bar_style powerline +#tab_powerline_style slanted + tab_bar_style custom + + +#: The tab bar style, can be one of: + +#: fade +#: Each tab's edges fade into the background color. (See also tab_fade) +#: slant +#: Tabs look like the tabs in a physical file. +#: separator +#: Tabs are separated by a configurable separator. (See also +#: tab_separator) +#: powerline +#: Tabs are shown as a continuous line with "fancy" separators. +#: (See also tab_powerline_style) +#: custom +#: A user-supplied Python function called draw_tab is loaded from the file +#: tab_bar.py in the kitty config directory. For examples of how to +#: write such a function, see the functions named draw_tab_with_* in +#: kitty's source code: kitty/tab_bar.py. See also +#: this discussion +#: for examples from kitty users. +#: hidden +#: The tab bar is hidden. If you use this, you might want to create a mapping +#: for the select_tab action which presents you with a list of tabs and +#: allows for easy switching to a tab. + +# tab_bar_align left + +#: The horizontal alignment of the tab bar, can be one of: left, +#: center, right. + +# tab_bar_min_tabs 2 + +#: The minimum number of tabs that must exist before the tab bar is +#: shown. + +# tab_switch_strategy previous + +#: The algorithm to use when switching to a tab when the current tab +#: is closed. The default of previous will switch to the last used +#: tab. A value of left will switch to the tab to the left of the +#: closed tab. A value of right will switch to the tab to the right of +#: the closed tab. A value of last will switch to the right-most tab. + +# tab_fade 0.25 0.5 0.75 1 + +#: Control how each tab fades into the background when using fade for +#: the tab_bar_style. Each number is an alpha (between zero and one) +#: that controls how much the corresponding cell fades into the +#: background, with zero being no fade and one being full fade. You +#: can change the number of cells used by adding/removing entries to +#: this list. + +# tab_separator " ┇" + +#: The separator between tabs in the tab bar when using separator as +#: the tab_bar_style. + +# tab_powerline_style angled + +#: The powerline separator style between tabs in the tab bar when +#: using powerline as the tab_bar_style, can be one of: angled, +#: slanted, round. + +# tab_activity_symbol none + +#: Some text or a Unicode symbol to show on the tab if a window in the +#: tab that does not have focus has some activity. If you want to use +#: leading or trailing spaces, surround the text with quotes. See +#: tab_title_template for how this is rendered. + +# tab_title_max_length 0 + +#: The maximum number of cells that can be used to render the text in +#: a tab. A value of zero means that no limit is applied. + +# tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}" + +#: A template to render the tab title. The default just renders the +#: title with optional symbols for bell and activity. If you wish to +#: include the tab-index as well, use something like: {index}:{title}. +#: Useful if you have shortcuts mapped for goto_tab N. If you prefer +#: to see the index as a superscript, use {sup.index}. All data +#: available is: + +#: title +#: The current tab title. +#: index +#: The tab index useable with goto_tab N goto_tab shortcuts. +#: layout_name +#: The current layout name. +#: num_windows +#: The number of windows in the tab. +#: num_window_groups +#: The number of window groups (not counting overlay windows) in the tab. +#: tab.active_wd +#: The working directory of the currently active window in the tab (expensive, +#: requires syscall). Use active_oldest_wd to get the directory of the oldest foreground process rather than the newest. +#: tab.active_exe +#: The name of the executable running in the foreground of the currently active window in the tab (expensive, +#: requires syscall). Use active_oldest_exe for the oldest foreground process. +#: max_title_length +#: The maximum title length available. + +#: Note that formatting is done by Python's string formatting +#: machinery, so you can use, for instance, {layout_name[:2].upper()} +#: to show only the first two letters of the layout name, upper-cased. +#: If you want to style the text, you can use styling directives, for +#: example: +#: `{fmt.fg.red}red{fmt.fg.tab}normal{fmt.bg._00FF00}greenbg{fmt.bg.tab}`. +#: Similarly, for bold and italic: +#: `{fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}`. +#: Note that for backward compatibility, if {bell_symbol} or +#: {activity_symbol} are not present in the template, they are +#: prepended to it. + +# active_tab_title_template none + +#: Template to use for active tabs. If not specified falls back to +#: tab_title_template. + +# active_tab_foreground #000 + active_tab_background #2e84e6 +# active_tab_font_style bold-italic + inactive_tab_foreground #4d82bf + inactive_tab_background #141c26 +# inactive_tab_font_style normal + +#: Tab bar colors and styles. + +# tab_bar_background none + +#: Background color for the tab bar. Defaults to using the terminal +#: background color. + +# tab_bar_margin_color none + +#: Color for the tab bar margin area. Defaults to using the terminal +#: background color for margins above and below the tab bar. For side +#: margins the default color is chosen to match the background color +#: of the neighboring tab. + +#: }}} + +#: Color scheme {{{ + +# foreground #dddddd +# background #000000 + +#: The foreground and background colors. + +# background_opacity 1.0 + +#: The opacity of the background. A number between zero and one, where +#: one is opaque and zero is fully transparent. This will only work if +#: supported by the OS (for instance, when using a compositor under +#: X11). Note that it only sets the background color's opacity in +#: cells that have the same background color as the default terminal +#: background, so that things like the status bar in vim, powerline +#: prompts, etc. still look good. But it means that if you use a color +#: theme with a background color in your editor, it will not be +#: rendered as transparent. Instead you should change the default +#: background color in your kitty config and not use a background +#: color in the editor color scheme. Or use the escape codes to set +#: the terminals default colors in a shell script to launch your +#: editor. Be aware that using a value less than 1.0 is a (possibly +#: significant) performance hit. If you want to dynamically change +#: transparency of windows, set dynamic_background_opacity to yes +#: (this is off by default as it has a performance cost). Changing +#: this option when reloading the config will only work if +#: dynamic_background_opacity was enabled in the original config. + +# background_image none + +#: Path to a background image. Must be in PNG format. + +# background_image_layout tiled + +#: Whether to tile, scale or clamp the background image. The value can +#: be one of tiled, mirror-tiled, scaled, clamped or centered. + +# background_image_linear no + +#: When background image is scaled, whether linear interpolation +#: should be used. + +# dynamic_background_opacity no + +#: Allow changing of the background_opacity dynamically, using either +#: keyboard shortcuts (increase_background_opacity and +#: decrease_background_opacity) or the remote control facility. +#: Changing this option by reloading the config is not supported. + +# background_tint 0.0 + +#: How much to tint the background image by the background color. This +#: option makes it easier to read the text. Tinting is done using the +#: current background color for each window. This option applies only +#: if background_opacity is set and transparent windows are supported +#: or background_image is set. + +# background_tint_gaps 1.0 + +#: How much to tint the background image at the window gaps by the +#: background color, after applying background_tint. Since this is +#: multiplicative with background_tint, it can be used to lighten the +#: tint over the window gaps for a *separated* look. + +# dim_opacity 0.75 + +#: How much to dim text that has the DIM/FAINT attribute set. One +#: means no dimming and zero means fully dimmed (i.e. invisible). + +# selection_foreground #000000 +# selection_background #fffacd + +#: The foreground and background colors for text selected with the +#: mouse. Setting both of these to none will cause a "reverse video" +#: effect for selections, where the selection will be the cell text +#: color and the text will become the cell background color. Setting +#: only selection_foreground to none will cause the foreground color +#: to be used unchanged. Note that these colors can be overridden by +#: the program running in the terminal. + +#: The color table {{{ + +#: The 256 terminal colors. There are 8 basic colors, each color has a +#: dull and bright version, for the first 16 colors. You can set the +#: remaining 240 colors as color16 to color255. + +# color0 #000000 +# color8 #767676 + +#: black + +# color1 #cc0403 +# color9 #f2201f + +#: red + +# color2 #19cb00 +# color10 #23fd00 + +#: green + +# color3 #cecb00 +# color11 #fffd00 + +#: yellow + +# color4 #0d73cc +# color12 #1a8fff + +#: blue + +# color5 #cb1ed1 +# color13 #fd28ff + +#: magenta + +# color6 #0dcdcd +# color14 #14ffff + +#: cyan + +# color7 #dddddd +# color15 #ffffff + +#: white + +# mark1_foreground black + +#: Color for marks of type 1 + +# mark1_background #98d3cb + +#: Color for marks of type 1 (light steel blue) + +# mark2_foreground black + +#: Color for marks of type 2 + +# mark2_background #f2dcd3 + +#: Color for marks of type 1 (beige) + +# mark3_foreground black + +#: Color for marks of type 3 + +# mark3_background #f274bc + +#: Color for marks of type 3 (violet) + +#: }}} + +#: }}} + +#: Advanced {{{ + +# shell . + +#: The shell program to execute. The default value of . means to use +#: whatever shell is set as the default shell for the current user. +#: Note that on macOS if you change this, you might need to add +#: --login and --interactive to ensure that the shell starts in +#: interactive mode and reads its startup rc files. + + editor /usr/local/bin/nvim + +#: The terminal based text editor (such as vim or nano) to use when +#: editing the kitty config file or similar tasks. + +#: The default value of . means to use the environment variables +#: VISUAL and EDITOR in that order. If these variables aren't set, +#: kitty will run your shell ($SHELL -l -i -c env) to see if your +#: shell startup rc files set VISUAL or EDITOR. If that doesn't work, +#: kitty will cycle through various known editors (vim, emacs, etc.) +#: and take the first one that exists on your system. + +# close_on_child_death no + +#: Close the window when the child process (shell) exits. With the +#: default value no, the terminal will remain open when the child +#: exits as long as there are still processes outputting to the +#: terminal (for example disowned or backgrounded processes). When +#: enabled with yes, the window will close as soon as the child +#: process exits. Note that setting it to yes means that any +#: background processes still using the terminal can fail silently +#: because their stdout/stderr/stdin no longer work. + +# remote_control_password + +#: Allow other programs to control kitty using passwords. This option +#: can be specified multiple times to add multiple passwords. If no +#: passwords are present kitty will ask the user for permission if a +#: program tries to use remote control with a password. A password can +#: also *optionally* be associated with a set of allowed remote +#: control actions. For example:: + +#: remote_control_password "my passphrase" get-colors set-colors focus-window focus-tab + +#: Only the specified actions will be allowed when using this +#: password. Glob patterns can be used too, for example:: + +#: remote_control_password "my passphrase" set-tab-* resize-* + +#: To get a list of available actions, run:: + +#: kitty @ --help + +#: A set of actions to be allowed when no password is sent can be +#: specified by using an empty password, for example:: + +#: remote_control_password "" *-colors + +#: Finally, the path to a python module can be specified that provides +#: a function is_cmd_allowed that is used to check every remote +#: control command. See rc_custom_auth +#: +#: for details. For example:: + +#: remote_control_password "my passphrase" my_rc_command_checker.py + +#: Relative paths are resolved from the kitty configuration directory. + +# allow_remote_control no + +#: Allow other programs to control kitty. If you turn this on, other +#: programs can control all aspects of kitty, including sending text +#: to kitty windows, opening new windows, closing windows, reading the +#: content of windows, etc. Note that this even works over SSH +#: connections. The default setting of no prevents any form of remote +#: control. The meaning of the various values are: + +#: password +#: Remote control requests received over both the TTY device and the socket are +#: confirmed based on passwords, see remote_control_password. + +#: socket-only +#: Remote control requests received over a socket are accepted unconditionally. +#: Requests received over the TTY are denied. See listen_on. + +#: socket +#: Remote control requests received over a socket are accepted unconditionally. +#: Requests received over the TTY are confirmed based on password. + +#: no +#: Remote control is completely disabled. + +#: yes +#: Remote control requests are always accepted. + +# listen_on none + +#: Listen to the specified UNIX socket for remote control connections. +#: Note that this will apply to all kitty instances. It can be +#: overridden by the kitty --listen-on command line option, which also +#: supports listening on a TCP socket. This option accepts only UNIX +#: sockets, such as unix:${TEMP}/mykitty or unix:@mykitty (on Linux). +#: Environment variables are expanded and relative paths are resolved +#: with respect to the temporary directory. If {kitty_pid} is present, +#: then it is replaced by the PID of the kitty process, otherwise the +#: PID of the kitty process is appended to the value, with a hyphen. +#: See the help for kitty --listen-on for more details. Note that this +#: will be ignored unless allow_remote_control is set to either: yes, +#: socket or socket-only. Changing this option by reloading the config +#: is not supported. + +# env + +#: Specify the environment variables to be set in all child processes. +#: Using the name with an equal sign (e.g. env VAR=) will set it to +#: the empty string. Specifying only the name (e.g. env VAR) will +#: remove the variable from the child process' environment. Note that +#: environment variables are expanded recursively, for example:: + +#: env VAR1=a +#: env VAR2=${HOME}/${VAR1}/b + +#: The value of VAR2 will be /a/b. + +# watcher + +#: Path to python file which will be loaded for watchers +#: . Can be +#: specified more than once to load multiple watchers. The watchers +#: will be added to every kitty window. Relative paths are resolved +#: relative to the kitty config directory. Note that reloading the +#: config will only affect windows created after the reload. + +# exe_search_path + +#: Control where kitty finds the programs to run. The default search +#: order is: First search the system wide PATH, then ~/.local/bin and +#: ~/bin. If still not found, the PATH defined in the login shell +#: after sourcing all its startup files is tried. Finally, if present, +#: the PATH specified by the env option is tried. + +#: This option allows you to prepend, append, or remove paths from +#: this search order. It can be specified multiple times for multiple +#: paths. A simple path will be prepended to the search order. A path +#: that starts with the + sign will be append to the search order, +#: after ~/bin above. A path that starts with the - sign will be +#: removed from the entire search order. For example:: + +#: exe_search_path /some/prepended/path +#: exe_search_path +/some/appended/path +#: exe_search_path -/some/excluded/path + +# update_check_interval 24 + +#: The interval to periodically check if an update to kitty is +#: available (in hours). If an update is found, a system notification +#: is displayed informing you of the available update. The default is +#: to check every 24 hours, set to zero to disable. Update checking is +#: only done by the official binary builds. Distro packages or source +#: builds do not do update checking. Changing this option by reloading +#: the config is not supported. + +# startup_session none + +#: Path to a session file to use for all kitty instances. Can be +#: overridden by using the kitty --session command line option for +#: individual instances. See sessions +#: in the kitty +#: documentation for details. Note that relative paths are interpreted +#: with respect to the kitty config directory. Environment variables +#: in the path are expanded. Changing this option by reloading the +#: config is not supported. + +# clipboard_control write-clipboard write-primary read-clipboard-ask read-primary-ask + +#: Allow programs running in kitty to read and write from the +#: clipboard. You can control exactly which actions are allowed. The +#: possible actions are: write-clipboard, read-clipboard, write- +#: primary, read-primary, read-clipboard-ask, read-primary-ask. The +#: default is to allow writing to the clipboard and primary selection +#: and to ask for permission when a program tries to read from the +#: clipboard. Note that disabling the read confirmation is a security +#: risk as it means that any program, even the ones running on a +#: remote server via SSH can read your clipboard. See also +#: clipboard_max_size. + +# clipboard_max_size 512 + +#: The maximum size (in MB) of data from programs running in kitty +#: that will be stored for writing to the system clipboard. A value of +#: zero means no size limit is applied. See also clipboard_control. + +# file_transfer_confirmation_bypass + +#: The password that can be supplied to the file transfer kitten +#: to skip the +#: transfer confirmation prompt. This should only be used when +#: initiating transfers from trusted computers, over trusted networks +#: or encrypted transports, as it allows any programs running on the +#: remote machine to read/write to the local filesystem, without +#: permission. + +# allow_hyperlinks yes + +#: Process hyperlink escape sequences (OSC 8). If disabled OSC 8 +#: escape sequences are ignored. Otherwise they become clickable +#: links, that you can click with the mouse or by using the hints +#: kitten . The +#: special value of ask means that kitty will ask before opening the +#: link when clicked. + +# shell_integration enabled + +#: Enable shell integration on supported shells. This enables features +#: such as jumping to previous prompts, browsing the output of the +#: previous command in a pager, etc. on supported shells. Set to +#: disabled to turn off shell integration, completely. It is also +#: possible to disable individual features, set to a space separated +#: list of these values: no-rc, no-cursor, no-title, no-cwd, no- +#: prompt-mark, no-complete. See Shell integration +#: for details. + +# allow_cloning ask + +#: Control whether programs running in the terminal can request new +#: windows to be created. The canonical example is clone-in-kitty +#: . +#: By default, kitty will ask for permission for each clone request. +#: Allowing cloning unconditionally gives programs running in the +#: terminal (including over SSH) permission to execute arbitrary code, +#: as the user who is running the terminal, on the computer that the +#: terminal is running on. + +# clone_source_strategies venv,conda,env_var,path + +#: Control what shell code is sourced when running clone-in-kitty in +#: the newly cloned window. The supported strategies are: + +#: venv +#: Source the file $VIRTUAL_ENV/bin/activate. This is used by the +#: Python stdlib venv module and allows cloning venvs automatically. +#: conda +#: Run conda activate $CONDA_DEFAULT_ENV. This supports the virtual +#: environments created by conda. +#: env_var +#: Execute the contents of the environment variable +#: KITTY_CLONE_SOURCE_CODE with eval. +#: path +#: Source the file pointed to by the environment variable +#: KITTY_CLONE_SOURCE_PATH. + +#: This option must be a comma separated list of the above values. +#: This only source the first valid one in the above order. + +# term xterm-kitty + +#: The value of the TERM environment variable to set. Changing this +#: can break many terminal programs, only change it if you know what +#: you are doing, not because you read some advice on "Stack Overflow" +#: to change it. The TERM variable is used by various programs to get +#: information about the capabilities and behavior of the terminal. If +#: you change it, depending on what programs you run, and how +#: different the terminal you are changing it to is, various things +#: from key-presses, to colors, to various advanced features may not +#: work. Changing this option by reloading the config will only affect +#: newly created windows. + +#: }}} + +#: OS specific tweaks {{{ + +# wayland_titlebar_color system + +#: The color of the kitty window's titlebar on Wayland systems with +#: client side window decorations such as GNOME. A value of system +#: means to use the default system color, a value of background means +#: to use the background color of the currently active window and +#: finally you can use an arbitrary color, such as #12af59 or red. + + macos_titlebar_color background +#1c2836 + +#: The color of the kitty window's titlebar on macOS. A value of +#: system means to use the default system color, light or dark can +#: also be used to set it explicitly. A value of background means to +#: use the background color of the currently active window and finally +#: you can use an arbitrary color, such as #12af59 or red. WARNING: +#: This option works by using a hack when arbitrary color (or +#: background) is configured, as there is no proper Cocoa API for it. +#: It sets the background color of the entire window and makes the +#: titlebar transparent. As such it is incompatible with +#: background_opacity. If you want to use both, you are probably +#: better off just hiding the titlebar with hide_window_decorations. + + macos_option_as_alt left + +#: Use the Option key as an Alt key on macOS. With this set to no, +#: kitty will use the macOS native Option+Key to enter Unicode +#: character behavior. This will break any Alt+Key keyboard shortcuts +#: in your terminal programs, but you can use the macOS Unicode input +#: technique. You can use the values: left, right or both to use only +#: the left, right or both Option keys as Alt, instead. Note that +#: kitty itself always treats Option the same as Alt. This means you +#: cannot use this option to configure different kitty shortcuts for +#: Option+Key vs. Alt+Key. Also, any kitty shortcuts using +#: Option/Alt+Key will take priority, so that any such key presses +#: will not be passed to terminal programs running inside kitty. +#: Changing this option by reloading the config is not supported. + +# macos_hide_from_tasks no + +#: Hide the kitty window from running tasks on macOS (⌘+Tab and the +#: Dock). Changing this option by reloading the config is not +#: supported. + +# macos_quit_when_last_window_closed no + +#: Have kitty quit when all the top-level windows are closed on macOS. +#: By default, kitty will stay running, even with no open windows, as +#: is the expected behavior on macOS. + +# macos_window_resizable yes + +#: Disable this if you want kitty top-level OS windows to not be +#: resizable on macOS. Changing this option by reloading the config +#: will only affect newly created OS windows. + +# macos_thicken_font 0 + +#: Draw an extra border around the font with the given width, to +#: increase legibility at small font sizes on macOS. For example, a +#: value of 0.75 will result in rendering that looks similar to sub- +#: pixel antialiasing at common font sizes. + +# macos_traditional_fullscreen no + +#: Use the macOS traditional full-screen transition, that is faster, +#: but less pretty. + +# macos_show_window_title_in all + +#: Control where the window title is displayed on macOS. A value of +#: window will show the title of the currently active window at the +#: top of the macOS window. A value of menubar will show the title of +#: the currently active window in the macOS global menu bar, making +#: use of otherwise wasted space. A value of all will show the title +#: in both places, and none hides the title. See +#: macos_menubar_title_max_length for how to control the length of the +#: title in the menu bar. + +# macos_menubar_title_max_length 0 + +#: The maximum number of characters from the window title to show in +#: the macOS global menu bar. Values less than one means that there is +#: no maximum limit. + +# macos_custom_beam_cursor no + +#: Use a custom mouse cursor for macOS that is easier to see on both +#: light and dark backgrounds. Nowadays, the default macOS cursor +#: already comes with a white border. WARNING: this might make your +#: mouse cursor invisible on dual GPU machines. Changing this option +#: by reloading the config is not supported. + +# macos_colorspace srgb + +#: The colorspace in which to interpret terminal colors. The default +#: of srgb will cause colors to match those seen in web browsers. The +#: value of default will use whatever the native colorspace of the +#: display is. The value of displayp3 will use Apple's special +#: snowflake display P3 color space, which will result in over +#: saturated (brighter) colors with some color shift. Reloading +#: configuration will change this value only for newly created OS +#: windows. + +# linux_display_server auto + +#: Choose between Wayland and X11 backends. By default, an appropriate +#: backend based on the system state is chosen automatically. Set it +#: to x11 or wayland to force the choice. Changing this option by +#: reloading the config is not supported. + +#: }}} + +#: Keyboard shortcuts {{{ + +#: Keys are identified simply by their lowercase Unicode characters. +#: For example: a for the A key, [ for the left square bracket key, +#: etc. For functional keys, such as Enter or Escape, the names are +#: present at Functional key definitions +#: . +#: For modifier keys, the names are ctrl (control, ⌃), shift (⇧), alt +#: (opt, option, ⌥), super (cmd, command, ⌘). See also: GLFW mods +#: + +#: On Linux you can also use XKB key names to bind keys that are not +#: supported by GLFW. See XKB keys +#: for a list of key names. The name to use is the part +#: after the XKB_KEY_ prefix. Note that you can only use an XKB key +#: name for keys that are not known as GLFW keys. + +#: Finally, you can use raw system key codes to map keys, again only +#: for keys that are not known as GLFW keys. To see the system key +#: code for a key, start kitty with the kitty --debug-input option, +#: kitty will output some debug text for every key event. In that text +#: look for native_code, the value of that becomes the key name in the +#: shortcut. For example: + +#: .. code-block:: none + +#: on_key_input: glfw key: 0x61 native_code: 0x61 action: PRESS mods: none text: 'a' + +#: Here, the key name for the A key is 0x61 and you can use it with:: + +#: map ctrl+0x61 something + +#: to map Ctrl+A to something. + +#: You can use the special action no_op to unmap a keyboard shortcut +#: that is assigned in the default configuration:: + +#: map kitty_mod+space no_op + +#: If you would like kitty to completely ignore a key event, not even +#: sending it to the program running in the terminal, map it to +#: discard_event:: + +#: map kitty_mod+f1 discard_event + +#: You can combine multiple actions to be triggered by a single +#: shortcut with combine action, using the syntax below:: + +#: map key combine action1 action2 action3 ... + +#: For example:: + +#: map kitty_mod+e combine : new_window : next_layout + +#: This will create a new window and switch to the next available +#: layout. + +#: You can use multi-key shortcuts with the syntax shown below:: + +#: map key1>key2>key3 action + +#: For example:: + +#: map ctrl+f>2 set_font_size 20 + +#: The full list of actions that can be mapped to key presses is +#: available here . + +# kitty_mod ctrl+shift + +#: Special modifier key alias for default shortcuts. You can change +#: the value of this option to alter all default shortcuts that use +#: kitty_mod. + +# clear_all_shortcuts no + +#: Remove all shortcut definitions up to this point. Useful, for +#: instance, to remove the default shortcuts. + +# action_alias + +#: E.g. action_alias launch_tab launch --type=tab --cwd=current + +#: Define action aliases to avoid repeating the same options in +#: multiple mappings. Aliases can be defined for any action and will +#: be expanded recursively. For example, the above alias allows you to +#: create mappings to launch a new tab in the current working +#: directory without duplication:: + +#: map f1 launch_tab vim +#: map f2 launch_tab emacs + +#: Similarly, to alias kitten invocation:: + +#: action_alias hints kitten hints --hints-offset=0 + +# kitten_alias + +#: E.g. kitten_alias hints hints --hints-offset=0 + +#: Like action_alias above, but specifically for kittens. Generally, +#: prefer to use action_alias. This option is a legacy version, +#: present for backwards compatibility. It causes all invocations of +#: the aliased kitten to be substituted. So the example above will +#: cause all invocations of the hints kitten to have the --hints- +#: offset=0 option applied. + +#: Clipboard {{{ + +#: Copy to clipboard + +# map kitty_mod+c copy_to_clipboard +# map cmd+c copy_to_clipboard + +#:: There is also a copy_or_interrupt action that can be optionally +#:: mapped to Ctrl+C. It will copy only if there is a selection and +#:: send an interrupt otherwise. Similarly, +#:: copy_and_clear_or_interrupt will copy and clear the selection or +#:: send an interrupt if there is no selection. + +#: Paste from clipboard + +# map kitty_mod+v paste_from_clipboard +# map cmd+v paste_from_clipboard + +#: Paste from selection + +# map kitty_mod+s paste_from_selection +# map shift+insert paste_from_selection + +#: Pass selection to program + +# map kitty_mod+o pass_selection_to_program + +#:: You can also pass the contents of the current selection to any +#:: program with pass_selection_to_program. By default, the system's +#:: open program is used, but you can specify your own, the selection +#:: will be passed as a command line argument to the program. For +#:: example:: + +#:: map kitty_mod+o pass_selection_to_program firefox + +#:: You can pass the current selection to a terminal program running +#:: in a new kitty window, by using the @selection placeholder:: + +#:: map kitty_mod+y new_window less @selection + +#: }}} + +#: Scrolling {{{ + +#: Scroll line up + +# map kitty_mod+up scroll_line_up +# map kitty_mod+k scroll_line_up +# map opt+cmd+page_up scroll_line_up +# map cmd+up scroll_line_up + +#: Scroll line down + +# map kitty_mod+down scroll_line_down +# map kitty_mod+j scroll_line_down +# map opt+cmd+page_down scroll_line_down +# map cmd+down scroll_line_down + +#: Scroll page up + +# map kitty_mod+page_up scroll_page_up +# map cmd+page_up scroll_page_up + +#: Scroll page down + +# map kitty_mod+page_down scroll_page_down +# map cmd+page_down scroll_page_down + +#: Scroll to top + +# map kitty_mod+home scroll_home +# map cmd+home scroll_home + +#: Scroll to bottom + +# map kitty_mod+end scroll_end +# map cmd+end scroll_end + +#: Scroll to previous shell prompt + +# map kitty_mod+z scroll_to_prompt -1 + +#:: Use a parameter of 0 for scroll_to_prompt to scroll to the last +#:: jumped to or the last clicked position. Requires shell +#:: integration +#:: to work. + +#: Scroll to next shell prompt + +# map kitty_mod+x scroll_to_prompt 1 + +#: Browse scrollback buffer in pager + +# map kitty_mod+h show_scrollback + +#:: You can pipe the contents of the current screen and history +#:: buffer as STDIN to an arbitrary program using launch --stdin- +#:: source. For example, the following opens the scrollback buffer in +#:: less in an overlay window:: + +#:: map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R + +#:: For more details on piping screen and buffer contents to external +#:: programs, see launch . + +#: Browse output of the last shell command in pager + +# map kitty_mod+g show_last_command_output + +#:: You can also define additional shortcuts to get the command +#:: output. For example, to get the first command output on screen:: + +#:: map f1 show_first_command_output_on_screen + +#:: To get the command output that was last accessed by a keyboard +#:: action or mouse action:: + +#:: map f1 show_last_visited_command_output + +#:: You can pipe the output of the last command run in the shell +#:: using the launch action. For example, the following opens the +#:: output in less in an overlay window:: + +#:: map f1 launch --stdin-source=@last_cmd_output --stdin-add-formatting --type=overlay less +G -R + +#:: To get the output of the first command on the screen, use +#:: @first_cmd_output_on_screen. To get the output of the last jumped +#:: to command, use @last_visited_cmd_output. + +#:: Requires shell integration +#:: to work. + +#: }}} + +#: Window management {{{ + +#: New window + +# map kitty_mod+enter new_window +# map cmd+enter new_window + +#:: You can open a new kitty window running an arbitrary program, for +#:: example:: + +#:: map kitty_mod+y launch mutt + +#:: You can open a new window with the current working directory set +#:: to the working directory of the current window using:: + +#:: map ctrl+alt+enter launch --cwd=current + +#:: You can open a new window that is allowed to control kitty via +#:: the kitty remote control facility with launch --allow-remote- +#:: control. Any programs running in that window will be allowed to +#:: control kitty. For example:: + +#:: map ctrl+enter launch --allow-remote-control some_program + +#:: You can open a new window next to the currently active window or +#:: as the first window, with:: + +#:: map ctrl+n launch --location=neighbor +#:: map ctrl+f launch --location=first + +#:: For more details, see launch +#:: . + +#: New OS window + +# map kitty_mod+n new_os_window +# map cmd+n new_os_window + +#:: Works like new_window above, except that it opens a top-level OS +#:: window. In particular you can use new_os_window_with_cwd to open +#:: a window with the current working directory. + +#: Close window + +# map kitty_mod+w close_window +# map shift+cmd+d close_window + +#: Next window + +# map kitty_mod+] next_window + +#: Previous window + +# map kitty_mod+[ previous_window + +#: Move window forward + +# map kitty_mod+f move_window_forward + +#: Move window backward + +# map kitty_mod+b move_window_backward + +#: Move window to top + +# map kitty_mod+` move_window_to_top + +#: Start resizing window + +# map kitty_mod+r start_resizing_window +# map cmd+r start_resizing_window + +#: First window + +# map kitty_mod+1 first_window +# map cmd+1 first_window + +#: Second window + +# map kitty_mod+2 second_window +# map cmd+2 second_window + +#: Third window + +# map kitty_mod+3 third_window +# map cmd+3 third_window + +#: Fourth window + +# map kitty_mod+4 fourth_window +# map cmd+4 fourth_window + +#: Fifth window + +# map kitty_mod+5 fifth_window +# map cmd+5 fifth_window + +#: Sixth window + +# map kitty_mod+6 sixth_window +# map cmd+6 sixth_window + +#: Seventh window + +# map kitty_mod+7 seventh_window +# map cmd+7 seventh_window + +#: Eight window + +# map kitty_mod+8 eighth_window +# map cmd+8 eighth_window + +#: Ninth window + +# map kitty_mod+9 ninth_window +# map cmd+9 ninth_window + +#: Tenth window + +# map kitty_mod+0 tenth_window + +#: Visually select and focus window + +# map kitty_mod+f7 focus_visible_window + +#:: Display overlay numbers and alphabets on the window, and switch +#:: the focus to the window when you press the key. When there are +#:: only two windows, the focus will be switched directly without +#:: displaying the overlay. You can change the overlay characters and +#:: their order with option visual_window_select_characters. + +#: Visually swap window with another + +# map kitty_mod+f8 swap_with_window + +#:: Works like focus_visible_window above, but swaps the window. + +#: }}} + +#: Tab management {{{ + +#: Next tab + +# map kitty_mod+right next_tab +# map shift+cmd+] next_tab +# map ctrl+tab next_tab + +#: Previous tab + +# map kitty_mod+left previous_tab +# map shift+cmd+[ previous_tab +# map ctrl+shift+tab previous_tab + +#: New tab + +# map kitty_mod+t new_tab +# map cmd+t new_tab + +#: Close tab + +# map kitty_mod+q close_tab +# map cmd+w close_tab + +#: Close OS window + +# map shift+cmd+w close_os_window + +#: Move tab forward + +# map kitty_mod+. move_tab_forward + +#: Move tab backward + +# map kitty_mod+, move_tab_backward + +#: Set tab title + +# map kitty_mod+alt+t set_tab_title +# map shift+cmd+i set_tab_title + + +#: You can also create shortcuts to go to specific tabs, with 1 being +#: the first tab, 2 the second tab and -1 being the previously active +#: tab, and any number larger than the last tab being the last tab:: + +#: map ctrl+alt+1 goto_tab 1 +#: map ctrl+alt+2 goto_tab 2 + +#: Just as with new_window above, you can also pass the name of +#: arbitrary commands to run when using new_tab and new_tab_with_cwd. +#: Finally, if you want the new tab to open next to the current tab +#: rather than at the end of the tabs list, use:: + +#: map ctrl+t new_tab !neighbor [optional cmd to run] +#: }}} + +#: Layout management {{{ + +#: Next layout + +# map kitty_mod+l next_layout + + +#: You can also create shortcuts to switch to specific layouts:: + +#: map ctrl+alt+t goto_layout tall +#: map ctrl+alt+s goto_layout stack + +#: Similarly, to switch back to the previous layout:: + +#: map ctrl+alt+p last_used_layout + +#: There is also a toggle_layout action that switches to the named +#: layout or back to the previous layout if in the named layout. +#: Useful to temporarily "zoom" the active window by switching to the +#: stack layout:: + +#: map ctrl+alt+z toggle_layout stack +#: }}} + +#: Font sizes {{{ + +#: You can change the font size for all top-level kitty OS windows at +#: a time or only the current one. + +#: Increase font size + +# map kitty_mod+equal change_font_size all +2.0 +# map kitty_mod+plus change_font_size all +2.0 +# map kitty_mod+kp_add change_font_size all +2.0 +# map cmd+plus change_font_size all +2.0 +# map cmd+equal change_font_size all +2.0 +# map shift+cmd+equal change_font_size all +2.0 + +#: Decrease font size + +# map kitty_mod+minus change_font_size all -2.0 +# map kitty_mod+kp_subtract change_font_size all -2.0 +# map cmd+minus change_font_size all -2.0 +# map shift+cmd+minus change_font_size all -2.0 + +#: Reset font size + +# map kitty_mod+backspace change_font_size all 0 +# map cmd+0 change_font_size all 0 + + +#: To setup shortcuts for specific font sizes:: + +#: map kitty_mod+f6 change_font_size all 10.0 + +#: To setup shortcuts to change only the current OS window's font +#: size:: + +#: map kitty_mod+f6 change_font_size current 10.0 +#: }}} + +#: Select and act on visible text {{{ + +#: Use the hints kitten to select text and either pass it to an +#: external program or insert it into the terminal or copy it to the +#: clipboard. + +#: Open URL + +# map kitty_mod+e open_url_with_hints + +#:: Open a currently visible URL using the keyboard. The program used +#:: to open the URL is specified in open_url_with. + +#: Insert selected path + +# map kitty_mod+p>f kitten hints --type path --program - + +#:: Select a path/filename and insert it into the terminal. Useful, +#:: for instance to run git commands on a filename output from a +#:: previous git command. + +#: Open selected path + +# map kitty_mod+p>shift+f kitten hints --type path + +#:: Select a path/filename and open it with the default open program. + +#: Insert selected line + +# map kitty_mod+p>l kitten hints --type line --program - + +#:: Select a line of text and insert it into the terminal. Useful for +#:: the output of things like: `ls -1`. + +#: Insert selected word + +# map kitty_mod+p>w kitten hints --type word --program - + +#:: Select words and insert into terminal. + +#: Insert selected hash + +# map kitty_mod+p>h kitten hints --type hash --program - + +#:: Select something that looks like a hash and insert it into the +#:: terminal. Useful with git, which uses SHA1 hashes to identify +#:: commits. + +#: Open the selected file at the selected line + +# map kitty_mod+p>n kitten hints --type linenum + +#:: Select something that looks like filename:linenum and open it in +#:: vim at the specified line number. + +#: Open the selected hyperlink + +# map kitty_mod+p>y kitten hints --type hyperlink + +#:: Select a hyperlink (i.e. a URL that has been marked as such by +#:: the terminal program, for example, by `ls --hyperlink=auto`). + + +#: The hints kitten has many more modes of operation that you can map +#: to different shortcuts. For a full description see hints kitten +#: . +#: }}} + +#: Miscellaneous {{{ + +#: Show documentation + +# map kitty_mod+f1 show_kitty_doc overview + +#: Toggle fullscreen + +# map kitty_mod+f11 toggle_fullscreen +# map ctrl+cmd+f toggle_fullscreen + +#: Toggle maximized + +# map kitty_mod+f10 toggle_maximized + +#: Toggle macOS secure keyboard entry + +# map opt+cmd+s toggle_macos_secure_keyboard_entry + +#: Unicode input + +# map kitty_mod+u kitten unicode_input +# map ctrl+cmd+space kitten unicode_input + +#: Edit config file + +# map kitty_mod+f2 edit_config_file +# map cmd+, edit_config_file + +#: Open the kitty command shell + +# map kitty_mod+escape kitty_shell window + +#:: Open the kitty shell in a new window / tab / overlay / os_window +#:: to control kitty using commands. + +#: Increase background opacity + +# map kitty_mod+a>m set_background_opacity +0.1 + +#: Decrease background opacity + +# map kitty_mod+a>l set_background_opacity -0.1 + +#: Make background fully opaque + +# map kitty_mod+a>1 set_background_opacity 1 + +#: Reset background opacity + +# map kitty_mod+a>d set_background_opacity default + +#: Reset the terminal + +# map kitty_mod+delete clear_terminal reset active +# map opt+cmd+r clear_terminal reset active + +#:: You can create shortcuts to clear/reset the terminal. For +#:: example:: + +#:: # Reset the terminal +#:: map f1 clear_terminal reset active +#:: # Clear the terminal screen by erasing all contents +#:: map f1 clear_terminal clear active +#:: # Clear the terminal scrollback by erasing it +#:: map f1 clear_terminal scrollback active +#:: # Scroll the contents of the screen into the scrollback +#:: map f1 clear_terminal scroll active +#:: # Clear everything up to the line with the cursor +#:: map f1 clear_terminal to_cursor active + +#:: If you want to operate on all kitty windows instead of just the +#:: current one, use all instead of active. + +#:: It is also possible to remap Ctrl+L to both scroll the current +#:: screen contents into the scrollback buffer and clear the screen, +#:: instead of just clearing the screen, for example, for ZSH add the +#:: following to ~/.zshrc: + +#:: .. code-block:: zsh + +#:: scroll-and-clear-screen() { +#:: printf '\n%.0s' {1..$LINES} +#:: zle clear-screen +#:: } +#:: zle -N scroll-and-clear-screen +#:: bindkey '^l' scroll-and-clear-screen + +#: Clear up to cursor line + +# map cmd+k clear_terminal to_cursor active + +#: Reload kitty.conf + +# map kitty_mod+f5 load_config_file +# map ctrl+cmd+, load_config_file + +#:: Reload kitty.conf, applying any changes since the last time it +#:: was loaded. Note that a handful of options cannot be dynamically +#:: changed and require a full restart of kitty. Particularly, when +#:: changing shortcuts for actions located on the macOS global menu +#:: bar, a full restart is needed. You can also map a keybinding to +#:: load a different config file, for example:: + +#:: map f5 load_config /path/to/alternative/kitty.conf + +#:: Note that all options from the original kitty.conf are discarded, +#:: in other words the new configuration *replace* the old ones. + +#: Debug kitty configuration + +# map kitty_mod+f6 debug_config +# map opt+cmd+, debug_config + +#:: Show details about exactly what configuration kitty is running +#:: with and its host environment. Useful for debugging issues. + +#: Send arbitrary text on key presses + +#:: E.g. map ctrl+shift+alt+h send_text all Hello World + +#:: You can tell kitty to send arbitrary (UTF-8) encoded text to the +#:: client program when pressing specified shortcut keys. For +#:: example:: + +#:: map ctrl+alt+a send_text all Special text + +#:: This will send "Special text" when you press the Ctrl+Alt+A key +#:: combination. The text to be sent decodes ANSI C escapes +#:: so you can use escapes like \e to send control +#:: codes or \u21fb to send Unicode characters (or you can just input +#:: the Unicode characters directly as UTF-8 text). You can use +#:: `kitty +kitten show_key` to get the key escape codes you want to +#:: emulate. + +#:: The first argument to send_text is the keyboard modes in which to +#:: activate the shortcut. The possible values are normal, +#:: application, kitty or a comma separated combination of them. The +#:: modes normal and application refer to the DECCKM cursor key mode +#:: for terminals, and kitty refers to the kitty extended keyboard +#:: protocol. The special value all means all of them. + +#:: Some more examples:: + +#:: # Output a word and move the cursor to the start of the line (like typing and pressing Home) +#:: map ctrl+alt+a send_text normal Word\e[H +#:: map ctrl+alt+a send_text application Word\eOH +#:: # Run a command at a shell prompt (like typing the command and pressing Enter) +#:: map ctrl+alt+a send_text normal,application some command with arguments\r + +#: Open kitty Website + +# map shift+cmd+/ open_url https://sw.kovidgoyal.net/kitty/ + +#: Hide macOS kitty application + +# map cmd+h hide_macos_app + +#: Hide macOS other applications + +# map opt+cmd+h hide_macos_other_apps + +#: Minimize macOS window + +# map cmd+m minimize_macos_window + +#: Quit kitty + +# map cmd+q quit + +#: }}} + +#: }}} + + +# BEGIN_KITTY_THEME +# Chalk +# include current-theme.conf +# END_KITTY_THEME diff --git a/private_dot_config/kitty/kitty.conf.bak b/private_dot_config/kitty/kitty.conf.bak new file mode 100644 index 0000000..434c933 --- /dev/null +++ b/private_dot_config/kitty/kitty.conf.bak @@ -0,0 +1,2298 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +#: Fonts {{{ + +#: kitty has very powerful font management. You can configure +#: individual font faces and even specify special fonts for particular +#: characters. + +# font_family monospace +# bold_font auto +# italic_font auto +# bold_italic_font auto + +#: You can specify different fonts for the bold/italic/bold-italic +#: variants. To get a full list of supported fonts use the `kitty +#: +list-fonts` command. By default they are derived automatically, by +#: the OSes font system. When bold_font or bold_italic_font is set to +#: auto on macOS, the priority of bold fonts is semi-bold, bold, +#: heavy. Setting them manually is useful for font families that have +#: many weight variants like Book, Medium, Thick, etc. For example:: + +#: font_family Operator Mono Book +#: bold_font Operator Mono Medium +#: italic_font Operator Mono Book Italic +#: bold_italic_font Operator Mono Medium Italic +font_family MesloLGS NF + + +font_size 17.0 +macos_thicken_font 1 +#: Font size (in pts) + +# force_ltr no + +#: kitty does not support BIDI (bidirectional text), however, for RTL +#: scripts, words are automatically displayed in RTL. That is to say, +#: in an RTL script, the words "HELLO WORLD" display in kitty as +#: "WORLD HELLO", and if you try to select a substring of an RTL- +#: shaped string, you will get the character that would be there had +#: the the string been LTR. For example, assuming the Hebrew word +#: ירושלים, selecting the character that on the screen appears to be ם +#: actually writes into the selection buffer the character י. kitty's +#: default behavior is useful in conjunction with a filter to reverse +#: the word order, however, if you wish to manipulate RTL glyphs, it +#: can be very challenging to work with, so this option is provided to +#: turn it off. Furthermore, this option can be used with the command +#: line program GNU FriBidi +#: to get BIDI +#: support, because it will force kitty to always treat the text as +#: LTR, which FriBidi expects for terminals. + +# symbol_map + +#: E.g. symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols + +#: Map the specified Unicode codepoints to a particular font. Useful +#: if you need special rendering for some symbols, such as for +#: Powerline. Avoids the need for patched fonts. Each Unicode code +#: point is specified in the form `U+`. You +#: can specify multiple code points, separated by commas and ranges +#: separated by hyphens. This option can be specified multiple times. +#: The syntax is:: + +#: symbol_map codepoints Font Family Name + +# narrow_symbols + +#: E.g. narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1 + +#: Usually, for Private Use Unicode characters and some symbol/dingbat +#: characters, if the character is followed by one or more spaces, +#: kitty will use those extra cells to render the character larger, if +#: the character in the font has a wide aspect ratio. Using this +#: option you can force kitty to restrict the specified code points to +#: render in the specified number of cells (defaulting to one cell). +#: This option can be specified multiple times. The syntax is:: + +#: narrow_symbols codepoints [optionally the number of cells] + +disable_ligatures never + +#: Choose how you want to handle multi-character ligatures. The +#: default is to always render them. You can tell kitty to not render +#: them when the cursor is over them by using cursor to make editing +#: easier, or have kitty never render them at all by using always, if +#: you don't like them. The ligature strategy can be set per-window +#: either using the kitty remote control facility or by defining +#: shortcuts for it in kitty.conf, for example:: + +#: map alt+1 disable_ligatures_in active always +#: map alt+2 disable_ligatures_in all never +#: map alt+3 disable_ligatures_in tab cursor + +#: Note that this refers to programming ligatures, typically +#: implemented using the calt OpenType feature. For disabling general +#: ligatures, use the font_features option. + +# font_features + +#: E.g. font_features none + +#: Choose exactly which OpenType features to enable or disable. This +#: is useful as some fonts might have features worthwhile in a +#: terminal. For example, Fira Code includes a discretionary feature, +#: zero, which in that font changes the appearance of the zero (0), to +#: make it more easily distinguishable from Ø. Fira Code also includes +#: other discretionary features known as Stylistic Sets which have the +#: tags ss01 through ss20. + +#: For the exact syntax to use for individual features, see the +#: HarfBuzz documentation . + +#: Note that this code is indexed by PostScript name, and not the font +#: family. This allows you to define very precise feature settings; +#: e.g. you can disable a feature in the italic font but not in the +#: regular font. + +#: On Linux, font features are first read from the FontConfig database +#: and then this option is applied, so they can be configured in a +#: single, central place. + +#: To get the PostScript name for a font, use `kitty +list-fonts +#: --psnames`: + +#: .. code-block:: sh + +#: $ kitty +list-fonts --psnames | grep Fira +#: Fira Code +#: Fira Code Bold (FiraCode-Bold) +#: Fira Code Light (FiraCode-Light) +#: Fira Code Medium (FiraCode-Medium) +#: Fira Code Regular (FiraCode-Regular) +#: Fira Code Retina (FiraCode-Retina) + +#: The part in brackets is the PostScript name. + +#: Enable alternate zero and oldstyle numerals:: + +#: font_features FiraCode-Retina +zero +onum + +#: Enable only alternate zero in the bold font:: + +#: font_features FiraCode-Bold +zero + +#: Disable the normal ligatures, but keep the calt feature which (in +#: this font) breaks up monotony:: + +#: font_features TT2020StyleB-Regular -liga +calt + +#: In conjunction with force_ltr, you may want to disable Arabic +#: shaping entirely, and only look at their isolated forms if they +#: show up in a document. You can do this with e.g.:: + +#: font_features UnifontMedium +isol -medi -fina -init + +# modify_font + +#: Modify font characteristics such as the position or thickness of +#: the underline and strikethrough. The modifications can have the +#: suffix px for pixels or % for percentage of original value. No +#: suffix means use pts. For example:: + +#: modify_font underline_position -2 +#: modify_font underline_thickness 150% +#: modify_font strikethrough_position 2px + +#: Additionally, you can modify the size of the cell in which each +#: font glyph is rendered and the baseline at which the glyph is +#: placed in the cell. For example:: + +#: modify_font cell_width 80% +#: modify_font cell_height -2px +#: modify_font baseline 3 + +#: Note that modifying the baseline will automatically adjust the +#: underline and strikethrough positions by the same amount. +#: Increasing the baseline raises glyphs inside the cell and +#: decreasing it lowers them. Decreasing the cell size might cause +#: rendering artifacts, so use with care. + +# box_drawing_scale 0.001, 1, 1.5, 2 + +#: The sizes of the lines used for the box drawing Unicode characters. +#: These values are in pts. They will be scaled by the monitor DPI to +#: arrive at a pixel value. There must be four values corresponding to +#: thin, normal, thick, and very thick lines. + +# undercurl_style thin-sparse + +#: The style with which undercurls are rendered. This option takes the +#: form (thin|thick)-(sparse|dense). Thin and thick control the +#: thickness of the undercurl. Sparse and dense control how often the +#: curl oscillates. With sparse the curl will peak once per character, +#: with dense twice. + +#: }}} + +#: Cursor customization {{{ + +# cursor #cccccc + +#: Default cursor color. If set to the special value none the cursor +#: will be rendered with a "reverse video" effect. It's color will be +#: the color of the text in the cell it is over and the text will be +#: rendered with the background color of the cell. Note that if the +#: program running in the terminal sets a cursor color, this takes +#: precedence. Also, the cursor colors are modified if the cell +#: background and foreground colors have very low contrast. + +# cursor_text_color #111111 + +#: The color of text under the cursor. If you want it rendered with +#: the background color of the cell underneath instead, use the +#: special keyword: background. Note that if cursor is set to none +#: then this option is ignored. + +# cursor_shape block + +#: The cursor shape can be one of block, beam, underline. Note that +#: when reloading the config this will be changed only if the cursor +#: shape has not been set by the program running in the terminal. This +#: sets the default cursor shape, applications running in the terminal +#: can override it. In particular, shell integration +#: in kitty sets +#: the cursor shape to beam at shell prompts. You can avoid this by +#: setting shell_integration to no-cursor. + +# cursor_beam_thickness 1.5 + +#: The thickness of the beam cursor (in pts). + +# cursor_underline_thickness 2.0 + +#: The thickness of the underline cursor (in pts). + +# cursor_blink_interval -1 + +#: The interval to blink the cursor (in seconds). Set to zero to +#: disable blinking. Negative values mean use system default. Note +#: that the minimum interval will be limited to repaint_delay. + +# cursor_stop_blinking_after 15.0 + +#: Stop blinking cursor after the specified number of seconds of +#: keyboard inactivity. Set to zero to never stop blinking. + +#: }}} + +#: Scrollback {{{ + +# scrollback_lines 2000 + +#: Number of lines of history to keep in memory for scrolling back. +#: Memory is allocated on demand. Negative numbers are (effectively) +#: infinite scrollback. Note that using very large scrollback is not +#: recommended as it can slow down performance of the terminal and +#: also use large amounts of RAM. Instead, consider using +#: scrollback_pager_history_size. Note that on config reload if this +#: is changed it will only affect newly created windows, not existing +#: ones. + +# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER + +#: Program with which to view scrollback in a new window. The +#: scrollback buffer is passed as STDIN to this program. If you change +#: it, make sure the program you use can handle ANSI escape sequences +#: for colors and text formatting. INPUT_LINE_NUMBER in the command +#: line above will be replaced by an integer representing which line +#: should be at the top of the screen. Similarly CURSOR_LINE and +#: CURSOR_COLUMN will be replaced by the current cursor position or +#: set to 0 if there is no cursor, for example, when showing the last +#: command output. + +# scrollback_pager_history_size 0 + +#: Separate scrollback history size (in MB), used only for browsing +#: the scrollback buffer with pager. This separate buffer is not +#: available for interactive scrolling but will be piped to the pager +#: program when viewing scrollback buffer in a separate window. The +#: current implementation stores the data in UTF-8, so approximatively +#: 10000 lines per megabyte at 100 chars per line, for pure ASCII, +#: unformatted text. A value of zero or less disables this feature. +#: The maximum allowed size is 4GB. Note that on config reload if this +#: is changed it will only affect newly created windows, not existing +#: ones. + +# scrollback_fill_enlarged_window no + +#: Fill new space with lines from the scrollback buffer after +#: enlarging a window. + +# wheel_scroll_multiplier 5.0 + +#: Multiplier for the number of lines scrolled by the mouse wheel. +#: Note that this is only used for low precision scrolling devices, +#: not for high precision scrolling devices on platforms such as macOS +#: and Wayland. Use negative numbers to change scroll direction. See +#: also wheel_scroll_min_lines. + +# wheel_scroll_min_lines 1 + +#: The minimum number of lines scrolled by the mouse wheel. The scroll +#: multiplier wheel_scroll_multiplier only takes effect after it +#: reaches this number. Note that this is only used for low precision +#: scrolling devices like wheel mice that scroll by very small amounts +#: when using the wheel. With a negative number, the minimum number of +#: lines will always be added. + +# touch_scroll_multiplier 1.0 + +#: Multiplier for the number of lines scrolled by a touchpad. Note +#: that this is only used for high precision scrolling devices on +#: platforms such as macOS and Wayland. Use negative numbers to change +#: scroll direction. + +#: }}} + +#: Mouse {{{ + +# mouse_hide_wait 3.0 + +#: Hide mouse cursor after the specified number of seconds of the +#: mouse not being used. Set to zero to disable mouse cursor hiding. +#: Set to a negative value to hide the mouse cursor immediately when +#: typing text. Disabled by default on macOS as getting it to work +#: robustly with the ever-changing sea of bugs that is Cocoa is too +#: much effort. + +# url_color #0087bd +# url_style curly + +#: The color and style for highlighting URLs on mouse-over. url_style +#: can be one of: none, straight, double, curly, dotted, dashed. + +# open_url_with default + +#: The program to open clicked URLs. The special value default with +#: first look for any URL handlers defined via the open_actions +#: facility and if non +#: are found, it will use the Operating System's default URL handler +#: (open on macOS and xdg-open on Linux). + +# url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh + +#: The set of URL prefixes to look for when detecting a URL under the +#: mouse cursor. + +# detect_urls yes + +#: Detect URLs under the mouse. Detected URLs are highlighted with an +#: underline and the mouse cursor becomes a hand over them. Even if +#: this option is disabled, URLs are still clickable. + +# url_excluded_characters + +#: Additional characters to be disallowed from URLs, when detecting +#: URLs under the mouse cursor. By default, all characters that are +#: legal in URLs are allowed. + +# show_hyperlink_targets no + +#: When the mouse hovers over a terminal hyperlink, show the actual +#: URL that will be activated when the hyperlink is clicked. + +# copy_on_select no + +#: Copy to clipboard or a private buffer on select. With this set to +#: clipboard, selecting text with the mouse will cause the text to be +#: copied to clipboard. Useful on platforms such as macOS that do not +#: have the concept of primary selection. You can instead specify a +#: name such as a1 to copy to a private kitty buffer. Map a shortcut +#: with the paste_from_buffer action to paste from this private +#: buffer. For example:: + +#: copy_on_select a1 +#: map shift+cmd+v paste_from_buffer a1 + +#: Note that copying to the clipboard is a security risk, as all +#: programs, including websites open in your browser can read the +#: contents of the system clipboard. + +# paste_actions quote-urls-at-prompt + +#: A comma separated list of actions to take when pasting text into +#: the terminal. The supported paste actions are: + +#: quote-urls-at-prompt: +#: If the text being pasted is a URL and the cursor is at a shell prompt, +#: automatically quote the URL (needs shell_integration). +#: confirm: +#: Confirm the paste if bracketed paste mode is not active or there is more +#: a large amount of text being pasted. +#: filter: +#: Run the filter_paste() function from the file paste-actions.py in +#: the kitty config directory on the pasted text. The text returned by the +#: function will be actually pasted. + +# strip_trailing_spaces never + +#: Remove spaces at the end of lines when copying to clipboard. A +#: value of smart will do it when using normal selections, but not +#: rectangle selections. A value of always will always do it. + +# select_by_word_characters @-./_~?&=%+# + +#: Characters considered part of a word when double clicking. In +#: addition to these characters any character that is marked as an +#: alphanumeric character in the Unicode database will be matched. + +# select_by_word_characters_forward + +#: Characters considered part of a word when extending the selection +#: forward on double clicking. In addition to these characters any +#: character that is marked as an alphanumeric character in the +#: Unicode database will be matched. + +#: If empty (default) select_by_word_characters will be used for both +#: directions. + +# click_interval -1.0 + +#: The interval between successive clicks to detect double/triple +#: clicks (in seconds). Negative numbers will use the system default +#: instead, if available, or fallback to 0.5. + +# focus_follows_mouse no + +#: Set the active window to the window under the mouse when moving the +#: mouse around. + +# pointer_shape_when_grabbed arrow + +#: The shape of the mouse pointer when the program running in the +#: terminal grabs the mouse. Valid values are: arrow, beam and hand. + +# default_pointer_shape beam + +#: The default shape of the mouse pointer. Valid values are: arrow, +#: beam and hand. + +# pointer_shape_when_dragging beam + +#: The default shape of the mouse pointer when dragging across text. +#: Valid values are: arrow, beam and hand. + +#: Mouse actions {{{ + +#: Mouse buttons can be mapped to perform arbitrary actions. The +#: syntax is: + +#: .. code-block:: none + +#: mouse_map button-name event-type modes action + +#: Where button-name is one of left, middle, right, b1 ... b8 with +#: added keyboard modifiers. For example: ctrl+shift+left refers to +#: holding the Ctrl+Shift keys while clicking with the left mouse +#: button. The value b1 ... b8 can be used to refer to up to eight +#: buttons on a mouse. + +#: event-type is one of press, release, doublepress, triplepress, +#: click, doubleclick. modes indicates whether the action is performed +#: when the mouse is grabbed by the program running in the terminal, +#: or not. The values are grabbed or ungrabbed or a comma separated +#: combination of them. grabbed refers to when the program running in +#: the terminal has requested mouse events. Note that the click and +#: double click events have a delay of click_interval to disambiguate +#: from double and triple presses. + +#: You can run kitty with the kitty --debug-input command line option +#: to see mouse events. See the builtin actions below to get a sense +#: of what is possible. + +#: If you want to unmap an action, map it to no_op. For example, to +#: disable opening of URLs with a plain click:: + +#: mouse_map left click ungrabbed no_op + +#: See all the mappable actions including mouse actions here +#: . + +#: .. note:: +#: Once a selection is started, releasing the button that started it will +#: automatically end it and no release event will be dispatched. + +# clear_all_mouse_actions no + +#: Remove all mouse action definitions up to this point. Useful, for +#: instance, to remove the default mouse actions. + +#: Click the link under the mouse or move the cursor + +# mouse_map left click ungrabbed mouse_handle_click selection link prompt + +#:: First check for a selection and if one exists do nothing. Then +#:: check for a link under the mouse cursor and if one exists, click +#:: it. Finally check if the click happened at the current shell +#:: prompt and if so, move the cursor to the click location. Note +#:: that this requires shell integration +#:: to work. + +#: Click the link under the mouse or move the cursor even when grabbed + +# mouse_map shift+left click grabbed,ungrabbed mouse_handle_click selection link prompt + +#:: Same as above, except that the action is performed even when the +#:: mouse is grabbed by the program running in the terminal. + +#: Click the link under the mouse cursor + +# mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_handle_click link + +#:: Variant with Ctrl+Shift is present because the simple click based +#:: version has an unavoidable delay of click_interval, to +#:: disambiguate clicks from double clicks. + +#: Discard press event for link click + +# mouse_map ctrl+shift+left press grabbed discard_event + +#:: Prevent this press event from being sent to the program that has +#:: grabbed the mouse, as the corresponding release event is used to +#:: open a URL. + +#: Paste from the primary selection + +# mouse_map middle release ungrabbed paste_from_selection + +#: Start selecting text + +# mouse_map left press ungrabbed mouse_selection normal + +#: Start selecting text in a rectangle + +# mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle + +#: Select a word + +# mouse_map left doublepress ungrabbed mouse_selection word + +#: Select a line + +# mouse_map left triplepress ungrabbed mouse_selection line + +#: Select line from point + +# mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point + +#:: Select from the clicked point to the end of the line. + +#: Extend the current selection + +# mouse_map right press ungrabbed mouse_selection extend + +#:: If you want only the end of the selection to be moved instead of +#:: the nearest boundary, use move-end instead of extend. + +#: Paste from the primary selection even when grabbed + +# mouse_map shift+middle release ungrabbed,grabbed paste_selection +# mouse_map shift+middle press grabbed discard_event + +#: Start selecting text even when grabbed + +# mouse_map shift+left press ungrabbed,grabbed mouse_selection normal + +#: Start selecting text in a rectangle even when grabbed + +# mouse_map ctrl+shift+alt+left press ungrabbed,grabbed mouse_selection rectangle + +#: Select a word even when grabbed + +# mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word + +#: Select a line even when grabbed + +# mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line + +#: Select line from point even when grabbed + +# mouse_map ctrl+shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point + +#:: Select from the clicked point to the end of the line even when +#:: grabbed. + +#: Extend the current selection even when grabbed + +# mouse_map shift+right press ungrabbed,grabbed mouse_selection extend + +#: Show clicked command output in pager + +# mouse_map ctrl+shift+right press ungrabbed mouse_show_command_output + +#:: Requires shell integration +#:: to work. + +#: }}} + +#: }}} + +#: Performance tuning {{{ + +# repaint_delay 10 + +#: Delay between screen updates (in milliseconds). Decreasing it, +#: increases frames-per-second (FPS) at the cost of more CPU usage. +#: The default value yields ~100 FPS which is more than sufficient for +#: most uses. Note that to actually achieve 100 FPS, you have to +#: either set sync_to_monitor to no or use a monitor with a high +#: refresh rate. Also, to minimize latency when there is pending input +#: to be processed, this option is ignored. + +# input_delay 3 + +#: Delay before input from the program running in the terminal is +#: processed (in milliseconds). Note that decreasing it will increase +#: responsiveness, but also increase CPU usage and might cause flicker +#: in full screen programs that redraw the entire screen on each loop, +#: because kitty is so fast that partial screen updates will be drawn. + +# sync_to_monitor yes + +#: Sync screen updates to the refresh rate of the monitor. This +#: prevents screen tearing +#: when scrolling. +#: However, it limits the rendering speed to the refresh rate of your +#: monitor. With a very high speed mouse/high keyboard repeat rate, +#: you may notice some slight input latency. If so, set this to no. + +#: }}} + +#: Terminal bell {{{ + +# enable_audio_bell yes + +#: The audio bell. Useful to disable it in environments that require +#: silence. + +# visual_bell_duration 0.0 + +#: The visual bell duration (in seconds). Flash the screen when a bell +#: occurs for the specified number of seconds. Set to zero to disable. + +# visual_bell_color none + +#: The color used by visual bell. Set to none will fall back to +#: selection background color. If you feel that the visual bell is too +#: bright, you can set it to a darker color. + +# window_alert_on_bell yes + +#: Request window attention on bell. Makes the dock icon bounce on +#: macOS or the taskbar flash on linux. + +# bell_on_tab "🔔 " + +#: Some text or a Unicode symbol to show on the tab if a window in the +#: tab that does not have focus has a bell. If you want to use leading +#: or trailing spaces, surround the text with quotes. See +#: tab_title_template for how this is rendered. + +#: For backwards compatibility, values of yes, y and true are +#: converted to the default bell symbol and no, n, false and none are +#: converted to the empty string. + +# command_on_bell none + +#: Program to run when a bell occurs. The environment variable +#: KITTY_CHILD_CMDLINE can be used to get the program running in the +#: window in which the bell occurred. + +# bell_path none + +#: Path to a sound file to play as the bell sound. If set to none, the +#: system default bell sound is used. Must be in a format supported by +#: the operating systems sound API, such as WAV or OGA on Linux +#: (libcanberra) or AIFF, MP3 or WAV on macOS (NSSound) + +#: }}} + +#: Window layout {{{ + +# remember_window_size yes +# initial_window_width 640 +# initial_window_height 400 + +#: If enabled, the OS Window size will be remembered so that new +#: instances of kitty will have the same size as the previous +#: instance. If disabled, the OS Window will initially have size +#: configured by initial_window_width/height, in pixels. You can use a +#: suffix of "c" on the width/height values to have them interpreted +#: as number of cells instead of pixels. + +# enabled_layouts * + +#: The enabled window layouts. A comma separated list of layout names. +#: The special value all means all layouts. The first listed layout +#: will be used as the startup layout. Default configuration is all +#: layouts in alphabetical order. For a list of available layouts, see +#: the layouts . + +# window_resize_step_cells 2 +# window_resize_step_lines 2 + +#: The step size (in units of cell width/cell height) to use when +#: resizing kitty windows in a layout with the shortcut +#: start_resizing_window. The cells value is used for horizontal +#: resizing, and the lines value is used for vertical resizing. + +# window_border_width 0.5pt + +#: The width of window borders. Can be either in pixels (px) or pts +#: (pt). Values in pts will be rounded to the nearest number of pixels +#: based on screen resolution. If not specified, the unit is assumed +#: to be pts. Note that borders are displayed only when more than one +#: window is visible. They are meant to separate multiple windows. + +# draw_minimal_borders yes + +#: Draw only the minimum borders needed. This means that only the +#: borders that separate the window from a neighbor are drawn. Note +#: that setting a non-zero window_margin_width overrides this and +#: causes all borders to be drawn. + +# window_margin_width 0 + +#: The window margin (in pts) (blank area outside the border). A +#: single value sets all four sides. Two values set the vertical and +#: horizontal sides. Three values set top, horizontal and bottom. Four +#: values set top, right, bottom and left. + +# single_window_margin_width -1 + +#: The window margin to use when only a single window is visible (in +#: pts). Negative values will cause the value of window_margin_width +#: to be used instead. A single value sets all four sides. Two values +#: set the vertical and horizontal sides. Three values set top, +#: horizontal and bottom. Four values set top, right, bottom and left. + +# window_padding_width 0 + +#: The window padding (in pts) (blank area between the text and the +#: window border). A single value sets all four sides. Two values set +#: the vertical and horizontal sides. Three values set top, horizontal +#: and bottom. Four values set top, right, bottom and left. + +# placement_strategy center + +#: When the window size is not an exact multiple of the cell size, the +#: cell area of the terminal window will have some extra padding on +#: the sides. You can control how that padding is distributed with +#: this option. Using a value of center means the cell area will be +#: placed centrally. A value of top-left means the padding will be +#: only at the bottom and right edges. + +# active_border_color #00ff00 + +#: The color for the border of the active window. Set this to none to +#: not draw borders around the active window. + +# inactive_border_color #cccccc + +#: The color for the border of inactive windows. + +# bell_border_color #ff5a00 + +#: The color for the border of inactive windows in which a bell has +#: occurred. + +# inactive_text_alpha 1.0 + +#: Fade the text in inactive windows by the specified amount (a number +#: between zero and one, with zero being fully faded). + +# hide_window_decorations no + +#: Hide the window decorations (title-bar and window borders) with +#: yes. On macOS, titlebar-only can be used to only hide the titlebar. +#: Whether this works and exactly what effect it has depends on the +#: window manager/operating system. Note that the effects of changing +#: this option when reloading config are undefined. + +# window_logo_path none + +#: Path to a logo image. Must be in PNG format. Relative paths are +#: interpreted relative to the kitty config directory. The logo is +#: displayed in a corner of every kitty window. The position is +#: controlled by window_logo_position. Individual windows can be +#: configured to have different logos either using the launch action +#: or the remote control facility. + +# window_logo_position bottom-right + +#: Where to position the window logo in the window. The value can be +#: one of: top-left, top, top-right, left, center, right, bottom-left, +#: bottom, bottom-right. + +# window_logo_alpha 0.5 + +#: The amount the logo should be faded into the background. With zero +#: being fully faded and one being fully opaque. + +# resize_debounce_time 0.1 + +#: The time to wait before redrawing the screen when a resize event is +#: received (in seconds). On platforms such as macOS, where the +#: operating system sends events corresponding to the start and end of +#: a resize, this number is ignored. + +# resize_draw_strategy static + +#: Choose how kitty draws a window while a resize is in progress. A +#: value of static means draw the current window contents, mostly +#: unchanged. A value of scale means draw the current window contents +#: scaled. A value of blank means draw a blank window. A value of size +#: means show the window size in cells. + +# resize_in_steps no + +#: Resize the OS window in steps as large as the cells, instead of +#: with the usual pixel accuracy. Combined with initial_window_width +#: and initial_window_height in number of cells, this option can be +#: used to keep the margins as small as possible when resizing the OS +#: window. Note that this does not currently work on Wayland. + +# visual_window_select_characters 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ + +#: The list of characters for visual window selection. For example, +#: for selecting a window to focus on with focus_visible_window. The +#: value should be a series of unique numbers or alphabets, case +#: insensitive, from the set [0-9A-Z]. Specify your preference as a +#: string of characters. + +# confirm_os_window_close -1 + +#: Ask for confirmation when closing an OS window or a tab with at +#: least this number of kitty windows in it by window manager (e.g. +#: clicking the window close button or pressing the operating system +#: shortcut to close windows) or by the close_tab action. A value of +#: zero disables confirmation. This confirmation also applies to +#: requests to quit the entire application (all OS windows, via the +#: quit action). Negative values are converted to positive ones, +#: however, with shell_integration enabled, using negative values +#: means windows sitting at a shell prompt are not counted, only +#: windows where some command is currently running. Note that if you +#: want confirmation when closing individual windows, you can map the +#: close_window_with_confirmation action. + +#: }}} + +#: Tab bar {{{ + +# tab_bar_edge bottom + +#: The edge to show the tab bar on, top or bottom. + +#tab_bar_margin_width 0.0 + +#: The margin to the left and right of the tab bar (in pts). + +# tab_bar_margin_height 0.0 0.0 + +#: The margin above and below the tab bar (in pts). The first number +#: is the margin between the edge of the OS Window and the tab bar. +#: The second number is the margin between the tab bar and the +#: contents of the current tab. + +tab_bar_style powerline +tab_powerline_style slanted + +#: The tab bar style, can be one of: + +#: fade +#: Each tab's edges fade into the background color. (See also tab_fade) +#: slant +#: Tabs look like the tabs in a physical file. +#: separator +#: Tabs are separated by a configurable separator. (See also +#: tab_separator) +#: powerline +#: Tabs are shown as a continuous line with "fancy" separators. +#: (See also tab_powerline_style) +#: custom +#: A user-supplied Python function called draw_tab is loaded from the file +#: tab_bar.py in the kitty config directory. For examples of how to +#: write such a function, see the functions named draw_tab_with_* in +#: kitty's source code: kitty/tab_bar.py. See also +#: this discussion +#: for examples from kitty users. +#: hidden +#: The tab bar is hidden. If you use this, you might want to create a mapping +#: for the select_tab action which presents you with a list of tabs and +#: allows for easy switching to a tab. + +# tab_bar_align left + +#: The horizontal alignment of the tab bar, can be one of: left, +#: center, right. + +# tab_bar_min_tabs 2 + +#: The minimum number of tabs that must exist before the tab bar is +#: shown. + +# tab_switch_strategy previous + +#: The algorithm to use when switching to a tab when the current tab +#: is closed. The default of previous will switch to the last used +#: tab. A value of left will switch to the tab to the left of the +#: closed tab. A value of right will switch to the tab to the right of +#: the closed tab. A value of last will switch to the right-most tab. + +# tab_fade 0.25 0.5 0.75 1 + +#: Control how each tab fades into the background when using fade for +#: the tab_bar_style. Each number is an alpha (between zero and one) +#: that controls how much the corresponding cell fades into the +#: background, with zero being no fade and one being full fade. You +#: can change the number of cells used by adding/removing entries to +#: this list. + +# tab_separator " ┇" + +#: The separator between tabs in the tab bar when using separator as +#: the tab_bar_style. + +# tab_powerline_style angled + +#: The powerline separator style between tabs in the tab bar when +#: using powerline as the tab_bar_style, can be one of: angled, +#: slanted, round. + +# tab_activity_symbol none + +#: Some text or a Unicode symbol to show on the tab if a window in the +#: tab that does not have focus has some activity. If you want to use +#: leading or trailing spaces, surround the text with quotes. See +#: tab_title_template for how this is rendered. + +# tab_title_max_length 0 + +#: The maximum number of cells that can be used to render the text in +#: a tab. A value of zero means that no limit is applied. + +# tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}" + +#: A template to render the tab title. The default just renders the +#: title with optional symbols for bell and activity. If you wish to +#: include the tab-index as well, use something like: {index}:{title}. +#: Useful if you have shortcuts mapped for goto_tab N. If you prefer +#: to see the index as a superscript, use {sup.index}. All data +#: available is: + +#: title +#: The current tab title. +#: index +#: The tab index useable with goto_tab N goto_tab shortcuts. +#: layout_name +#: The current layout name. +#: num_windows +#: The number of windows in the tab. +#: num_window_groups +#: The number of window groups (not counting overlay windows) in the tab. +#: tab.active_wd +#: The working directory of the currently active window in the tab (expensive, +#: requires syscall). Use active_oldest_wd to get the directory of the oldest foreground process rather than the newest. +#: tab.active_exe +#: The name of the executable running in the foreground of the currently active window in the tab (expensive, +#: requires syscall). Use active_oldest_exe for the oldest foreground process. +#: max_title_length +#: The maximum title length available. + +#: Note that formatting is done by Python's string formatting +#: machinery, so you can use, for instance, {layout_name[:2].upper()} +#: to show only the first two letters of the layout name, upper-cased. +#: If you want to style the text, you can use styling directives, for +#: example: +#: `{fmt.fg.red}red{fmt.fg.tab}normal{fmt.bg._00FF00}greenbg{fmt.bg.tab}`. +#: Similarly, for bold and italic: +#: `{fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}`. +#: Note that for backward compatibility, if {bell_symbol} or +#: {activity_symbol} are not present in the template, they are +#: prepended to it. + +# active_tab_title_template none + +#: Template to use for active tabs. If not specified falls back to +#: tab_title_template. + +# active_tab_foreground #000 +# active_tab_background #eee +# active_tab_font_style bold-italic +# inactive_tab_foreground #444 +# inactive_tab_background #999 +# inactive_tab_font_style normal + +#: Tab bar colors and styles. + +# tab_bar_background none + +#: Background color for the tab bar. Defaults to using the terminal +#: background color. + +# tab_bar_margin_color none + +#: Color for the tab bar margin area. Defaults to using the terminal +#: background color for margins above and below the tab bar. For side +#: margins the default color is chosen to match the background color +#: of the neighboring tab. + +#: }}} + +#: Color scheme {{{ + +# foreground #dddddd +# background #000000 + +#: The foreground and background colors. + +# background_opacity 1.0 + +#: The opacity of the background. A number between zero and one, where +#: one is opaque and zero is fully transparent. This will only work if +#: supported by the OS (for instance, when using a compositor under +#: X11). Note that it only sets the background color's opacity in +#: cells that have the same background color as the default terminal +#: background, so that things like the status bar in vim, powerline +#: prompts, etc. still look good. But it means that if you use a color +#: theme with a background color in your editor, it will not be +#: rendered as transparent. Instead you should change the default +#: background color in your kitty config and not use a background +#: color in the editor color scheme. Or use the escape codes to set +#: the terminals default colors in a shell script to launch your +#: editor. Be aware that using a value less than 1.0 is a (possibly +#: significant) performance hit. If you want to dynamically change +#: transparency of windows, set dynamic_background_opacity to yes +#: (this is off by default as it has a performance cost). Changing +#: this option when reloading the config will only work if +#: dynamic_background_opacity was enabled in the original config. + +# background_image none + +#: Path to a background image. Must be in PNG format. + +# background_image_layout tiled + +#: Whether to tile, scale or clamp the background image. The value can +#: be one of tiled, mirror-tiled, scaled, clamped or centered. + +# background_image_linear no + +#: When background image is scaled, whether linear interpolation +#: should be used. + +# dynamic_background_opacity no + +#: Allow changing of the background_opacity dynamically, using either +#: keyboard shortcuts (increase_background_opacity and +#: decrease_background_opacity) or the remote control facility. +#: Changing this option by reloading the config is not supported. + +# background_tint 0.0 + +#: How much to tint the background image by the background color. This +#: option makes it easier to read the text. Tinting is done using the +#: current background color for each window. This option applies only +#: if background_opacity is set and transparent windows are supported +#: or background_image is set. + +# background_tint_gaps 1.0 + +#: How much to tint the background image at the window gaps by the +#: background color, after applying background_tint. Since this is +#: multiplicative with background_tint, it can be used to lighten the +#: tint over the window gaps for a *separated* look. + +# dim_opacity 0.75 + +#: How much to dim text that has the DIM/FAINT attribute set. One +#: means no dimming and zero means fully dimmed (i.e. invisible). + +# selection_foreground #000000 +# selection_background #fffacd + +#: The foreground and background colors for text selected with the +#: mouse. Setting both of these to none will cause a "reverse video" +#: effect for selections, where the selection will be the cell text +#: color and the text will become the cell background color. Setting +#: only selection_foreground to none will cause the foreground color +#: to be used unchanged. Note that these colors can be overridden by +#: the program running in the terminal. + +#: The color table {{{ + +#: The 256 terminal colors. There are 8 basic colors, each color has a +#: dull and bright version, for the first 16 colors. You can set the +#: remaining 240 colors as color16 to color255. + +# color0 #000000 +# color8 #767676 + +#: black + +# color1 #cc0403 +# color9 #f2201f + +#: red + +# color2 #19cb00 +# color10 #23fd00 + +#: green + +# color3 #cecb00 +# color11 #fffd00 + +#: yellow + +# color4 #0d73cc +# color12 #1a8fff + +#: blue + +# color5 #cb1ed1 +# color13 #fd28ff + +#: magenta + +# color6 #0dcdcd +# color14 #14ffff + +#: cyan + +# color7 #dddddd +# color15 #ffffff + +#: white + +# mark1_foreground black + +#: Color for marks of type 1 + +# mark1_background #98d3cb + +#: Color for marks of type 1 (light steel blue) + +# mark2_foreground black + +#: Color for marks of type 2 + +# mark2_background #f2dcd3 + +#: Color for marks of type 1 (beige) + +# mark3_foreground black + +#: Color for marks of type 3 + +# mark3_background #f274bc + +#: Color for marks of type 3 (violet) + +#: }}} + +#: }}} + +#: Advanced {{{ + +# shell . + +#: The shell program to execute. The default value of . means to use +#: whatever shell is set as the default shell for the current user. +#: Note that on macOS if you change this, you might need to add +#: --login and --interactive to ensure that the shell starts in +#: interactive mode and reads its startup rc files. + +# editor . + +#: The terminal based text editor (such as vim or nano) to use when +#: editing the kitty config file or similar tasks. + +#: The default value of . means to use the environment variables +#: VISUAL and EDITOR in that order. If these variables aren't set, +#: kitty will run your shell ($SHELL -l -i -c env) to see if your +#: shell startup rc files set VISUAL or EDITOR. If that doesn't work, +#: kitty will cycle through various known editors (vim, emacs, etc.) +#: and take the first one that exists on your system. + +# close_on_child_death no + +#: Close the window when the child process (shell) exits. With the +#: default value no, the terminal will remain open when the child +#: exits as long as there are still processes outputting to the +#: terminal (for example disowned or backgrounded processes). When +#: enabled with yes, the window will close as soon as the child +#: process exits. Note that setting it to yes means that any +#: background processes still using the terminal can fail silently +#: because their stdout/stderr/stdin no longer work. + +# remote_control_password + +#: Allow other programs to control kitty using passwords. This option +#: can be specified multiple times to add multiple passwords. If no +#: passwords are present kitty will ask the user for permission if a +#: program tries to use remote control with a password. A password can +#: also *optionally* be associated with a set of allowed remote +#: control actions. For example:: + +#: remote_control_password "my passphrase" get-colors set-colors focus-window focus-tab + +#: Only the specified actions will be allowed when using this +#: password. Glob patterns can be used too, for example:: + +#: remote_control_password "my passphrase" set-tab-* resize-* + +#: To get a list of available actions, run:: + +#: kitty @ --help + +#: A set of actions to be allowed when no password is sent can be +#: specified by using an empty password, for example:: + +#: remote_control_password "" *-colors + +#: Finally, the path to a python module can be specified that provides +#: a function is_cmd_allowed that is used to check every remote +#: control command. See rc_custom_auth +#: +#: for details. For example:: + +#: remote_control_password "my passphrase" my_rc_command_checker.py + +#: Relative paths are resolved from the kitty configuration directory. + +# allow_remote_control no + +#: Allow other programs to control kitty. If you turn this on, other +#: programs can control all aspects of kitty, including sending text +#: to kitty windows, opening new windows, closing windows, reading the +#: content of windows, etc. Note that this even works over SSH +#: connections. The default setting of no prevents any form of remote +#: control. The meaning of the various values are: + +#: password +#: Remote control requests received over both the TTY device and the socket are +#: confirmed based on passwords, see remote_control_password. + +#: socket-only +#: Remote control requests received over a socket are accepted unconditionally. +#: Requests received over the TTY are denied. See listen_on. + +#: socket +#: Remote control requests received over a socket are accepted unconditionally. +#: Requests received over the TTY are confirmed based on password. + +#: no +#: Remote control is completely disabled. + +#: yes +#: Remote control requests are always accepted. + +# listen_on none + +#: Listen to the specified UNIX socket for remote control connections. +#: Note that this will apply to all kitty instances. It can be +#: overridden by the kitty --listen-on command line option, which also +#: supports listening on a TCP socket. This option accepts only UNIX +#: sockets, such as unix:${TEMP}/mykitty or unix:@mykitty (on Linux). +#: Environment variables are expanded and relative paths are resolved +#: with respect to the temporary directory. If {kitty_pid} is present, +#: then it is replaced by the PID of the kitty process, otherwise the +#: PID of the kitty process is appended to the value, with a hyphen. +#: See the help for kitty --listen-on for more details. Note that this +#: will be ignored unless allow_remote_control is set to either: yes, +#: socket or socket-only. Changing this option by reloading the config +#: is not supported. + +# env + +#: Specify the environment variables to be set in all child processes. +#: Using the name with an equal sign (e.g. env VAR=) will set it to +#: the empty string. Specifying only the name (e.g. env VAR) will +#: remove the variable from the child process' environment. Note that +#: environment variables are expanded recursively, for example:: + +#: env VAR1=a +#: env VAR2=${HOME}/${VAR1}/b + +#: The value of VAR2 will be /a/b. + +# watcher + +#: Path to python file which will be loaded for watchers +#: . Can be +#: specified more than once to load multiple watchers. The watchers +#: will be added to every kitty window. Relative paths are resolved +#: relative to the kitty config directory. Note that reloading the +#: config will only affect windows created after the reload. + +# exe_search_path + +#: Control where kitty finds the programs to run. The default search +#: order is: First search the system wide PATH, then ~/.local/bin and +#: ~/bin. If still not found, the PATH defined in the login shell +#: after sourcing all its startup files is tried. Finally, if present, +#: the PATH specified by the env option is tried. + +#: This option allows you to prepend, append, or remove paths from +#: this search order. It can be specified multiple times for multiple +#: paths. A simple path will be prepended to the search order. A path +#: that starts with the + sign will be append to the search order, +#: after ~/bin above. A path that starts with the - sign will be +#: removed from the entire search order. For example:: + +#: exe_search_path /some/prepended/path +#: exe_search_path +/some/appended/path +#: exe_search_path -/some/excluded/path + +# update_check_interval 24 + +#: The interval to periodically check if an update to kitty is +#: available (in hours). If an update is found, a system notification +#: is displayed informing you of the available update. The default is +#: to check every 24 hours, set to zero to disable. Update checking is +#: only done by the official binary builds. Distro packages or source +#: builds do not do update checking. Changing this option by reloading +#: the config is not supported. + +# startup_session none + +#: Path to a session file to use for all kitty instances. Can be +#: overridden by using the kitty --session command line option for +#: individual instances. See sessions +#: in the kitty +#: documentation for details. Note that relative paths are interpreted +#: with respect to the kitty config directory. Environment variables +#: in the path are expanded. Changing this option by reloading the +#: config is not supported. + +# clipboard_control write-clipboard write-primary read-clipboard-ask read-primary-ask + +#: Allow programs running in kitty to read and write from the +#: clipboard. You can control exactly which actions are allowed. The +#: possible actions are: write-clipboard, read-clipboard, write- +#: primary, read-primary, read-clipboard-ask, read-primary-ask. The +#: default is to allow writing to the clipboard and primary selection +#: and to ask for permission when a program tries to read from the +#: clipboard. Note that disabling the read confirmation is a security +#: risk as it means that any program, even the ones running on a +#: remote server via SSH can read your clipboard. See also +#: clipboard_max_size. + +# clipboard_max_size 512 + +#: The maximum size (in MB) of data from programs running in kitty +#: that will be stored for writing to the system clipboard. A value of +#: zero means no size limit is applied. See also clipboard_control. + +# file_transfer_confirmation_bypass + +#: The password that can be supplied to the file transfer kitten +#: to skip the +#: transfer confirmation prompt. This should only be used when +#: initiating transfers from trusted computers, over trusted networks +#: or encrypted transports, as it allows any programs running on the +#: remote machine to read/write to the local filesystem, without +#: permission. + +# allow_hyperlinks yes + +#: Process hyperlink escape sequences (OSC 8). If disabled OSC 8 +#: escape sequences are ignored. Otherwise they become clickable +#: links, that you can click with the mouse or by using the hints +#: kitten . The +#: special value of ask means that kitty will ask before opening the +#: link when clicked. + +# shell_integration enabled + +#: Enable shell integration on supported shells. This enables features +#: such as jumping to previous prompts, browsing the output of the +#: previous command in a pager, etc. on supported shells. Set to +#: disabled to turn off shell integration, completely. It is also +#: possible to disable individual features, set to a space separated +#: list of these values: no-rc, no-cursor, no-title, no-cwd, no- +#: prompt-mark, no-complete. See Shell integration +#: for details. + +# allow_cloning ask + +#: Control whether programs running in the terminal can request new +#: windows to be created. The canonical example is clone-in-kitty +#: . +#: By default, kitty will ask for permission for each clone request. +#: Allowing cloning unconditionally gives programs running in the +#: terminal (including over SSH) permission to execute arbitrary code, +#: as the user who is running the terminal, on the computer that the +#: terminal is running on. + +# clone_source_strategies venv,conda,env_var,path + +#: Control what shell code is sourced when running clone-in-kitty in +#: the newly cloned window. The supported strategies are: + +#: venv +#: Source the file $VIRTUAL_ENV/bin/activate. This is used by the +#: Python stdlib venv module and allows cloning venvs automatically. +#: conda +#: Run conda activate $CONDA_DEFAULT_ENV. This supports the virtual +#: environments created by conda. +#: env_var +#: Execute the contents of the environment variable +#: KITTY_CLONE_SOURCE_CODE with eval. +#: path +#: Source the file pointed to by the environment variable +#: KITTY_CLONE_SOURCE_PATH. + +#: This option must be a comma separated list of the above values. +#: This only source the first valid one in the above order. + +# term xterm-kitty + +#: The value of the TERM environment variable to set. Changing this +#: can break many terminal programs, only change it if you know what +#: you are doing, not because you read some advice on "Stack Overflow" +#: to change it. The TERM variable is used by various programs to get +#: information about the capabilities and behavior of the terminal. If +#: you change it, depending on what programs you run, and how +#: different the terminal you are changing it to is, various things +#: from key-presses, to colors, to various advanced features may not +#: work. Changing this option by reloading the config will only affect +#: newly created windows. + +#: }}} + +#: OS specific tweaks {{{ + +# wayland_titlebar_color system + +#: The color of the kitty window's titlebar on Wayland systems with +#: client side window decorations such as GNOME. A value of system +#: means to use the default system color, a value of background means +#: to use the background color of the currently active window and +#: finally you can use an arbitrary color, such as #12af59 or red. + +# macos_titlebar_color system + +#: The color of the kitty window's titlebar on macOS. A value of +#: system means to use the default system color, light or dark can +#: also be used to set it explicitly. A value of background means to +#: use the background color of the currently active window and finally +#: you can use an arbitrary color, such as #12af59 or red. WARNING: +#: This option works by using a hack when arbitrary color (or +#: background) is configured, as there is no proper Cocoa API for it. +#: It sets the background color of the entire window and makes the +#: titlebar transparent. As such it is incompatible with +#: background_opacity. If you want to use both, you are probably +#: better off just hiding the titlebar with hide_window_decorations. + +# macos_option_as_alt no + +#: Use the Option key as an Alt key on macOS. With this set to no, +#: kitty will use the macOS native Option+Key to enter Unicode +#: character behavior. This will break any Alt+Key keyboard shortcuts +#: in your terminal programs, but you can use the macOS Unicode input +#: technique. You can use the values: left, right or both to use only +#: the left, right or both Option keys as Alt, instead. Note that +#: kitty itself always treats Option the same as Alt. This means you +#: cannot use this option to configure different kitty shortcuts for +#: Option+Key vs. Alt+Key. Also, any kitty shortcuts using +#: Option/Alt+Key will take priority, so that any such key presses +#: will not be passed to terminal programs running inside kitty. +#: Changing this option by reloading the config is not supported. + +# macos_hide_from_tasks no + +#: Hide the kitty window from running tasks on macOS (⌘+Tab and the +#: Dock). Changing this option by reloading the config is not +#: supported. + +# macos_quit_when_last_window_closed no + +#: Have kitty quit when all the top-level windows are closed on macOS. +#: By default, kitty will stay running, even with no open windows, as +#: is the expected behavior on macOS. + +# macos_window_resizable yes + +#: Disable this if you want kitty top-level OS windows to not be +#: resizable on macOS. Changing this option by reloading the config +#: will only affect newly created OS windows. + +# macos_thicken_font 0 + +#: Draw an extra border around the font with the given width, to +#: increase legibility at small font sizes on macOS. For example, a +#: value of 0.75 will result in rendering that looks similar to sub- +#: pixel antialiasing at common font sizes. + +# macos_traditional_fullscreen no + +#: Use the macOS traditional full-screen transition, that is faster, +#: but less pretty. + +# macos_show_window_title_in all + +#: Control where the window title is displayed on macOS. A value of +#: window will show the title of the currently active window at the +#: top of the macOS window. A value of menubar will show the title of +#: the currently active window in the macOS global menu bar, making +#: use of otherwise wasted space. A value of all will show the title +#: in both places, and none hides the title. See +#: macos_menubar_title_max_length for how to control the length of the +#: title in the menu bar. + +# macos_menubar_title_max_length 0 + +#: The maximum number of characters from the window title to show in +#: the macOS global menu bar. Values less than one means that there is +#: no maximum limit. + +# macos_custom_beam_cursor no + +#: Use a custom mouse cursor for macOS that is easier to see on both +#: light and dark backgrounds. Nowadays, the default macOS cursor +#: already comes with a white border. WARNING: this might make your +#: mouse cursor invisible on dual GPU machines. Changing this option +#: by reloading the config is not supported. + +# macos_colorspace srgb + +#: The colorspace in which to interpret terminal colors. The default +#: of srgb will cause colors to match those seen in web browsers. The +#: value of default will use whatever the native colorspace of the +#: display is. The value of displayp3 will use Apple's special +#: snowflake display P3 color space, which will result in over +#: saturated (brighter) colors with some color shift. Reloading +#: configuration will change this value only for newly created OS +#: windows. + +# linux_display_server auto + +#: Choose between Wayland and X11 backends. By default, an appropriate +#: backend based on the system state is chosen automatically. Set it +#: to x11 or wayland to force the choice. Changing this option by +#: reloading the config is not supported. + +#: }}} + +#: Keyboard shortcuts {{{ + +#: Keys are identified simply by their lowercase Unicode characters. +#: For example: a for the A key, [ for the left square bracket key, +#: etc. For functional keys, such as Enter or Escape, the names are +#: present at Functional key definitions +#: . +#: For modifier keys, the names are ctrl (control, ⌃), shift (⇧), alt +#: (opt, option, ⌥), super (cmd, command, ⌘). See also: GLFW mods +#: + +#: On Linux you can also use XKB key names to bind keys that are not +#: supported by GLFW. See XKB keys +#: for a list of key names. The name to use is the part +#: after the XKB_KEY_ prefix. Note that you can only use an XKB key +#: name for keys that are not known as GLFW keys. + +#: Finally, you can use raw system key codes to map keys, again only +#: for keys that are not known as GLFW keys. To see the system key +#: code for a key, start kitty with the kitty --debug-input option, +#: kitty will output some debug text for every key event. In that text +#: look for native_code, the value of that becomes the key name in the +#: shortcut. For example: + +#: .. code-block:: none + +#: on_key_input: glfw key: 0x61 native_code: 0x61 action: PRESS mods: none text: 'a' + +#: Here, the key name for the A key is 0x61 and you can use it with:: + +#: map ctrl+0x61 something + +#: to map Ctrl+A to something. + +#: You can use the special action no_op to unmap a keyboard shortcut +#: that is assigned in the default configuration:: + +#: map kitty_mod+space no_op + +#: If you would like kitty to completely ignore a key event, not even +#: sending it to the program running in the terminal, map it to +#: discard_event:: + +#: map kitty_mod+f1 discard_event + +#: You can combine multiple actions to be triggered by a single +#: shortcut with combine action, using the syntax below:: + +#: map key combine action1 action2 action3 ... + +#: For example:: + +#: map kitty_mod+e combine : new_window : next_layout + +#: This will create a new window and switch to the next available +#: layout. + +#: You can use multi-key shortcuts with the syntax shown below:: + +#: map key1>key2>key3 action + +#: For example:: + +#: map ctrl+f>2 set_font_size 20 + +#: The full list of actions that can be mapped to key presses is +#: available here . + +# kitty_mod ctrl+shift + +#: Special modifier key alias for default shortcuts. You can change +#: the value of this option to alter all default shortcuts that use +#: kitty_mod. + +# clear_all_shortcuts no + +#: Remove all shortcut definitions up to this point. Useful, for +#: instance, to remove the default shortcuts. + +# action_alias + +#: E.g. action_alias launch_tab launch --type=tab --cwd=current + +#: Define action aliases to avoid repeating the same options in +#: multiple mappings. Aliases can be defined for any action and will +#: be expanded recursively. For example, the above alias allows you to +#: create mappings to launch a new tab in the current working +#: directory without duplication:: + +#: map f1 launch_tab vim +#: map f2 launch_tab emacs + +#: Similarly, to alias kitten invocation:: + +#: action_alias hints kitten hints --hints-offset=0 + +# kitten_alias + +#: E.g. kitten_alias hints hints --hints-offset=0 + +#: Like action_alias above, but specifically for kittens. Generally, +#: prefer to use action_alias. This option is a legacy version, +#: present for backwards compatibility. It causes all invocations of +#: the aliased kitten to be substituted. So the example above will +#: cause all invocations of the hints kitten to have the --hints- +#: offset=0 option applied. + +#: Clipboard {{{ + +#: Copy to clipboard + +# map kitty_mod+c copy_to_clipboard +# map cmd+c copy_to_clipboard + +#:: There is also a copy_or_interrupt action that can be optionally +#:: mapped to Ctrl+C. It will copy only if there is a selection and +#:: send an interrupt otherwise. Similarly, +#:: copy_and_clear_or_interrupt will copy and clear the selection or +#:: send an interrupt if there is no selection. + +#: Paste from clipboard + +# map kitty_mod+v paste_from_clipboard +# map cmd+v paste_from_clipboard + +#: Paste from selection + +# map kitty_mod+s paste_from_selection +# map shift+insert paste_from_selection + +#: Pass selection to program + +# map kitty_mod+o pass_selection_to_program + +#:: You can also pass the contents of the current selection to any +#:: program with pass_selection_to_program. By default, the system's +#:: open program is used, but you can specify your own, the selection +#:: will be passed as a command line argument to the program. For +#:: example:: + +#:: map kitty_mod+o pass_selection_to_program firefox + +#:: You can pass the current selection to a terminal program running +#:: in a new kitty window, by using the @selection placeholder:: + +#:: map kitty_mod+y new_window less @selection + +#: }}} + +#: Scrolling {{{ + +#: Scroll line up + +# map kitty_mod+up scroll_line_up +# map kitty_mod+k scroll_line_up +# map opt+cmd+page_up scroll_line_up +# map cmd+up scroll_line_up + +#: Scroll line down + +# map kitty_mod+down scroll_line_down +# map kitty_mod+j scroll_line_down +# map opt+cmd+page_down scroll_line_down +# map cmd+down scroll_line_down + +#: Scroll page up + +# map kitty_mod+page_up scroll_page_up +# map cmd+page_up scroll_page_up + +#: Scroll page down + +# map kitty_mod+page_down scroll_page_down +# map cmd+page_down scroll_page_down + +#: Scroll to top + +# map kitty_mod+home scroll_home +# map cmd+home scroll_home + +#: Scroll to bottom + +# map kitty_mod+end scroll_end +# map cmd+end scroll_end + +#: Scroll to previous shell prompt + +# map kitty_mod+z scroll_to_prompt -1 + +#:: Use a parameter of 0 for scroll_to_prompt to scroll to the last +#:: jumped to or the last clicked position. Requires shell +#:: integration +#:: to work. + +#: Scroll to next shell prompt + +# map kitty_mod+x scroll_to_prompt 1 + +#: Browse scrollback buffer in pager + +# map kitty_mod+h show_scrollback + +#:: You can pipe the contents of the current screen and history +#:: buffer as STDIN to an arbitrary program using launch --stdin- +#:: source. For example, the following opens the scrollback buffer in +#:: less in an overlay window:: + +#:: map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R + +#:: For more details on piping screen and buffer contents to external +#:: programs, see launch . + +#: Browse output of the last shell command in pager + +# map kitty_mod+g show_last_command_output + +#:: You can also define additional shortcuts to get the command +#:: output. For example, to get the first command output on screen:: + +#:: map f1 show_first_command_output_on_screen + +#:: To get the command output that was last accessed by a keyboard +#:: action or mouse action:: + +#:: map f1 show_last_visited_command_output + +#:: You can pipe the output of the last command run in the shell +#:: using the launch action. For example, the following opens the +#:: output in less in an overlay window:: + +#:: map f1 launch --stdin-source=@last_cmd_output --stdin-add-formatting --type=overlay less +G -R + +#:: To get the output of the first command on the screen, use +#:: @first_cmd_output_on_screen. To get the output of the last jumped +#:: to command, use @last_visited_cmd_output. + +#:: Requires shell integration +#:: to work. + +#: }}} + +#: Window management {{{ + +#: New window + +# map kitty_mod+enter new_window +# map cmd+enter new_window + +#:: You can open a new kitty window running an arbitrary program, for +#:: example:: + +#:: map kitty_mod+y launch mutt + +#:: You can open a new window with the current working directory set +#:: to the working directory of the current window using:: + +#:: map ctrl+alt+enter launch --cwd=current + +#:: You can open a new window that is allowed to control kitty via +#:: the kitty remote control facility with launch --allow-remote- +#:: control. Any programs running in that window will be allowed to +#:: control kitty. For example:: + +#:: map ctrl+enter launch --allow-remote-control some_program + +#:: You can open a new window next to the currently active window or +#:: as the first window, with:: + +#:: map ctrl+n launch --location=neighbor +#:: map ctrl+f launch --location=first + +#:: For more details, see launch +#:: . + +#: New OS window + +# map kitty_mod+n new_os_window +# map cmd+n new_os_window + +#:: Works like new_window above, except that it opens a top-level OS +#:: window. In particular you can use new_os_window_with_cwd to open +#:: a window with the current working directory. + +#: Close window + +# map kitty_mod+w close_window +# map shift+cmd+d close_window + +#: Next window + +# map kitty_mod+] next_window + +#: Previous window + +# map kitty_mod+[ previous_window + +#: Move window forward + +# map kitty_mod+f move_window_forward + +#: Move window backward + +# map kitty_mod+b move_window_backward + +#: Move window to top + +# map kitty_mod+` move_window_to_top + +#: Start resizing window + +# map kitty_mod+r start_resizing_window +# map cmd+r start_resizing_window + +#: First window + +# map kitty_mod+1 first_window +# map cmd+1 first_window + +#: Second window + +# map kitty_mod+2 second_window +# map cmd+2 second_window + +#: Third window + +# map kitty_mod+3 third_window +# map cmd+3 third_window + +#: Fourth window + +# map kitty_mod+4 fourth_window +# map cmd+4 fourth_window + +#: Fifth window + +# map kitty_mod+5 fifth_window +# map cmd+5 fifth_window + +#: Sixth window + +# map kitty_mod+6 sixth_window +# map cmd+6 sixth_window + +#: Seventh window + +# map kitty_mod+7 seventh_window +# map cmd+7 seventh_window + +#: Eight window + +# map kitty_mod+8 eighth_window +# map cmd+8 eighth_window + +#: Ninth window + +# map kitty_mod+9 ninth_window +# map cmd+9 ninth_window + +#: Tenth window + +# map kitty_mod+0 tenth_window + +#: Visually select and focus window + +# map kitty_mod+f7 focus_visible_window + +#:: Display overlay numbers and alphabets on the window, and switch +#:: the focus to the window when you press the key. When there are +#:: only two windows, the focus will be switched directly without +#:: displaying the overlay. You can change the overlay characters and +#:: their order with option visual_window_select_characters. + +#: Visually swap window with another + +# map kitty_mod+f8 swap_with_window + +#:: Works like focus_visible_window above, but swaps the window. + +#: }}} + +#: Tab management {{{ + +#: Next tab + +# map kitty_mod+right next_tab +# map shift+cmd+] next_tab +# map ctrl+tab next_tab + +#: Previous tab + +# map kitty_mod+left previous_tab +# map shift+cmd+[ previous_tab +# map ctrl+shift+tab previous_tab + +#: New tab + +# map kitty_mod+t new_tab +# map cmd+t new_tab + +#: Close tab + +# map kitty_mod+q close_tab +# map cmd+w close_tab + +#: Close OS window + +# map shift+cmd+w close_os_window + +#: Move tab forward + +# map kitty_mod+. move_tab_forward + +#: Move tab backward + +# map kitty_mod+, move_tab_backward + +#: Set tab title + +# map kitty_mod+alt+t set_tab_title +# map shift+cmd+i set_tab_title + + +#: You can also create shortcuts to go to specific tabs, with 1 being +#: the first tab, 2 the second tab and -1 being the previously active +#: tab, and any number larger than the last tab being the last tab:: + +#: map ctrl+alt+1 goto_tab 1 +#: map ctrl+alt+2 goto_tab 2 + +#: Just as with new_window above, you can also pass the name of +#: arbitrary commands to run when using new_tab and new_tab_with_cwd. +#: Finally, if you want the new tab to open next to the current tab +#: rather than at the end of the tabs list, use:: + +#: map ctrl+t new_tab !neighbor [optional cmd to run] +#: }}} + +#: Layout management {{{ + +#: Next layout + +# map kitty_mod+l next_layout + + +#: You can also create shortcuts to switch to specific layouts:: + +#: map ctrl+alt+t goto_layout tall +#: map ctrl+alt+s goto_layout stack + +#: Similarly, to switch back to the previous layout:: + +#: map ctrl+alt+p last_used_layout + +#: There is also a toggle_layout action that switches to the named +#: layout or back to the previous layout if in the named layout. +#: Useful to temporarily "zoom" the active window by switching to the +#: stack layout:: + +#: map ctrl+alt+z toggle_layout stack +#: }}} + +#: Font sizes {{{ + +#: You can change the font size for all top-level kitty OS windows at +#: a time or only the current one. + +#: Increase font size + +# map kitty_mod+equal change_font_size all +2.0 +# map kitty_mod+plus change_font_size all +2.0 +# map kitty_mod+kp_add change_font_size all +2.0 +# map cmd+plus change_font_size all +2.0 +# map cmd+equal change_font_size all +2.0 +# map shift+cmd+equal change_font_size all +2.0 + +#: Decrease font size + +# map kitty_mod+minus change_font_size all -2.0 +# map kitty_mod+kp_subtract change_font_size all -2.0 +# map cmd+minus change_font_size all -2.0 +# map shift+cmd+minus change_font_size all -2.0 + +#: Reset font size + +# map kitty_mod+backspace change_font_size all 0 +# map cmd+0 change_font_size all 0 + + +#: To setup shortcuts for specific font sizes:: + +#: map kitty_mod+f6 change_font_size all 10.0 + +#: To setup shortcuts to change only the current OS window's font +#: size:: + +#: map kitty_mod+f6 change_font_size current 10.0 +#: }}} + +#: Select and act on visible text {{{ + +#: Use the hints kitten to select text and either pass it to an +#: external program or insert it into the terminal or copy it to the +#: clipboard. + +#: Open URL + +# map kitty_mod+e open_url_with_hints + +#:: Open a currently visible URL using the keyboard. The program used +#:: to open the URL is specified in open_url_with. + +#: Insert selected path + +# map kitty_mod+p>f kitten hints --type path --program - + +#:: Select a path/filename and insert it into the terminal. Useful, +#:: for instance to run git commands on a filename output from a +#:: previous git command. + +#: Open selected path + +# map kitty_mod+p>shift+f kitten hints --type path + +#:: Select a path/filename and open it with the default open program. + +#: Insert selected line + +# map kitty_mod+p>l kitten hints --type line --program - + +#:: Select a line of text and insert it into the terminal. Useful for +#:: the output of things like: `ls -1`. + +#: Insert selected word + +# map kitty_mod+p>w kitten hints --type word --program - + +#:: Select words and insert into terminal. + +#: Insert selected hash + +# map kitty_mod+p>h kitten hints --type hash --program - + +#:: Select something that looks like a hash and insert it into the +#:: terminal. Useful with git, which uses SHA1 hashes to identify +#:: commits. + +#: Open the selected file at the selected line + +# map kitty_mod+p>n kitten hints --type linenum + +#:: Select something that looks like filename:linenum and open it in +#:: vim at the specified line number. + +#: Open the selected hyperlink + +# map kitty_mod+p>y kitten hints --type hyperlink + +#:: Select a hyperlink (i.e. a URL that has been marked as such by +#:: the terminal program, for example, by `ls --hyperlink=auto`). + + +#: The hints kitten has many more modes of operation that you can map +#: to different shortcuts. For a full description see hints kitten +#: . +#: }}} + +#: Miscellaneous {{{ + +#: Show documentation + +# map kitty_mod+f1 show_kitty_doc overview + +#: Toggle fullscreen + +# map kitty_mod+f11 toggle_fullscreen +# map ctrl+cmd+f toggle_fullscreen + +#: Toggle maximized + +# map kitty_mod+f10 toggle_maximized + +#: Toggle macOS secure keyboard entry + +# map opt+cmd+s toggle_macos_secure_keyboard_entry + +#: Unicode input + +# map kitty_mod+u kitten unicode_input +# map ctrl+cmd+space kitten unicode_input + +#: Edit config file + +# map kitty_mod+f2 edit_config_file +# map cmd+, edit_config_file + +#: Open the kitty command shell + +# map kitty_mod+escape kitty_shell window + +#:: Open the kitty shell in a new window / tab / overlay / os_window +#:: to control kitty using commands. + +#: Increase background opacity + +# map kitty_mod+a>m set_background_opacity +0.1 + +#: Decrease background opacity + +# map kitty_mod+a>l set_background_opacity -0.1 + +#: Make background fully opaque + +# map kitty_mod+a>1 set_background_opacity 1 + +#: Reset background opacity + +# map kitty_mod+a>d set_background_opacity default + +#: Reset the terminal + +# map kitty_mod+delete clear_terminal reset active +# map opt+cmd+r clear_terminal reset active + +#:: You can create shortcuts to clear/reset the terminal. For +#:: example:: + +#:: # Reset the terminal +#:: map f1 clear_terminal reset active +#:: # Clear the terminal screen by erasing all contents +#:: map f1 clear_terminal clear active +#:: # Clear the terminal scrollback by erasing it +#:: map f1 clear_terminal scrollback active +#:: # Scroll the contents of the screen into the scrollback +#:: map f1 clear_terminal scroll active +#:: # Clear everything up to the line with the cursor +#:: map f1 clear_terminal to_cursor active + +#:: If you want to operate on all kitty windows instead of just the +#:: current one, use all instead of active. + +#:: It is also possible to remap Ctrl+L to both scroll the current +#:: screen contents into the scrollback buffer and clear the screen, +#:: instead of just clearing the screen, for example, for ZSH add the +#:: following to ~/.zshrc: + +#:: .. code-block:: zsh + +#:: scroll-and-clear-screen() { +#:: printf '\n%.0s' {1..$LINES} +#:: zle clear-screen +#:: } +#:: zle -N scroll-and-clear-screen +#:: bindkey '^l' scroll-and-clear-screen + +#: Clear up to cursor line + +# map cmd+k clear_terminal to_cursor active + +#: Reload kitty.conf + +# map kitty_mod+f5 load_config_file +# map ctrl+cmd+, load_config_file + +#:: Reload kitty.conf, applying any changes since the last time it +#:: was loaded. Note that a handful of options cannot be dynamically +#:: changed and require a full restart of kitty. Particularly, when +#:: changing shortcuts for actions located on the macOS global menu +#:: bar, a full restart is needed. You can also map a keybinding to +#:: load a different config file, for example:: + +#:: map f5 load_config /path/to/alternative/kitty.conf + +#:: Note that all options from the original kitty.conf are discarded, +#:: in other words the new configuration *replace* the old ones. + +#: Debug kitty configuration + +# map kitty_mod+f6 debug_config +# map opt+cmd+, debug_config + +#:: Show details about exactly what configuration kitty is running +#:: with and its host environment. Useful for debugging issues. + +#: Send arbitrary text on key presses + +#:: E.g. map ctrl+shift+alt+h send_text all Hello World + +#:: You can tell kitty to send arbitrary (UTF-8) encoded text to the +#:: client program when pressing specified shortcut keys. For +#:: example:: + +#:: map ctrl+alt+a send_text all Special text + +#:: This will send "Special text" when you press the Ctrl+Alt+A key +#:: combination. The text to be sent decodes ANSI C escapes +#:: so you can use escapes like \e to send control +#:: codes or \u21fb to send Unicode characters (or you can just input +#:: the Unicode characters directly as UTF-8 text). You can use +#:: `kitty +kitten show_key` to get the key escape codes you want to +#:: emulate. + +#:: The first argument to send_text is the keyboard modes in which to +#:: activate the shortcut. The possible values are normal, +#:: application, kitty or a comma separated combination of them. The +#:: modes normal and application refer to the DECCKM cursor key mode +#:: for terminals, and kitty refers to the kitty extended keyboard +#:: protocol. The special value all means all of them. + +#:: Some more examples:: + +#:: # Output a word and move the cursor to the start of the line (like typing and pressing Home) +#:: map ctrl+alt+a send_text normal Word\e[H +#:: map ctrl+alt+a send_text application Word\eOH +#:: # Run a command at a shell prompt (like typing the command and pressing Enter) +#:: map ctrl+alt+a send_text normal,application some command with arguments\r + +#: Open kitty Website + +# map shift+cmd+/ open_url https://sw.kovidgoyal.net/kitty/ + +#: Hide macOS kitty application + +# map cmd+h hide_macos_app + +#: Hide macOS other applications + +# map opt+cmd+h hide_macos_other_apps + +#: Minimize macOS window + +# map cmd+m minimize_macos_window + +#: Quit kitty + +# map cmd+q quit + +#: }}} + +#: }}} + + +# BEGIN_KITTY_THEME +# Pro +include current-theme.conf +# END_KITTY_THEME \ No newline at end of file diff --git a/private_dot_config/kitty/private_current-theme.conf b/private_dot_config/kitty/private_current-theme.conf new file mode 100644 index 0000000..7051698 --- /dev/null +++ b/private_dot_config/kitty/private_current-theme.conf @@ -0,0 +1,21 @@ +background #2b2c2e +foreground #d2d8d9 +cursor #708183 +selection_background #e3e8ed +color0 #7c8a8f +color8 #888888 +color1 #b23a51 +color9 #f24840 +color2 #789a69 +color10 #80c46f +color3 #b9ab4a +color11 #ffeb62 +color4 #2a7fac +color12 #4095ff +color5 #bc4f5a +color13 #fb5175 +color6 #44a799 +color14 #52ccbd +color7 #d2d8d9 +color15 #d2d8d9 +selection_foreground #2b2c2e diff --git a/private_dot_config/kitty/ssh.conf b/private_dot_config/kitty/ssh.conf new file mode 100644 index 0000000..925823e --- /dev/null +++ b/private_dot_config/kitty/ssh.conf @@ -0,0 +1,6 @@ +# Copy the files and directories needed to setup some common tools +#copy .zshrc .vimrc +# Setup some environment variables +#env SOME_VAR=x +# COPIED_VAR will have the same value on the remote host as it does locally +#env COPIED_VAR=_kitty_copy_env_var_ diff --git a/private_dot_config/kitty/symlink_theme.conf b/private_dot_config/kitty/symlink_theme.conf new file mode 100644 index 0000000..28d4801 --- /dev/null +++ b/private_dot_config/kitty/symlink_theme.conf @@ -0,0 +1 @@ +/Users/anton/.config/kitty/kitty-themes/themes/Galaxy.conf diff --git a/private_dot_config/kitty/symlink_theme.conf~ b/private_dot_config/kitty/symlink_theme.conf~ new file mode 100644 index 0000000..7990633 --- /dev/null +++ b/private_dot_config/kitty/symlink_theme.conf~ @@ -0,0 +1 @@ +./kitty-themes/themes/Spacedust.conf diff --git a/private_dot_config/kitty/tab_bar.py b/private_dot_config/kitty/tab_bar.py new file mode 100644 index 0000000..6bdcd10 --- /dev/null +++ b/private_dot_config/kitty/tab_bar.py @@ -0,0 +1,44 @@ +from kitty.fast_data_types import Screen +from kitty.tab_bar import DrawData, ExtraData, TabBarData, draw_title + +def draw_tab( + draw_data: DrawData, screen: Screen, tab: TabBarData, + before: int, max_title_length: int, index: int, is_last: bool, + extra_data: ExtraData +) -> int: + orig_fg = screen.cursor.fg + orig_bg = screen.cursor.bg + left_sep, right_sep = ('', '') + + def draw_sep(which: str) -> None: + screen.cursor.bg = draw_data.default_bg + screen.cursor.fg = orig_bg + screen.draw(which) + screen.cursor.bg = orig_bg + screen.cursor.fg = orig_fg + + if max_title_length <= 1: + screen.draw('…') + elif max_title_length == 2: + screen.draw('…|') + elif max_title_length < 6: + draw_sep(left_sep) + screen.draw((' ' if max_title_length == 5 else '') + '…' + (' ' if max_title_length >= 4 else '')) + draw_sep(right_sep) + else: + draw_sep(left_sep) + screen.draw(' ') + draw_title(draw_data, screen, tab, index) + extra = screen.cursor.x - before - max_title_length + print("extra:%d" %(extra)) + if extra >= 0: + screen.cursor.x -= extra + 3 + screen.draw('…') + elif extra == -1: + screen.cursor.x -= 2 + screen.draw('…') + screen.draw(' ') + draw_sep(right_sep) + draw_sep(' ') + + return screen.cursor.x diff --git a/private_dot_config/nvim/init.lua b/private_dot_config/nvim/init.lua new file mode 100644 index 0000000..c290509 --- /dev/null +++ b/private_dot_config/nvim/init.lua @@ -0,0 +1,71 @@ +-- disable netrw at the very start of your init.lua (strongly advised) +vim.g.loaded_netrw = 1 +vim.g.loaded_netrwPlugin = 1 +vim.wo.number = true +vim.wo.signcolumn = "yes" + + +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then +vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable release + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) +require("lazy").setup({ + { "ellisonleao/gruvbox.nvim", priority = 1000 }, + { "nvim-treesitter/nvim-treesitter", run= ":TSUpdate" }, + { "nvim-telescope/telescope.nvim", tag = '0.1.1', dependencies = { 'nvim-lua/plenary.nvim' }}, + { "nvim-tree/nvim-tree.lua"}, + { "jeffkreeftmeijer/vim-numbertoggle"}, + {"mbbill/undotree"}, + { + "folke/which-key.nvim", + config = function() + vim.o.timeout = true + vim.o.timeoutlen = 300 + require("which-key").setup({ + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + }) + end, + }, +}) + + + +vim.o.background = "dark" -- or "light" for light mode +vim.cmd([[colorscheme gruvbox]]) +vim.cmd([[set undofile]]) + + +local builtin = require('telescope.builtin') +vim.keymap.set('n', 'ff', builtin.find_files, {}) +vim.keymap.set('n', 'fg', builtin.live_grep, {}) +vim.keymap.set('n', 'fb', builtin.buffers, {}) +vim.keymap.set('n', 'fh', builtin.help_tags, {}) + +--- set termguicolors to enable highlight groups +vim.opt.termguicolors = true +require("nvim-tree").setup({ + sort_by = "case_sensitive", + view = { + width = 50, + }, + renderer = { + group_empty = true, + }, + filters = { + dotfiles = false, + }, +}) +vim.api.nvim_set_keymap('n', 'e', ':NvimTreeToggle', {noremap = true, silent = true}) +vim.api.nvim_set_keymap('n', 'q', ':q', {noremap = true, silent = true}) +vim.api.nvim_set_keymap('n', 'w', ':w', {noremap = true, silent = true}) +vim.keymap.set('n', 'u', vim.cmd.UndotreeToggle) diff --git a/private_dot_config/nvim/lazy-lock.json b/private_dot_config/nvim/lazy-lock.json new file mode 100644 index 0000000..aeaf6d7 --- /dev/null +++ b/private_dot_config/nvim/lazy-lock.json @@ -0,0 +1,11 @@ +{ + "gruvbox.nvim": { "branch": "main", "commit": "df149bccb19a02c5c2b9fa6ec0716f0c0487feb0" }, + "lazy.nvim": { "branch": "main", "commit": "bb5cc9ef3bbb17541929b745f74551c900188099" }, + "nvim-tree.lua": { "branch": "master", "commit": "d8b154c5f0981886fc2b0f1e52d6172e7fdd13e4" }, + "nvim-treesitter": { "branch": "master", "commit": "1ca9b938c1c3d8b2c64a168f6a5419b8f3870410" }, + "plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" }, + "telescope.nvim": { "branch": "master", "commit": "c1a2af0af69e80e14e6b226d3957a064cd080805" }, + "undotree": { "branch": "master", "commit": "485f01efde4e22cb1ce547b9e8c9238f36566f21" }, + "vim-numbertoggle": { "branch": "main", "commit": "075b7478777e694fbac330ee34a74590dad0fee1" }, + "which-key.nvim": { "branch": "main", "commit": "4acffc92953a90a790603bfdab7c92319ab167b1" } +} \ No newline at end of file diff --git a/private_dot_config/private_fish/completions/fisher.fish b/private_dot_config/private_fish/completions/fisher.fish new file mode 100644 index 0000000..6d23ce4 --- /dev/null +++ b/private_dot_config/private_fish/completions/fisher.fish @@ -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)" diff --git a/private_dot_config/private_fish/completions/fzf_configure_bindings.fish b/private_dot_config/private_fish/completions/fzf_configure_bindings.fish new file mode 100644 index 0000000..ec7db93 --- /dev/null +++ b/private_dot_config/private_fish/completions/fzf_configure_bindings.fish @@ -0,0 +1,8 @@ +complete fzf_configure_bindings --no-files +complete fzf_configure_bindings --long help --short h --description "Print help" +complete fzf_configure_bindings --long directory --description "Change the key binding for searching directory" +complete fzf_configure_bindings --long git_log --description "Change the key binding for searching git log" +complete fzf_configure_bindings --long git_status --description "Change the key binding for searching git status" +complete fzf_configure_bindings --long history --description "Change the key binding for searching history" +complete fzf_configure_bindings --long processes --description "Change the key binding for searching processes" +complete fzf_configure_bindings --long variables --description "Change the key binding for searching variables" diff --git a/private_dot_config/private_fish/completions/hcloud.fish b/private_dot_config/private_fish/completions/hcloud.fish new file mode 100644 index 0000000..9076e3a --- /dev/null +++ b/private_dot_config/private_fish/completions/hcloud.fish @@ -0,0 +1,177 @@ +# fish completion for hcloud -*- shell-script -*- + +function __hcloud_debug + set -l file "$BASH_COMP_DEBUG_FILE" + if test -n "$file" + echo "$argv" >> $file + end +end + +function __hcloud_perform_completion + __hcloud_debug "Starting __hcloud_perform_completion" + + # Extract all args except the last one + set -l args (commandline -opc) + # Extract the last arg and escape it in case it is a space + set -l lastArg (string escape -- (commandline -ct)) + + __hcloud_debug "args: $args" + __hcloud_debug "last arg: $lastArg" + + # Disable ActiveHelp which is not supported for fish shell + set -l requestComp "HCLOUD_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg" + + __hcloud_debug "Calling $requestComp" + set -l results (eval $requestComp 2> /dev/null) + + # Some programs may output extra empty lines after the directive. + # Let's ignore them or else it will break completion. + # Ref: https://github.com/spf13/cobra/issues/1279 + for line in $results[-1..1] + if test (string trim -- $line) = "" + # Found an empty line, remove it + set results $results[1..-2] + else + # Found non-empty line, we have our proper output + break + end + end + + set -l comps $results[1..-2] + set -l directiveLine $results[-1] + + # For Fish, when completing a flag with an = (e.g., -n=) + # completions must be prefixed with the flag + set -l flagPrefix (string match -r -- '-.*=' "$lastArg") + + __hcloud_debug "Comps: $comps" + __hcloud_debug "DirectiveLine: $directiveLine" + __hcloud_debug "flagPrefix: $flagPrefix" + + for comp in $comps + printf "%s%s\n" "$flagPrefix" "$comp" + end + + printf "%s\n" "$directiveLine" +end + +# This function does two things: +# - Obtain the completions and store them in the global __hcloud_comp_results +# - Return false if file completion should be performed +function __hcloud_prepare_completions + __hcloud_debug "" + __hcloud_debug "========= starting completion logic ==========" + + # Start fresh + set --erase __hcloud_comp_results + + set -l results (__hcloud_perform_completion) + __hcloud_debug "Completion results: $results" + + if test -z "$results" + __hcloud_debug "No completion, probably due to a failure" + # Might as well do file completion, in case it helps + return 1 + end + + set -l directive (string sub --start 2 $results[-1]) + set --global __hcloud_comp_results $results[1..-2] + + __hcloud_debug "Completions are: $__hcloud_comp_results" + __hcloud_debug "Directive is: $directive" + + set -l shellCompDirectiveError 1 + set -l shellCompDirectiveNoSpace 2 + set -l shellCompDirectiveNoFileComp 4 + set -l shellCompDirectiveFilterFileExt 8 + set -l shellCompDirectiveFilterDirs 16 + + if test -z "$directive" + set directive 0 + end + + set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2) + if test $compErr -eq 1 + __hcloud_debug "Received error directive: aborting." + # Might as well do file completion, in case it helps + return 1 + end + + set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2) + set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2) + if test $filefilter -eq 1; or test $dirfilter -eq 1 + __hcloud_debug "File extension filtering or directory filtering not supported" + # Do full file completion instead + return 1 + end + + set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2) + set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2) + + __hcloud_debug "nospace: $nospace, nofiles: $nofiles" + + # If we want to prevent a space, or if file completion is NOT disabled, + # we need to count the number of valid completions. + # To do so, we will filter on prefix as the completions we have received + # may not already be filtered so as to allow fish to match on different + # criteria than the prefix. + if test $nospace -ne 0; or test $nofiles -eq 0 + set -l prefix (commandline -t | string escape --style=regex) + __hcloud_debug "prefix: $prefix" + + set -l completions (string match -r -- "^$prefix.*" $__hcloud_comp_results) + set --global __hcloud_comp_results $completions + __hcloud_debug "Filtered completions are: $__hcloud_comp_results" + + # Important not to quote the variable for count to work + set -l numComps (count $__hcloud_comp_results) + __hcloud_debug "numComps: $numComps" + + if test $numComps -eq 1; and test $nospace -ne 0 + # We must first split on \t to get rid of the descriptions to be + # able to check what the actual completion will be. + # We don't need descriptions anyway since there is only a single + # real completion which the shell will expand immediately. + set -l split (string split --max 1 \t $__hcloud_comp_results[1]) + + # Fish won't add a space if the completion ends with any + # of the following characters: @=/:., + set -l lastChar (string sub -s -1 -- $split) + if not string match -r -q "[@=/:.,]" -- "$lastChar" + # In other cases, to support the "nospace" directive we trick the shell + # by outputting an extra, longer completion. + __hcloud_debug "Adding second completion to perform nospace directive" + set --global __hcloud_comp_results $split[1] $split[1]. + __hcloud_debug "Completions are now: $__hcloud_comp_results" + end + end + + if test $numComps -eq 0; and test $nofiles -eq 0 + # To be consistent with bash and zsh, we only trigger file + # completion when there are no other completions + __hcloud_debug "Requesting file completion" + return 1 + end + end + + return 0 +end + +# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves +# so we can properly delete any completions provided by another script. +# Only do this if the program can be found, or else fish may print some errors; besides, +# the existing completions will only be loaded if the program can be found. +if type -q "hcloud" + # The space after the program name is essential to trigger completion for the program + # and not completion of the program name itself. + # Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish. + complete --do-complete "hcloud " > /dev/null 2>&1 +end + +# Remove any pre-existing completions for the program since we will be handling all of them. +complete -c hcloud -e + +# The call to __hcloud_prepare_completions will setup __hcloud_comp_results +# which provides the program's completion choices. +complete -c hcloud -n '__hcloud_prepare_completions' -f -a '$__hcloud_comp_results' + diff --git a/private_dot_config/private_fish/completions/jump.fish b/private_dot_config/private_fish/completions/jump.fish new file mode 100644 index 0000000..7fe15d2 --- /dev/null +++ b/private_dot_config/private_fish/completions/jump.fish @@ -0,0 +1,5 @@ +# SYNOPSIS +# Completions for jump package. + +complete -c jump -f -a '(command ls ~/.marks)' +complete -c unmark -f -a '(command ls ~/.marks)' diff --git a/private_dot_config/private_fish/completions/nvm.fish b/private_dot_config/private_fish/completions/nvm.fish new file mode 100644 index 0000000..c0ab183 --- /dev/null +++ b/private_dot_config/private_fish/completions/nvm.fish @@ -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 a version in the current shell" +complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list --description "List installed versions" +complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list-remote --description "List versions available to install matching optional regex" +complete --command nvm --exclusive --condition __fish_use_subcommand --arguments current --description "Print the currently-active 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 a 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 +)" diff --git a/private_dot_config/private_fish/completions/replay.fish b/private_dot_config/private_fish/completions/replay.fish new file mode 100644 index 0000000..d4589a9 --- /dev/null +++ b/private_dot_config/private_fish/completions/replay.fish @@ -0,0 +1,3 @@ +complete --command replay --no-files +complete --command replay --exclusive --long version --description "Print version" +complete --command replay --exclusive --long help --description "Print help" diff --git a/private_dot_config/private_fish/completions/tide.fish b/private_dot_config/private_fish/completions/tide.fish new file mode 100644 index 0000000..2d3784d --- /dev/null +++ b/private_dot_config/private_fish/completions/tide.fish @@ -0,0 +1,12 @@ +complete tide --no-files + +set -l subcommands bug-report configure + +complete tide -x -n __fish_use_subcommand -a bug-report -d "Print info for use in bug reports" +complete tide -x -n __fish_use_subcommand -a configure -d "Run the configuration wizard" + +complete tide -x -n "not __fish_seen_subcommand_from $subcommands" -s h -l help -d "Print help message" +complete tide -x -n "not __fish_seen_subcommand_from $subcommands" -s v -l version -d "Print tide version" + +complete tide -x -n '__fish_seen_subcommand_from bug-report' -l clean -d "Run clean Fish instance and install Tide" +complete tide -x -n '__fish_seen_subcommand_from bug-report' -l verbose -d "Print full Tide configuration" diff --git a/private_dot_config/private_fish/conf.d/_tide_init.fish b/private_dot_config/private_fish/conf.d/_tide_init.fish new file mode 100644 index 0000000..939f17c --- /dev/null +++ b/private_dot_config/private_fish/conf.d/_tide_init.fish @@ -0,0 +1,41 @@ +function _tide_init_install --on-event _tide_init_install + set -U VIRTUAL_ENV_DISABLE_PROMPT true + + source (functions --details _tide_sub_configure) + _load_config lean + _tide_finish + + if status is-interactive + tide bug-report --check || sleep 4 + + if contains ilancosman/tide (string lower $_fisher_plugins) + set_color bryellow + echo "ilancosman/tide is a development branch. Please install from a release tag:" + echo -ns "fisher install ilancosman/tide@v5" | fish_indent --ansi + sleep 3 + end + + switch (read --prompt-str="Configure tide prompt? [Y/n] " | string lower) + case y ye yes '' + tide configure + case '*' + echo -s \n 'Run ' (echo -ns "tide configure" | fish_indent --ansi) ' to customize your prompt.' + end + end +end + +function _tide_init_update --on-event _tide_init_update + # Warn users who install from main branch + if contains ilancosman/tide (string lower $_fisher_plugins) + set_color bryellow + echo "ilancosman/tide is a development branch. Please install from a release tag:" + echo -ns "fisher install ilancosman/tide@v5" | fish_indent --ansi + sleep 3 + end +end + +function _tide_init_uninstall --on-event _tide_init_uninstall + set -e VIRTUAL_ENV_DISABLE_PROMPT + set -e (set -U --names | string match --entire -r '^_?tide') + functions --erase (functions --all | string match --entire -r '^_?tide') +end diff --git a/private_dot_config/private_fish/conf.d/abbr_tips.fish b/private_dot_config/private_fish/conf.d/abbr_tips.fish new file mode 100644 index 0000000..1c6f180 --- /dev/null +++ b/private_dot_config/private_fish/conf.d/abbr_tips.fish @@ -0,0 +1,140 @@ +for mode in default insert + bind --mode $mode " " __abbr_tips_bind_space + bind --mode $mode \n __abbr_tips_bind_newline + bind --mode $mode \r __abbr_tips_bind_newline +end + +set -g __abbr_tips_used 0 + +# Trim simple/double quotes from args +function trim_value + echo "$argv" | string trim --left --right --chars '"\'' | string join ' ' +end + +function __abbr_tips_install --on-event abbr_tips_install + # Regexes used to find abbreviation inside command + # Only the first matching group will be tested as an abbr + set -Ux ABBR_TIPS_REGEXES + set -a ABBR_TIPS_REGEXES '(^(\w+\s+)+(-{1,2})\w+)(\s\S+)' + set -a ABBR_TIPS_REGEXES '(^(\s?(\w-?)+){3}).*' + set -a ABBR_TIPS_REGEXES '(^(\s?(\w-?)+){2}).*' + set -a ABBR_TIPS_REGEXES '(^(\s?(\w-?)+){1}).*' + + set -Ux ABBR_TIPS_PROMPT "\n💡 \e[1m{{ .abbr }}\e[0m => {{ .cmd }}" + set -gx ABBR_TIPS_AUTO_UPDATE background + + __abbr_tips_init +end + +function __abbr_tips --on-event fish_postexec -d "Abbreviation reminder for the current command" + set -l command (string split ' ' -- "$argv") + set -l cmd (string replace -r -a '\\s+' ' ' -- "$argv" ) + + # Update abbreviations lists when adding/removing abbreviations + if test "$command[1]" = abbr + # Parse args as abbr options + argparse --name abbr --ignore-unknown a/add e/erase g/global U/universal -- $command + + if set -q _flag_a + and not contains -- "$argv[2]" $__ABBR_TIPS_KEYS + set -a __ABBR_TIPS_KEYS "$argv[2]" + set -a __ABBR_TIPS_VALUES (trim_value "$argv[3..-1]") + else if set -q _flag_e + and set -l abb (contains -i -- "$argv[2]" $__ABBR_TIPS_KEYS) + set -e __ABBR_TIPS_KEYS[$abb] + set -e __ABBR_TIPS_VALUES[$abb] + end + else if test "$command[1]" = alias + # Update abbreviations list when adding aliases + set -l alias_key + set -l alias_value + + # Parse args as `alias` options + argparse --name alias --ignore-unknown s/save -- $command + + if string match -q '*=*' -- "$argv[2]" + set command_split (string split '=' -- $argv[2]) + set alias_key "a__$command_split[1]" + set alias_value $command_split[2..-1] + else + set alias_key "a__$argv[2]" + set alias_value $argv[3..-1] + end + + set alias_value (trim_value "$alias_value") + + if set -l abb (contains -i -- "$argv[3..-1]" $__ABBR_TIPS_KEYS) + set __ABBR_TIPS_KEYS[$abb] $alias_key + set __ABBR_TIPS_VALUES[$abb] $alias_value + else + set -a __ABBR_TIPS_KEYS $alias_key + set -a __ABBR_TIPS_VALUES $alias_value + end + else if test "$command[1]" = functions + # Parse args as `functions` options + argparse --name functions e/erase -- $command + + # Update abbreviations list when removing aliases + if set -q _flag_e + and set -l abb (contains -i -- a__{$argv[2]} $__ABBR_TIPS_KEYS) + set -e __ABBR_TIPS_KEYS[$abb] + set -e __ABBR_TIPS_VALUES[$abb] + end + end + + # Exit in the following cases : + # - abbreviation has been used + # - command is already an abbreviation + # - command not found + # - or it's a function (alias) + if test $__abbr_tips_used = 1 + set -g __abbr_tips_used 0 + return + else if abbr -q "$cmd" + or not type -q "$command[1]" + return + else if string match -q -- "alias $cmd *" (alias) + return + else if test (type -t "$command[1]") = function + and count $ABBR_TIPS_ALIAS_WHITELIST >/dev/null + and not contains "$command[1]" $ABBR_TIPS_ALIAS_WHITELIST + return + end + + set -l abb + if not set abb (contains -i -- "$cmd" $__ABBR_TIPS_VALUES) + for r in $ABBR_TIPS_REGEXES + if set abb (contains -i -- (string replace -r -a -- "$r" '$1' "$cmd") $__ABBR_TIPS_VALUES) + break + end + end + end + + if test -n "$abb" + if string match -q "a__*" -- "$__ABBR_TIPS_KEYS[$abb]" + set -l alias (string sub -s 4 -- "$__ABBR_TIPS_KEYS[$abb]") + if functions -q "$alias" + echo -e (string replace -a '{{ .cmd }}' -- "$__ABBR_TIPS_VALUES[$abb]" \ + (string replace -a '{{ .abbr }}' -- "$alias" "$ABBR_TIPS_PROMPT")) + else + set -e __ABBR_TIPS_KEYS[$abb] + set -e __ABBR_TIPS_VALUES[$abb] + end + else + echo -e (string replace -a '{{ .cmd }}' -- "$__ABBR_TIPS_VALUES[$abb]" \ + (string replace -a '{{ .abbr }}' -- "$__ABBR_TIPS_KEYS[$abb]" "$ABBR_TIPS_PROMPT")) + end + end + + return +end + +function __abbr_tips_update --on-event abbr_tips_update + __abbr_tips_clean + __abbr_tips_install +end + +function __abbr_tips_uninstall --on-event abbr_tips_uninstall + __abbr_tips_clean + functions --erase __abbr_tips_init +end diff --git a/private_dot_config/private_fish/conf.d/done.fish b/private_dot_config/private_fish/conf.d/done.fish new file mode 100644 index 0000000..733a9df --- /dev/null +++ b/private_dot_config/private_fish/conf.d/done.fish @@ -0,0 +1,303 @@ +# MIT License + +# Copyright (c) 2016 Francisco Lourenço & Daniel Wehner + +# 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. + +if not status is-interactive + exit +end + +set -g __done_version 1.16.5 + +function __done_run_powershell_script + set -l powershell_exe (command --search "powershell.exe") + + if test $status -ne 0 + and command --search wslvar + + set -l powershell_exe (wslpath (wslvar windir)/System32/WindowsPowerShell/v1.0/powershell.exe) + end + + if string length --quiet "$powershell_exe" + and test -x "$powershell_exe" + + set cmd (string escape $argv) + + eval "$powershell_exe -Command $cmd" + end +end + +function __done_windows_notification -a title -a message + if test "$__done_notify_sound" -eq 1 + set soundopt "