From 2750f6d54e3bbc2aa20f9699909576fc928c1ca4 Mon Sep 17 00:00:00 2001 From: glennigen Date: Tue, 14 Jul 2026 22:32:06 +0200 Subject: [PATCH] configs upload --- .gitignore | 3 +- configs/VSCodium/User/settings.json | 10 + configs/fish/completions/jotta-cli.fish | 235 ++ .../fish/conf.d/fish_frozen_key_bindings.fish | 14 + configs/fish/conf.d/fish_frozen_theme.fish | 37 + configs/fish/conf.d/uv.env.fish | 2 + configs/fish/config.fish | 7 + configs/fish/fish_variables | 5 + configs/fish/functions/dup.fish | 3 + configs/fish/functions/ll.fish | 3 + configs/fish/functions/sll.fish | 4 + configs/fish/functions/sudo!!.fish | 3 + configs/fish/functions/zup.fish | 4 + configs/kitty/Catppuccin-Macchiato.conf | 80 + configs/kitty/current-theme.conf | 80 + configs/kitty/kitty.conf | 2938 +++++++++++++++++ configs/kitty/kitty.conf.bak | 2930 ++++++++++++++++ .../Profile-files/GlennIgen/basic.ini | 119 + .../GlennIgen/recordEncoder.json | 1 + .../GlennIgen/recordEncoder.json.bak | 1 + .../run_ca526d1c-6b92-43fd-987a-f8fa87d21330 | 0 .../basic/profiles/GlennIgen/basic.ini | 119 + .../profiles/GlennIgen/recordEncoder.json | 1 + .../profiles/GlennIgen/recordEncoder.json.bak | 1 + .../Settings-files/basic/scenes/Untitled.json | 1017 ++++++ .../basic/scenes/Untitled.json.bak | 1017 ++++++ .../obs-settings/Settings-files/global.ini | 20 + .../plugin_config/obs-websocket/config.json | 8 + .../rtmp-services/amazon_ivs_ingests.json | 130 + .../plugin_config/rtmp-services/package.json | 1 + .../plugin_config/rtmp-services/services.json | 1 + .../rtmp-services/twitch_ingests.json | 130 + .../plugin_manager/modules.json | 53 + .../profiler_data/2025-11-26 22-04-52.csv.gz | Bin 0 -> 43865 bytes .../profiler_data/2025-11-26 22-09-01.csv.gz | Bin 0 -> 37730 bytes .../profiler_data/2025-11-28 17-26-24.csv.gz | Bin 0 -> 13804 bytes .../profiler_data/2025-11-28 17-37-05.csv.gz | Bin 0 -> 21138 bytes .../profiler_data/2025-11-28 19-18-08.csv.gz | Bin 0 -> 26270 bytes .../profiler_data/2025-11-29 12-55-44.csv.gz | Bin 0 -> 8892 bytes .../profiler_data/2025-11-29 14-59-21.csv.gz | Bin 0 -> 25304 bytes .../profiler_data/2025-11-29 15-04-58.csv.gz | Bin 0 -> 9031 bytes .../profiler_data/2025-11-30 14-02-56.csv.gz | Bin 0 -> 24647 bytes .../profiler_data/2025-12-02 17-39-30.csv.gz | Bin 0 -> 288327 bytes configs/obs-settings/Settings-files/user.ini | 67 + .../pipewire.conf.d/sinks-loopback.conf | 47 + configs/scripts/app_close_and_reboot.sh | 76 + configs/scripts/app_close_and_shutdown.sh | 75 + home.nix | 2 + 48 files changed, 9243 insertions(+), 1 deletion(-) create mode 100644 configs/VSCodium/User/settings.json create mode 100644 configs/fish/completions/jotta-cli.fish create mode 100644 configs/fish/conf.d/fish_frozen_key_bindings.fish create mode 100644 configs/fish/conf.d/fish_frozen_theme.fish create mode 100644 configs/fish/conf.d/uv.env.fish create mode 100644 configs/fish/config.fish create mode 100644 configs/fish/fish_variables create mode 100644 configs/fish/functions/dup.fish create mode 100644 configs/fish/functions/ll.fish create mode 100644 configs/fish/functions/sll.fish create mode 100644 configs/fish/functions/sudo!!.fish create mode 100644 configs/fish/functions/zup.fish create mode 100644 configs/kitty/Catppuccin-Macchiato.conf create mode 100644 configs/kitty/current-theme.conf create mode 100644 configs/kitty/kitty.conf create mode 100644 configs/kitty/kitty.conf.bak create mode 100644 configs/obs-settings/Profile-files/GlennIgen/basic.ini create mode 100644 configs/obs-settings/Profile-files/GlennIgen/recordEncoder.json create mode 100644 configs/obs-settings/Profile-files/GlennIgen/recordEncoder.json.bak create mode 100644 configs/obs-settings/Settings-files/.sentinel/run_ca526d1c-6b92-43fd-987a-f8fa87d21330 create mode 100644 configs/obs-settings/Settings-files/basic/profiles/GlennIgen/basic.ini create mode 100644 configs/obs-settings/Settings-files/basic/profiles/GlennIgen/recordEncoder.json create mode 100644 configs/obs-settings/Settings-files/basic/profiles/GlennIgen/recordEncoder.json.bak create mode 100644 configs/obs-settings/Settings-files/basic/scenes/Untitled.json create mode 100644 configs/obs-settings/Settings-files/basic/scenes/Untitled.json.bak create mode 100644 configs/obs-settings/Settings-files/global.ini create mode 100644 configs/obs-settings/Settings-files/plugin_config/obs-websocket/config.json create mode 100644 configs/obs-settings/Settings-files/plugin_config/rtmp-services/amazon_ivs_ingests.json create mode 100644 configs/obs-settings/Settings-files/plugin_config/rtmp-services/package.json create mode 100644 configs/obs-settings/Settings-files/plugin_config/rtmp-services/services.json create mode 100644 configs/obs-settings/Settings-files/plugin_config/rtmp-services/twitch_ingests.json create mode 100644 configs/obs-settings/Settings-files/plugin_manager/modules.json create mode 100644 configs/obs-settings/Settings-files/profiler_data/2025-11-26 22-04-52.csv.gz create mode 100644 configs/obs-settings/Settings-files/profiler_data/2025-11-26 22-09-01.csv.gz create mode 100644 configs/obs-settings/Settings-files/profiler_data/2025-11-28 17-26-24.csv.gz create mode 100644 configs/obs-settings/Settings-files/profiler_data/2025-11-28 17-37-05.csv.gz create mode 100644 configs/obs-settings/Settings-files/profiler_data/2025-11-28 19-18-08.csv.gz create mode 100644 configs/obs-settings/Settings-files/profiler_data/2025-11-29 12-55-44.csv.gz create mode 100644 configs/obs-settings/Settings-files/profiler_data/2025-11-29 14-59-21.csv.gz create mode 100644 configs/obs-settings/Settings-files/profiler_data/2025-11-29 15-04-58.csv.gz create mode 100644 configs/obs-settings/Settings-files/profiler_data/2025-11-30 14-02-56.csv.gz create mode 100644 configs/obs-settings/Settings-files/profiler_data/2025-12-02 17-39-30.csv.gz create mode 100644 configs/obs-settings/Settings-files/user.ini create mode 100644 configs/pipewire/pipewire.conf.d/sinks-loopback.conf create mode 100755 configs/scripts/app_close_and_reboot.sh create mode 100755 configs/scripts/app_close_and_shutdown.sh diff --git a/.gitignore b/.gitignore index 8de0802..7098e44 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ result .direnv *.swp -flake.lock \ No newline at end of file +flake.lock +stow_me \ No newline at end of file diff --git a/configs/VSCodium/User/settings.json b/configs/VSCodium/User/settings.json new file mode 100644 index 0000000..537d472 --- /dev/null +++ b/configs/VSCodium/User/settings.json @@ -0,0 +1,10 @@ +{ + "editor.selectionClipboard": false, + "claudeCode.preferredLocation": "panel", + "terminal.integrated.fontFamily": "JetBrainsMono Nerd Font Mono" + "git.autofetch": true + "powershell.powerShellDefaultVersion": "PowerShell", + "powershell.powerShellAdditionalExePaths": { + "PowerShell": "/run/current-system/sw/bin/pwsh" + } +} diff --git a/configs/fish/completions/jotta-cli.fish b/configs/fish/completions/jotta-cli.fish new file mode 100644 index 0000000..f189c3c --- /dev/null +++ b/configs/fish/completions/jotta-cli.fish @@ -0,0 +1,235 @@ +# fish completion for jotta-cli -*- shell-script -*- + +function __jotta_cli_debug + set -l file "$BASH_COMP_DEBUG_FILE" + if test -n "$file" + echo "$argv" >> $file + end +end + +function __jotta_cli_perform_completion + __jotta_cli_debug "Starting __jotta_cli_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)) + + __jotta_cli_debug "args: $args" + __jotta_cli_debug "last arg: $lastArg" + + # Disable ActiveHelp which is not supported for fish shell + set -l requestComp "JOTTA_CLI_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg" + + __jotta_cli_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") + + __jotta_cli_debug "Comps: $comps" + __jotta_cli_debug "DirectiveLine: $directiveLine" + __jotta_cli_debug "flagPrefix: $flagPrefix" + + for comp in $comps + printf "%s%s\n" "$flagPrefix" "$comp" + end + + printf "%s\n" "$directiveLine" +end + +# this function limits calls to __jotta_cli_perform_completion, by caching the result behind $__jotta_cli_perform_completion_once_result +function __jotta_cli_perform_completion_once + __jotta_cli_debug "Starting __jotta_cli_perform_completion_once" + + if test -n "$__jotta_cli_perform_completion_once_result" + __jotta_cli_debug "Seems like a valid result already exists, skipping __jotta_cli_perform_completion" + return 0 + end + + set --global __jotta_cli_perform_completion_once_result (__jotta_cli_perform_completion) + if test -z "$__jotta_cli_perform_completion_once_result" + __jotta_cli_debug "No completions, probably due to a failure" + return 1 + end + + __jotta_cli_debug "Performed completions and set __jotta_cli_perform_completion_once_result" + return 0 +end + +# this function is used to clear the $__jotta_cli_perform_completion_once_result variable after completions are run +function __jotta_cli_clear_perform_completion_once_result + __jotta_cli_debug "" + __jotta_cli_debug "========= clearing previously set __jotta_cli_perform_completion_once_result variable ==========" + set --erase __jotta_cli_perform_completion_once_result + __jotta_cli_debug "Successfully erased the variable __jotta_cli_perform_completion_once_result" +end + +function __jotta_cli_requires_order_preservation + __jotta_cli_debug "" + __jotta_cli_debug "========= checking if order preservation is required ==========" + + __jotta_cli_perform_completion_once + if test -z "$__jotta_cli_perform_completion_once_result" + __jotta_cli_debug "Error determining if order preservation is required" + return 1 + end + + set -l directive (string sub --start 2 $__jotta_cli_perform_completion_once_result[-1]) + __jotta_cli_debug "Directive is: $directive" + + set -l shellCompDirectiveKeepOrder 32 + set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2) + __jotta_cli_debug "Keeporder is: $keeporder" + + if test $keeporder -ne 0 + __jotta_cli_debug "This does require order preservation" + return 0 + end + + __jotta_cli_debug "This doesn't require order preservation" + return 1 +end + + +# This function does two things: +# - Obtain the completions and store them in the global __jotta_cli_comp_results +# - Return false if file completion should be performed +function __jotta_cli_prepare_completions + __jotta_cli_debug "" + __jotta_cli_debug "========= starting completion logic ==========" + + # Start fresh + set --erase __jotta_cli_comp_results + + __jotta_cli_perform_completion_once + __jotta_cli_debug "Completion results: $__jotta_cli_perform_completion_once_result" + + if test -z "$__jotta_cli_perform_completion_once_result" + __jotta_cli_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 $__jotta_cli_perform_completion_once_result[-1]) + set --global __jotta_cli_comp_results $__jotta_cli_perform_completion_once_result[1..-2] + + __jotta_cli_debug "Completions are: $__jotta_cli_comp_results" + __jotta_cli_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 + __jotta_cli_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 + __jotta_cli_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) + + __jotta_cli_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) + __jotta_cli_debug "prefix: $prefix" + + set -l completions (string match -r -- "^$prefix.*" $__jotta_cli_comp_results) + set --global __jotta_cli_comp_results $completions + __jotta_cli_debug "Filtered completions are: $__jotta_cli_comp_results" + + # Important not to quote the variable for count to work + set -l numComps (count $__jotta_cli_comp_results) + __jotta_cli_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 $__jotta_cli_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. + __jotta_cli_debug "Adding second completion to perform nospace directive" + set --global __jotta_cli_comp_results $split[1] $split[1]. + __jotta_cli_debug "Completions are now: $__jotta_cli_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 + __jotta_cli_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 "jotta-cli" + # 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 "jotta-cli " > /dev/null 2>&1 +end + +# Remove any pre-existing completions for the program since we will be handling all of them. +complete -c jotta-cli -e + +# this will get called after the two calls below and clear the $__jotta_cli_perform_completion_once_result global +complete -c jotta-cli -n '__jotta_cli_clear_perform_completion_once_result' +# The call to __jotta_cli_prepare_completions will setup __jotta_cli_comp_results +# which provides the program's completion choices. +# If this doesn't require order preservation, we don't use the -k flag +complete -c jotta-cli -n 'not __jotta_cli_requires_order_preservation && __jotta_cli_prepare_completions' -f -a '$__jotta_cli_comp_results' +# otherwise we use the -k flag +complete -k -c jotta-cli -n '__jotta_cli_requires_order_preservation && __jotta_cli_prepare_completions' -f -a '$__jotta_cli_comp_results' diff --git a/configs/fish/conf.d/fish_frozen_key_bindings.fish b/configs/fish/conf.d/fish_frozen_key_bindings.fish new file mode 100644 index 0000000..495aee9 --- /dev/null +++ b/configs/fish/conf.d/fish_frozen_key_bindings.fish @@ -0,0 +1,14 @@ +# This file was created by fish when upgrading to version 4.3, to migrate +# the 'fish_key_bindings' variable from its old default scope (universal) +# to its new default scope (global). We recommend you delete this file +# and configure key bindings in ~/.config/fish/config.fish if needed. + +# set --global fish_key_bindings fish_default_key_bindings + +# Prior to version 4.3, fish shipped an event handler that runs +# `set --universal fish_key_bindings fish_default_key_bindings` +# whenever the fish_key_bindings variable is erased. +# This means that as long as any fish < 4.3 is still running on this system, +# we cannot complete the migration. +# As a workaround, erase the universal variable at every shell startup. +set --erase --universal fish_key_bindings diff --git a/configs/fish/conf.d/fish_frozen_theme.fish b/configs/fish/conf.d/fish_frozen_theme.fish new file mode 100644 index 0000000..5c7cef9 --- /dev/null +++ b/configs/fish/conf.d/fish_frozen_theme.fish @@ -0,0 +1,37 @@ +# This file was created by fish when upgrading to version 4.3, to migrate +# theme variables from universal to global scope. +# Don't edit this file, as it will be written by the web-config tool (`fish_config`). +# To customize your theme, delete this file and see +# help interactive#syntax-highlighting +# or +# man fish-interactive | less +/^SYNTAX.HIGHLIGHTING +# for appropriate commands to add to ~/.config/fish/config.fish instead. +# See also the release notes for fish 4.3.0 (run `help relnotes`). + +set --global fish_color_autosuggestion brblack +set --global fish_color_cancel -r +set --global fish_color_command normal +set --global fish_color_comment red +set --global fish_color_cwd green +set --global fish_color_cwd_root red +set --global fish_color_end green +set --global fish_color_error brred +set --global fish_color_escape brcyan +set --global fish_color_history_current --bold +set --global fish_color_host normal +set --global fish_color_host_remote yellow +set --global fish_color_normal normal +set --global fish_color_operator brcyan +set --global fish_color_param cyan +set --global fish_color_quote yellow +set --global fish_color_redirection cyan --bold +set --global fish_color_search_match white --background=brblack +set --global fish_color_selection white --bold --background=brblack +set --global fish_color_status red +set --global fish_color_user brgreen +set --global fish_color_valid_path --underline +set --global fish_pager_color_completion normal +set --global fish_pager_color_description yellow -i +set --global fish_pager_color_prefix normal --bold --underline +set --global fish_pager_color_progress brwhite --background=cyan +set --global fish_pager_color_selected_background -r diff --git a/configs/fish/conf.d/uv.env.fish b/configs/fish/conf.d/uv.env.fish new file mode 100644 index 0000000..c5be13c --- /dev/null +++ b/configs/fish/conf.d/uv.env.fish @@ -0,0 +1,2 @@ + +source "$HOME/.local/bin/env.fish" diff --git a/configs/fish/config.fish b/configs/fish/config.fish new file mode 100644 index 0000000..048132d --- /dev/null +++ b/configs/fish/config.fish @@ -0,0 +1,7 @@ +if status is-interactive + # Commands to run in interactive sessions can go here + fastfetch +end + +# Hermes Agent — ensure ~/.local/bin is on PATH +#fish_add_path "$HOME/.local/bin" diff --git a/configs/fish/fish_variables b/configs/fish/fish_variables new file mode 100644 index 0000000..437c541 --- /dev/null +++ b/configs/fish/fish_variables @@ -0,0 +1,5 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR __fish_initialized:4300 +SETUVAR fish_greeting: +SETUVAR fish_user_paths:/home/glennigen/\x2enpm\x2dglobal/bin diff --git a/configs/fish/functions/dup.fish b/configs/fish/functions/dup.fish new file mode 100644 index 0000000..268744e --- /dev/null +++ b/configs/fish/functions/dup.fish @@ -0,0 +1,3 @@ +function dup --wraps='sudo dnf upgrade' --description 'alias dup=sudo dnf upgrade' + sudo dnf upgrade $argv +end diff --git a/configs/fish/functions/ll.fish b/configs/fish/functions/ll.fish new file mode 100644 index 0000000..1746f09 --- /dev/null +++ b/configs/fish/functions/ll.fish @@ -0,0 +1,3 @@ +function ll --wraps='ls -l' --wraps='lsd -Alh --group-dirs first' --description 'alias ll=lsd -Alh --group-dirs first' + lsd -Alh --group-dirs first $argv +end diff --git a/configs/fish/functions/sll.fish b/configs/fish/functions/sll.fish new file mode 100644 index 0000000..9bad0f0 --- /dev/null +++ b/configs/fish/functions/sll.fish @@ -0,0 +1,4 @@ +function sll --wraps='sudo ls -l' --wraps='sudo lsd -Alh --group-dirs first' --description 'alias sll sudo lsd -Alh --group-dirs first' + sudo lsd -Alh --group-dirs first $argv + +end diff --git a/configs/fish/functions/sudo!!.fish b/configs/fish/functions/sudo!!.fish new file mode 100644 index 0000000..546214b --- /dev/null +++ b/configs/fish/functions/sudo!!.fish @@ -0,0 +1,3 @@ +function sudo!! + eval sudo $history[1] +end diff --git a/configs/fish/functions/zup.fish b/configs/fish/functions/zup.fish new file mode 100644 index 0000000..c21b724 --- /dev/null +++ b/configs/fish/functions/zup.fish @@ -0,0 +1,4 @@ +function zup --wraps='sudo zypper ref;sudo zypper dup' --description 'alias zup sudo zypper ref;sudo zypper dup' + sudo zypper ref;sudo zypper dup $argv + +end diff --git a/configs/kitty/Catppuccin-Macchiato.conf b/configs/kitty/Catppuccin-Macchiato.conf new file mode 100644 index 0000000..a45b09f --- /dev/null +++ b/configs/kitty/Catppuccin-Macchiato.conf @@ -0,0 +1,80 @@ +# vim:ft=kitty + +## name: Catppuccin-Macchiato +## author: Pocco81 (https://github.com/Pocco81) +## license: MIT +## upstream: https://github.com/catppuccin/kitty/blob/main/macchiato.conf +## blurb: Soothing pastel theme for the high-spirited! + + + +# The basic colors +foreground #CAD3F5 +background #24273A +selection_foreground #24273A +selection_background #F4DBD6 + +# Cursor colors +cursor #F4DBD6 +cursor_text_color #24273A + +# URL underline color when hovering with mouse +url_color #F4DBD6 + +# Kitty window border colors +active_border_color #B7BDF8 +inactive_border_color #6E738D +bell_border_color #EED49F + +# OS Window titlebar colors +wayland_titlebar_color system +macos_titlebar_color system + +# Tab bar colors +active_tab_foreground #181926 +active_tab_background #C6A0F6 +inactive_tab_foreground #CAD3F5 +inactive_tab_background #1E2030 +tab_bar_background #181926 + +# Colors for marks (marked text in the terminal) +mark1_foreground #24273A +mark1_background #B7BDF8 +mark2_foreground #24273A +mark2_background #C6A0F6 +mark3_foreground #24273A +mark3_background #7DC4E4 + +# The 16 terminal colors + +# black +color0 #494D64 +color8 #5B6078 + +# red +color1 #ED8796 +color9 #ED8796 + +# green +color2 #A6DA95 +color10 #A6DA95 + +# yellow +color3 #EED49F +color11 #EED49F + +# blue +color4 #8AADF4 +color12 #8AADF4 + +# magenta +color5 #F5BDE6 +color13 #F5BDE6 + +# cyan +color6 #8BD5CA +color14 #8BD5CA + +# white +color7 #B8C0E0 +color15 #A5ADCB diff --git a/configs/kitty/current-theme.conf b/configs/kitty/current-theme.conf new file mode 100644 index 0000000..a45b09f --- /dev/null +++ b/configs/kitty/current-theme.conf @@ -0,0 +1,80 @@ +# vim:ft=kitty + +## name: Catppuccin-Macchiato +## author: Pocco81 (https://github.com/Pocco81) +## license: MIT +## upstream: https://github.com/catppuccin/kitty/blob/main/macchiato.conf +## blurb: Soothing pastel theme for the high-spirited! + + + +# The basic colors +foreground #CAD3F5 +background #24273A +selection_foreground #24273A +selection_background #F4DBD6 + +# Cursor colors +cursor #F4DBD6 +cursor_text_color #24273A + +# URL underline color when hovering with mouse +url_color #F4DBD6 + +# Kitty window border colors +active_border_color #B7BDF8 +inactive_border_color #6E738D +bell_border_color #EED49F + +# OS Window titlebar colors +wayland_titlebar_color system +macos_titlebar_color system + +# Tab bar colors +active_tab_foreground #181926 +active_tab_background #C6A0F6 +inactive_tab_foreground #CAD3F5 +inactive_tab_background #1E2030 +tab_bar_background #181926 + +# Colors for marks (marked text in the terminal) +mark1_foreground #24273A +mark1_background #B7BDF8 +mark2_foreground #24273A +mark2_background #C6A0F6 +mark3_foreground #24273A +mark3_background #7DC4E4 + +# The 16 terminal colors + +# black +color0 #494D64 +color8 #5B6078 + +# red +color1 #ED8796 +color9 #ED8796 + +# green +color2 #A6DA95 +color10 #A6DA95 + +# yellow +color3 #EED49F +color11 #EED49F + +# blue +color4 #8AADF4 +color12 #8AADF4 + +# magenta +color5 #F5BDE6 +color13 #F5BDE6 + +# cyan +color6 #8BD5CA +color14 #8BD5CA + +# white +color7 #B8C0E0 +color15 #A5ADCB diff --git a/configs/kitty/kitty.conf b/configs/kitty/kitty.conf new file mode 100644 index 0000000..55b6cb1 --- /dev/null +++ b/configs/kitty/kitty.conf @@ -0,0 +1,2938 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +# BEGIN_KITTY_THEME +# Catppuccin-Macchiato +include current-theme.conf +# END_KITTY_THEME + +#: 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. The easiest way to select fonts is to run the `kitten +#: choose-fonts` command which will present a nice UI for you to +#: select the fonts you want with previews and support for selecting +#: variable fonts and font features. If you want to learn to select +#: fonts manually, read the font specification syntax +#: . + +# font_size 11.0 + +#: 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 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. Note +#: that for the main fonts, features can be specified when selecting +#: the font using the choose-fonts kitten. This setting is useful for +#: fallback fonts. + +#: 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 the `fc-scan file.ttf` +#: command on Linux or the `Font Book tool on macOS +#: `__. + +#: 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. Changing this option dynamically via reloading +#: the config or remote control is undefined. + +# underline_exclusion 1 + +#: By default kitty renders gaps in underlines when they overlap with +#: descenders (the parts of letters below the baseline, such as for y, +#: q, p etc.). This option controls the thickness of the gaps. It can +#: be either a unitless number in which case it is a fraction of the +#: underline thickness as specified in the font or it can have a +#: suffix of px for pixels or pt for points. Set to zero to disable +#: the gaps. Changing this option dynamically via reloading the config +#: or remote control is undefined. + +# text_composition_strategy platform + +#: Control how kitty composites text glyphs onto the background color. +#: The default value of platform tries for text rendering as close to +#: "native" for the platform kitty is running on as possible. + +#: A value of legacy uses the old (pre kitty 0.28) strategy for how +#: glyphs are composited. This will make dark text on light +#: backgrounds look thicker and light text on dark backgrounds +#: thinner. It might also make some text appear like the strokes are +#: uneven. + +#: You can fine tune the actual contrast curve used for glyph +#: composition by specifying up to two space-separated numbers for +#: this setting. + +#: The first number is the gamma adjustment, which controls the +#: thickness of dark text on light backgrounds. Increasing the value +#: will make text appear thicker. The default value for this is 1.0 on +#: Linux and 1.7 on macOS. Valid values are 0.01 and above. The result +#: is scaled based on the luminance difference between the background +#: and the foreground. Dark text on light backgrounds receives the +#: full impact of the curve while light text on dark backgrounds is +#: affected very little. + +#: The second number is an additional multiplicative contrast. It is +#: percentage ranging from 0 to 100. The default value is 0 on Linux +#: and 30 on macOS. + +#: If you wish to achieve similar looking thickness in light and dark +#: themes, a good way to experiment is start by setting the value to +#: 1.0 0 and use a dark theme. Then adjust the second parameter until +#: it looks good. Then switch to a light theme and adjust the first +#: parameter until the perceived thickness matches the dark theme. + +# text_fg_override_threshold 0 + +#: A setting to prevent low contrast between foreground and background +#: colors. Useful when working with applications that use colors that +#: do not contrast well with your preferred color scheme. The default +#: value is 0, which means no color overriding is performed. There are +#: two modes of operation: + +#: A value with the suffix ratio represents the minimum accepted +#: contrast ratio between the foreground and background color. +#: Possible values range from 0.0 ratio to 21.0 ratio. For example, to +#: meet WCAG level AA +#: +#: a value of 4.5 ratio can be provided. The algorithm is implemented +#: using HSLuv which enables it to change the +#: perceived lightness of a color just as much as needed without +#: really changing its hue and saturation. + +#: A value with the suffix % represents the minimum accepted +#: difference in luminance between the foreground and background +#: color, below which kitty will override the foreground color. It is +#: percentage ranging from 0 % to 100 %. If the difference in +#: luminance of the foreground and background is below this threshold, +#: the foreground color will be set to white if the background is dark +#: or black if the background is light. + +#: WARNING: Some programs use characters (such as block characters) +#: for graphics display and may expect to be able to set the +#: foreground and background to the same color (or similar colors). If +#: you see unexpected stripes, dots, lines, incorrect color, no color +#: where you expect color, or any kind of graphic display problem try +#: setting text_fg_override_threshold to 0 to see if this is the cause +#: of the problem or consider using the ratio mode of operation +#: described above instead of the % mode of operation. + +#: }}} + +#: Text cursor customization {{{ + +# cursor #cccccc + +#: Default text cursor color. If set to the special value none the +#: cursor will be rendered with a "reverse video" effect. Its 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. Note that +#: some themes set this value, so if you want to override it, place +#: your value after the lines where the theme file is included. + +# 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. Note that some themes set this value, +#: so if you want to override it, place your value after the lines +#: where the theme file is included. + +# 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_shape_unfocused hollow + +#: Defines the text cursor shape when the OS window is not focused. +#: The unfocused cursor shape can be one of block, beam, underline, +#: hollow and unchanged (leave the cursor shape as it is). + +# 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. You can +#: also animate the cursor blink by specifying an easing function. For +#: example, setting this to option to 0.5 ease-in-out will cause the +#: cursor blink to be animated over a second, in the first half of the +#: second it will go from opaque to transparent and then back again +#: over the next half. You can specify different easing functions for +#: the two halves, for example: -1 linear ease-out. kitty supports all +#: the CSS easing functions . Note that turning on animations +#: uses extra power as it means the screen is redrawn multiple times +#: per blink interval. See also, cursor_stop_blinking_after. This +#: setting also controls blinking text, which blinks in exact rhythm +#: with the cursor. + +# 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. This +#: setting also controls blinking text, which blinks in exact rhythm +#: with the cursor. + +# cursor_trail 0 + +#: Set this to a value larger than zero to enable a "cursor trail" +#: animation. This is an animation that shows a "trail" following the +#: movement of the text cursor. It makes it easy to follow large +#: cursor jumps and makes for a cool visual effect of the cursor +#: zooming around the screen. The actual value of this option controls +#: when the animation is triggered. It is a number of milliseconds. +#: The trail animation only follows cursors that have stayed in their +#: position for longer than the specified number of milliseconds. This +#: prevents trails from appearing for cursors that rapidly change +#: their positions during UI updates in complex applications. See +#: cursor_trail_decay to control the animation speed and +#: cursor_trail_start_threshold to control when a cursor trail is +#: started. + +# cursor_trail_decay 0.1 0.4 + +#: Controls the decay times for the cursor trail effect when the +#: cursor_trail is enabled. This option accepts two positive float +#: values specifying the fastest and slowest decay times in seconds. +#: The first value corresponds to the fastest decay time (minimum), +#: and the second value corresponds to the slowest decay time +#: (maximum). The second value must be equal to or greater than the +#: first value. Smaller values result in a faster decay of the cursor +#: trail. Adjust these values to control how quickly the cursor trail +#: fades away. + +# cursor_trail_start_threshold 2 + +#: Set the distance threshold for starting the cursor trail. This +#: option accepts a positive integer value that represents the minimum +#: number of cells the cursor must move before the trail is started. +#: When the cursor moves less than this threshold, the trail is +#: skipped, reducing unnecessary cursor trail animation. + +# cursor_trail_color none + +#: Set the color of the cursor trail when cursor_trail is enabled. If +#: set to 'none' (the default), the cursor trail will use the cursor's +#: background color. Otherwise, specify a color value (e.g., #ff0000 +#: for red, or a named color like 'red'). This allows you to customize +#: the appearance of the cursor trail independently of the cursor +#: color. + +#: }}} + +#: 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. + +# scrollbar scrolled + +#: Control when the scrollbar is displayed. + +#: scrolled +#: means when the scrolling backwards has started. +#: hovered +#: means when the mouse is hovering on the right edge of the window. +#: scrolled-and-hovered +#: means when the mouse is over the scrollbar region *and* scrolling backwards has started. +#: always +#: means whenever any scrollback is present +#: never +#: means disable the scrollbar. + +# scrollbar_interactive yes + +#: If disabled, the scrollbar will not be controllable via th emouse +#: and all mouse events will pass through the scrollbar. + +# scrollbar_jump_on_click yes + +#: When enabled clicking in the scrollbar track will cause the scroll +#: position to jump to the clicked location, otherwise the scroll +#: position will only move towards the position by a single screenful, +#: which is how traditional scrollbars behave. + +# scrollbar_width 0.5 + +#: The width of the scroll bar in units of cell width. + +# scrollbar_hover_width 1 + +#: The width of the scroll bar when the mouse is hovering over it, in +#: units of cell width. + +# scrollbar_handle_opacity 0.5 + +#: The opacity of the scrollbar handle, 0 being fully transparent and +#: 1 being full opaque. + +# scrollbar_radius 0.3 + +#: The radius (curvature) of the scrollbar handle in units of cell +#: width. Should be less than scrollbar_width. + +# scrollbar_gap 0.1 + +#: The gap between the scrollbar and the window edge in units of cell +#: width. + +# scrollbar_min_handle_height 1 + +#: The minimum height of the scrollbar handle in units of cell height. +#: Prevents the handle from becoming too small when there is a lot of +#: scrollback. + +# scrollbar_hitbox_expansion 0.25 + +#: The extra area around the handle to allow easier grabbing of the +#: scollbar in units of cell width. + +# scrollbar_track_opacity 0 + +#: The opacity of the scrollbar track, 0 being fully transparent and 1 +#: being full opaque. + +# scrollbar_track_hover_opacity 0.1 + +#: The opacity of the scrollbar track when the mouse is over the +#: scrollbar, 0 being fully transparent and 1 being full opaque. + +# scrollbar_handle_color foreground + +#: The color of the scrollbar handle. A value of foreground means to +#: use the current foreground text color, a value of +#: selection_background means to use the current selection background +#: color. Also, you can use an arbitrary color, such as #12af59 or +#: red. + +# scrollbar_track_color foreground + +#: The color of the scrollbar track. A value of foreground means to +#: use the current foreground text color, a value of +#: selection_background means to use the current selection background +#: color. Also, you can use an arbitrary color, such as #12af59 or +#: red. + +# 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. + +#: If you would rather use neovim to view the scrollback, use +#: something like this:: + +#: scrollback_pager nvim --cmd 'set eventignore=FileType' +'nnoremap q ZQ' +'call nvim_open_term(0, {})' +'set nomodified nolist' +'$' - + +#: The above works for neovim 0.12 and newer. There is also a +#: dedicated plugin kitty-scrollback.nvim +#: you can use +#: with more features that works with older neovim as well. + +# 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 approximately +#: 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. + +#: By default, once the cursor is hidden, it is immediately unhidden +#: on any further mouse events. + +#: Two formats are supported: +#: - +#: - + +#: To change the unhide behavior, the optional parameters , , and may be set. + +#: +#: Waits for the specified number of seconds after mouse events before unhiding the +#: mouse cursor. Set to zero to unhide mouse cursor immediately on mouse activity. +#: This is useful to prevent the mouse cursor from unhiding on accidental swipes on +#: the trackpad. + +#: +#: Sets the threshold of mouse activity required to unhide the mouse cursor, when +#: the option is non-zero. When is zero, this has no +#: effect. + +#: For example, if is 40 and is 2.5, when kitty +#: detects a mouse event, it records the number of mouse events in the next 2.5 +#: seconds, and checks if that exceeds 40 * 2.5 = 100. If it does, then the mouse +#: cursor is unhidden, otherwise nothing happens. + +#: +#: Controls what mouse events may unhide the mouse cursor. If enabled, both scroll +#: and movement events may unhide the cursor. If disabled, only mouse movements can +#: unhide the cursor. + +#: Examples of valid values: +#: - 0.0 +#: - 1.0 +#: - -1.0 +#: - 0.1 3.0 40 yes + +# 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 will +#: 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. See also the +#: underline_hyperlinks option to control how hyperlinks (as opposed +#: to plain text URLs) are displayed. + +# 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. Additionally, newlines are allowed (but +#: stripped). This is to accommodate programs such as mutt that add +#: hard line breaks even for continued lines. \n can be added to this +#: option to disable this behavior. Special characters can be +#: specified using backslash escapes, to specify a backslash use a +#: double backslash. + +# 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. + +# underline_hyperlinks hover + +#: Control how hyperlinks are underlined. They can either be +#: underlined on mouse hover, always (i.e. permanently underlined) or +#: never which means that kitty will not apply any underline styling +#: to hyperlinks. Note that the value of always only applies to real +#: (OSC 8) hyperlinks not text that is detected to be a URL on mouse +#: hover. Uses the url_style and url_color settings for the underline +#: style. Note that reloading the config and changing this value +#: to/from always will only affect text subsequently received by +#: kitty. + +# 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. + +# clear_selection_on_clipboard_loss no + +#: When the contents of the clipboard no longer reflect the current +#: selection, clear it. This is primarily useful on platforms such as +#: Linux where selecting text automatically copies it to a special +#: "primary selection" clipboard or if you have copy_on_select set to +#: clipboard. + +#: Note that on macOS the system does not provide notifications when +#: the clipboard owner is changed, so there, copying to clipboard in a +#: non-kitty application will not clear selections even if +#: copy_on_select is enabled. + +# paste_actions quote-urls-at-prompt,confirm + +#: 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). +#: replace-dangerous-control-codes +#: Replace dangerous control codes from pasted text, without confirmation. +#: replace-newline +#: Replace the newline character from pasted text, without confirmation. +#: confirm: +#: Confirm the paste if the text to be pasted contains any terminal control codes +#: as this can be dangerous, leading to code execution if the shell/program running +#: in the terminal does not properly handle these. +#: confirm-if-large +#: Confirm the paste if it is very large (larger than 16KB) as pasting +#: large amounts of text into shells can be very slow. +#: 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. +#: no-op: +#: Has no effect. + +# 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. On macOS, this will also cause the OS Window under +#: the mouse to be focused automatically when the mouse enters it. + +# pointer_shape_when_grabbed arrow + +#: The shape of the mouse pointer when the program running in the +#: terminal grabs the mouse. + +# default_pointer_shape beam + +#: The default shape of the mouse pointer. + +# pointer_shape_when_dragging beam crosshair + +#: The default shape of the mouse pointer when dragging across text. +#: The optional second value sets the shape when dragging in +#: rectangular selection mode. + +#: 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 a button, map it to nothing. For example, to +#: disable opening of URLs with a plain click:: + +#: mouse_map left click ungrabbed + +#: 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. If you +#:: would like to select the word at the point and then extend to the +#:: rest of the line, change `line_from_point` to +#:: `word_and_line_from_point`. + +#: 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. If you would like to select the word at the point and +#:: then extend to the rest of the line, change `line_from_point` to +#:: `word_and_line_from_point`. + +#: 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. +#: This setting is ignored when the input buffer is almost full. + +# 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. +#: The flash is animated, fading in and out over the specified +#: duration. The easing function used for the fading can be +#: controlled. For example, 2.0 linear will casuse the flash to fade +#: in and out linearly. The default if unspecified is to use ease-in- +#: out which fades slowly at the start, middle and end. You can +#: specify different easing functions for the fade-in and fade-out +#: parts, like this: 2.0 ease-in linear. kitty supports all the CSS +#: easing functions . + +# 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). Relative +#: paths are resolved with respect to the kitty config directory. + +# linux_bell_theme __custom + +#: The XDG Sound Theme kitty will use to play the bell sound. On +#: Wayland, when the compositor supports it, it is asked to play the +#: system default bell sound, and this setting has no effect. Note +#: that Hyprland claims to support this protocol, but does not +#: actually play a sound +#: . This setting +#: defaults to the custom theme name specified in the XDG Sound theme +#: specification , falling back to the default +#: freedesktop theme if it does not exist. To change your sound theme +#: desktop wide, create +#: :file:~/.local/share/sounds/__custom/index.theme` with the +#: contents: + +#: [Sound Theme] + +#: Inherits=name-of-the-sound-theme-you-want-to-use + +#: Replace name-of-the-sound-theme-you-want-to-use with the actual +#: theme name. Now all compliant applications should use sounds from +#: this theme. + +#: }}} + +#: 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. + +# remember_window_position no + +#: If enabled, the OS Window position will be remembered so that new +#: instances of kitty will have the same position as the previous +#: instance. If disabled, the OS Window will be placed by the window +#: manager. Note that remembering of position only works if the +#: underlying desktop environment/window manager supports it. It never +#: works on Wayland. See also kitty --position to specify the position +#: when launching kitty. + +# 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. + +# single_window_padding_width -1 + +#: The window padding to use when only a single window is visible (in +#: pts). Negative values will cause the value of window_padding_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. + +# 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. The value can be one of: top- +#: left, top, top-right, left, center, right, bottom-left, bottom, +#: bottom-right. + +# 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 and titlebar-and-corners can be used +#: to only hide the titlebar and the rounded corners. 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. When using titlebar- +#: only, it is useful to also set window_margin_width and +#: placement_strategy to prevent the rounded corners from clipping +#: text. Or use titlebar-and-corners. + +# window_logo_path none + +#: Path to a logo image. Must be in PNG/JPEG/WEBP/GIF/TIFF/BMP 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. + +# window_logo_scale 0 + +#: The percentage (0-100] of the window size to which the logo should +#: scale. Using a single number means the logo is scaled to that +#: percentage of the shortest window dimension, while preserving +#: aspect ratio of the logo image. + +#: Using two numbers means the width and height of the logo are scaled +#: to the respective percentage of the window's width and height. + +#: Using zero as the percentage disables scaling in that dimension. A +#: single zero (the default) disables all scaling of the window logo. + +# resize_debounce_time 0.1 0.5 + +#: The time to wait (in seconds) before asking the program running in +#: kitty to resize and redraw the screen during a live resize of the +#: OS window, when no new resize events have been received, i.e. when +#: resizing is either paused or finished. On platforms such as macOS, +#: where the operating system sends events corresponding to the start +#: and end of a live resize, the second number is used for redraw- +#: after-pause since kitty can distinguish between a pause and end of +#: resizing. On such systems the first number is ignored and redraw is +#: immediate after end of resize. On other systems only the first +#: number is used so that kitty is "ready" quickly after the end of +#: resizing, while not also continuously redrawing, to save energy. + +# 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. You can also have +#: backgrounded jobs prevent closing, by adding count-background to +#: the setting, for example: -1 count-background. 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 fade + +#: 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_filter + +#: A search expression . Only tabs that match this expression will +#: be shown in the tab bar. The currently active tab is always shown, +#: regardless of whether it matches or not. When using this option, +#: the tab bar may be displayed with less tabs than specified in +#: tab_bar_min_tabs, as evaluating the filter is expensive and is done +#: only at display time. This is most useful when using sessions +#: . An expression of +#: session:~ or session:^$ will show only tabs that belong to the +#: current session or no session. The various tab navigation actions +#: such as goto_tab, next_tab, previous_tab, etc. are automatically +#: restricted to work only on matching tabs. + +# 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}{tab.last_focused_progress_percent}{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 usable with goto_tab N goto_tab shortcuts. +#: layout_name +#: The current layout name. +#: session_name +#: The name of the kitty session file from which this tab was created, if any. +#: active_session_name +#: The name of the kitty session file from which the active window in this tab was created, if any. +#: num_windows +#: The number of windows in the tab. +#: num_window_groups +#: The number of window groups (a window group is a window and all of its overlay windows) in the tab. +#: tab.active_wd +#: The working directory of the currently active window in the tab +#: (expensive, requires syscall). Use tab.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 +#: tab.active_oldest_exe for the oldest foreground process. +#: max_title_length +#: The maximum title length available. +#: keyboard_mode +#: The name of the current keyboard mode or the empty string if no keyboard mode is active. +#: tab.last_focused_progress_percent +#: If a command running in a window reports the progress for a task, show this progress as a percentage +#: from the most recently focused window in the tab. Empty string if no progress is reported. +#: tab.progress_percent +#: If a command running in a window reports the progress for a task, show this progress as a percentage +#: from all windows in the tab, averaged. Empty string is no progress is reported. +#: custom +#: This will call a function named draw_title(data) from the file tab_bar.py placed in +#: the kitty config directory. The function will be passed a dictionary of data, the same data that +#: can be used in this template. It can then perform arbitrarily complex processing and return a string. +#: For example: tab_title_template "{custom}" will use the output of the function as the tab title. +#: Any print statements in the draw_title() will print to the STDOUT of the kitty process, useful +#: for debugging. + + +#: 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}`. +#: The 256 eight terminal colors can be used as `fmt.fg.color0` +#: through `fmt.fg.color255`. 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. See also transparent_background_colors. Be aware that using +#: a value less than 1.0 is a (possibly significant) performance hit. +#: When using a low value for this setting, it is desirable that you +#: set the background color to a color the matches the general color +#: of the desktop background, for best text rendering. + +#: 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_blur 0 + +#: Set to a positive value to enable background blur (blurring of the +#: visuals behind a transparent window) on platforms that support it. +#: Only takes effect when background_opacity is less than one. On +#: macOS, this will also control the blur radius (amount of blurring). +#: Setting it to too high a value will cause severe performance issues +#: and/or rendering artifacts. Usually, values up to 64 work well. +#: Note that this might cause performance issues, depending on how the +#: platform implements it, so use with care. Currently supported on +#: macOS and KDE. + +# transparent_background_colors + +#: A space separated list of upto 7 colors, with opacity. When the +#: background color of a cell matches one of these colors, it is +#: rendered semi-transparent using the specified opacity. + +#: Useful in more complex UIs like editors where you could want more +#: than a single background color to be rendered as transparent, for +#: instance, for a cursor highlight line background or a highlighted +#: block. Terminal applications can set this color using The kitty +#: color control escape code. + +#: The syntax for specifying colors is: color@opacity, where the +#: @opacity part is optional. When unspecified, the value of +#: background_opacity is used. For example:: + +#: transparent_background_colors red@0.5 #00ff00@0.3 + +#: Note that you must also set background_opacity to something less +#: than 1 for this setting to work properly. + +# 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_image none + +#: Path to a background image. Must be in PNG/JPEG/WEBP/TIFF/GIF/BMP +#: format. Note that when using auto_color_scheme +#: +#: this option is overridden by the color scheme file and must be set +#: inside it to take effect. + +# background_image_layout tiled + +#: Whether to tile, scale or clamp the background image. The value can +#: be one of tiled, mirror-tiled, scaled, clamped, centered or +#: cscaled. The scaled and cscaled values scale the image to the +#: window size, with cscaled preserving the image aspect ratio. Note +#: that when using auto_color_scheme +#: +#: this option is overridden by the color scheme file and must be set +#: inside it to take effect. + +# background_image_linear no + +#: When background image is scaled, whether linear interpolation +#: should be used. Note that when using auto_color_scheme +#: +#: this option is overridden by the color scheme file and must be set +#: inside it to take effect. + +# 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_image is set. Note that when using auto_color_scheme +#: +#: this option is overridden by the color scheme file and must be set +#: inside it to take effect. + +# 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. Note that when +#: using auto_color_scheme +#: +#: this option is overridden by the color scheme file and must be set +#: inside it to take effect. + +# dim_opacity 0.4 + +#: 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 +#: the value of of the SHELL environment variable or if unset, +#: 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. Environment +#: variables are expanded in this setting. + +# 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 (usually the shell) exits. +#: With the default value no, the terminal will remain open when the +#: child exits as long as there are still other 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:: + +#: kitten @ --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. For example:: + +#: remote_control_password "my passphrase" my_rc_command_checker.py + +#: Relative paths are resolved from the kitty configuration directory. +#: See rc_custom_auth for details. + +# 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 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. For 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. +#: For TCP sockets such as tcp:localhost:0 a random port is always +#: used even if a non-zero port number is specified. 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. + +# filter_notification + +#: Specify rules to filter out notifications sent by applications +#: running in kitty. Can be specified multiple times to create +#: multiple filter rules. A rule specification is of the form +#: field:regexp. A filter rule can match on any of the fields: title, +#: body, app, type. The special value of all filters out all +#: notifications. Rules can be combined using Boolean operators. Some +#: examples:: + +#: filter_notification title:hello or body:"abc.*def" +#: # filter out notification from vim except for ones about updates, (?i) +#: # makes matching case insensitive. +#: filter_notification app:"[ng]?vim" and not body:"(?i)update" +#: # filter out all notifications +#: filter_notification all + +#: The field app is the name of the application sending the +#: notification and type is the type of the notification. Not all +#: applications will send these fields, so you can also match on the +#: title and body of the notification text. More sophisticated +#: programmatic filtering and custom actions on notifications can be +#: done by creating a notifications.py file in the kitty config +#: directory (~/.config/kitty). An annotated sample is available +#: . + +# 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 =none 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. Note that if kitty is invoked with command +#: line arguments specifying a command to run, this option is ignored. + +# 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, no-sudo. 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. +#: Only the first valid match, in the order specified, is sourced. + +# notify_on_cmd_finish never + +#: Show a desktop notification when a long-running command finishes +#: (needs shell_integration). The possible values are: + +#: never +#: Never send a notification. + +#: unfocused +#: Only send a notification when the window does not have keyboard focus. + +#: invisible +#: Only send a notification when the window both is unfocused and not visible +#: to the user, for example, because it is in an inactive tab or its OS window +#: is not currently visible (on platforms that support OS window visibility querying +#: this considers an OS Window visible iff it is active). + +#: always +#: Always send a notification, regardless of window state. + +#: There are two optional arguments: + +#: First, the minimum duration for what is considered a long running +#: command. The default is 5 seconds. Specify a second argument to set +#: the duration. For example: invisible 15. Do not set the value too +#: small, otherwise a command that launches a new OS Window and exits +#: will spam a notification. + +#: Second, the action to perform. The default is notify. The possible +#: values are: + +#: notify +#: Send a desktop notification. The subsequent arguments are optional and specify when +#: the notification is automatically cleared. The set of possible events when the notification is +#: cleared are: focus and next. focus means that when the notification +#: policy is unfocused or invisible the notification is automatically cleared +#: when the window regains focus. The value of next means that the previous notification +#: is cleared when the next notification is shown. The default when no arguments are specified +#: is: focus next. + +#: bell +#: Ring the terminal bell. + +#: notify-bell +#: Send a desktop notification and ring the terminal bell. +#: The arguments are the same as for `notify`. + +#: command +#: Run a custom command. All subsequent arguments are the cmdline to run. + +#: Some more examples:: + +#: # Send a notification when a command takes more than 5 seconds in an unfocused window +#: notify_on_cmd_finish unfocused +#: # Send a notification when a command takes more than 10 seconds in a invisible window +#: notify_on_cmd_finish invisible 10.0 +#: # Ring a bell when a command takes more than 10 seconds in a invisible window +#: notify_on_cmd_finish invisible 10.0 bell +#: # Run 'notify-send' when a command takes more than 10 seconds in a invisible window +#: # Here %c is replaced by the current command line and %s by the job exit code +#: notify_on_cmd_finish invisible 10.0 command notify-send "job finished with status: %s" %c +#: # Do not clear previous notification when next command finishes or window regains focus +#: notify_on_cmd_finish invisible 5.0 notify + +# 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. + +# terminfo_type path + +#: The value of the TERMINFO environment variable to set. This +#: variable is used by programs running in the terminal to search for +#: terminfo databases. The default value of path causes kitty to set +#: it to a filesystem location containing the kitty terminfo database. +#: A value of direct means put the entire database into the env var +#: directly. This can be useful when connecting to containers, for +#: example. But, note that not all software supports this. A value of +#: none means do not touch the variable. + +# forward_stdio no + +#: Forward STDOUT and STDERR of the kitty process to child processes. +#: This is useful for debugging as it allows child processes to print +#: to kitty's STDOUT directly. For example, echo hello world +#: >&$KITTY_STDIO_FORWARDED in a shell will print to the parent +#: kitty's STDOUT. Sets the KITTY_STDIO_FORWARDED=fdnum environment +#: variable so child processes know about the forwarding. Note that on +#: macOS this prevents the shell from being run via the login utility +#: so getlogin() will not work in programs run in this session. + +# menu_map + +#: Specify entries for various menus in kitty. Currently only the +#: global menubar on macOS is supported. For example:: + +#: menu_map global "Actions::Launch something special" launch --hold --type=os-window sh -c "echo hello world" + +#: This will create a menu entry named "Launch something special" in +#: an "Actions" menu in the macOS global menubar. Sub-menus can be +#: created by adding more levels separated by the :: characters. + +#: }}} + +#: 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 colors, a value of background means +#: to use the background color of the currently active kitty 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. + +# 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. + +# 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. Note that in modern kitty, +#: this option is obsolete (although still supported). Consider using +#: text_composition_strategy instead. + +# 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. + +# wayland_enable_ime yes + +#: Enable Input Method Extension on Wayland. This is typically used +#: for inputting text in East Asian languages. However, its +#: implementation in Wayland is often buggy and introduces latency +#: into the input loop, so disable this if you know you dont need it. +#: Changing this option by reloading the config is not supported, it +#: will not have any effect. + +#: }}} + +#: 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, ⌘). + +#: Simple shortcut mapping is done with the map directive. For full +#: details on advanced mapping including modal and per application +#: maps, see mapping . Some +#: quick examples to illustrate common tasks:: + +#: # unmap a keyboard shortcut, passing it to the program running in kitty +#: map kitty_mod+space +#: # completely ignore a keyboard event +#: map ctrl+alt+f1 discard_event +#: # combine multiple actions +#: map kitty_mod+e combine : new_window : next_layout +#: # multi-key shortcuts +#: map ctrl+x>ctrl+y>z action + +#: 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 + +#:: 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. The copy_or_noop +#:: action will copy if there is a selection and pass the key through +#:: to the application running in the terminal if there is no +#:: selection. + +#: Copy to clipboard or pass through + +# map cmd+c copy_or_noop + +#: 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 + +#: Eighth 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, -2 being the tab active before the previously active tab and +#: so on. Any number larger than the number of tabs goes to the last +#: tab and any number less than the number of previously used tabs in +#: the history goes to the oldest previously used tab in the history:: + +#: 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 + +#: To setup shortcuts to multiply/divide the font size:: + +#: map kitty_mod+f6 change_font_size all *2.0 +#: map kitty_mod+f6 change_font_size all /2.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 +#:: your default editor 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 on screen up to the line with the cursor or the start of the current prompt (needs shell integration) +#:: map f1 clear_terminal to_cursor active +#:: # Same as above except cleared lines are moved into scrollback +#:: map f1 clear_terminal to_cursor_scroll active +#:: # Erase the last command and its output (needs shell integration to work) +#:: map f1 clear_terminal last_command active + +#:: If you want to operate on all kitty windows instead of just the +#:: current one, use all instead of active. + +#:: Some useful functions that can be defined in the shell rc files +#:: to perform various kinds of clearing of the current window: + +#:: .. code-block:: sh + +#:: clear-only-screen() { +#:: printf "\e[H\e[2J" +#:: } + +#:: clear-screen-and-scrollback() { +#:: printf "\e[H\e[3J" +#:: } + +#:: clear-screen-saving-contents-in-scrollback() { +#:: printf "\e[H\e[22J" +#:: } + +#:: For instance, using these escape codes, it is 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 ZSH, in ~/.zshrc, add: + +#:: .. code-block:: zsh + +#:: ctrl_l() { +#:: builtin print -rn -- $'\r\e[0J\e[H\e[22J' >"$TTY" +#:: builtin zle .reset-prompt +#:: builtin zle -R +#:: } +#:: zle -N ctrl_l +#:: bindkey '^l' ctrl_l + +#:: Alternatively, you can just add map ctrl+l clear_terminal +#:: to_cursor_scroll active to kitty.conf which works with no changes +#:: to the shell rc files, but only clears up to the prompt, it does +#:: not clear any text at the prompt itself. + +#: Clear to start + +# map cmd+k clear_terminal to_cursor active + +#: Clear scrollback + +# map option+cmd+k clear_terminal scrollback active + +#: Clear the last command + +# map cmd+l clear_terminal last_command active + +#: Clear screen + +# map cmd+ctrl+l clear_terminal to_cursor_scroll 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 +#:: `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_FONTS +font_family family="JetBrainsMono Nerd Font Mono" +bold_font auto +italic_font auto +bold_italic_font auto +# END_KITTY_FONTS \ No newline at end of file diff --git a/configs/kitty/kitty.conf.bak b/configs/kitty/kitty.conf.bak new file mode 100644 index 0000000..0ac5cb0 --- /dev/null +++ b/configs/kitty/kitty.conf.bak @@ -0,0 +1,2930 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +# BEGIN_KITTY_THEME +# Catppuccin-Macchiato +include current-theme.conf +# END_KITTY_THEME + +#: 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. The easiest way to select fonts is to run the `kitten +#: choose-fonts` command which will present a nice UI for you to +#: select the fonts you want with previews and support for selecting +#: variable fonts and font features. If you want to learn to select +#: fonts manually, read the font specification syntax +#: . + +# font_size 11.0 + +#: 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 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. Note +#: that for the main fonts, features can be specified when selecting +#: the font using the choose-fonts kitten. This setting is useful for +#: fallback fonts. + +#: 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 the `fc-scan file.ttf` +#: command on Linux or the `Font Book tool on macOS +#: `__. + +#: 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. Changing this option dynamically via reloading +#: the config or remote control is undefined. + +# underline_exclusion 1 + +#: By default kitty renders gaps in underlines when they overlap with +#: descenders (the parts of letters below the baseline, such as for y, +#: q, p etc.). This option controls the thickness of the gaps. It can +#: be either a unitless number in which case it is a fraction of the +#: underline thickness as specified in the font or it can have a +#: suffix of px for pixels or pt for points. Set to zero to disable +#: the gaps. Changing this option dynamically via reloading the config +#: or remote control is undefined. + +# text_composition_strategy platform + +#: Control how kitty composites text glyphs onto the background color. +#: The default value of platform tries for text rendering as close to +#: "native" for the platform kitty is running on as possible. + +#: A value of legacy uses the old (pre kitty 0.28) strategy for how +#: glyphs are composited. This will make dark text on light +#: backgrounds look thicker and light text on dark backgrounds +#: thinner. It might also make some text appear like the strokes are +#: uneven. + +#: You can fine tune the actual contrast curve used for glyph +#: composition by specifying up to two space-separated numbers for +#: this setting. + +#: The first number is the gamma adjustment, which controls the +#: thickness of dark text on light backgrounds. Increasing the value +#: will make text appear thicker. The default value for this is 1.0 on +#: Linux and 1.7 on macOS. Valid values are 0.01 and above. The result +#: is scaled based on the luminance difference between the background +#: and the foreground. Dark text on light backgrounds receives the +#: full impact of the curve while light text on dark backgrounds is +#: affected very little. + +#: The second number is an additional multiplicative contrast. It is +#: percentage ranging from 0 to 100. The default value is 0 on Linux +#: and 30 on macOS. + +#: If you wish to achieve similar looking thickness in light and dark +#: themes, a good way to experiment is start by setting the value to +#: 1.0 0 and use a dark theme. Then adjust the second parameter until +#: it looks good. Then switch to a light theme and adjust the first +#: parameter until the perceived thickness matches the dark theme. + +# text_fg_override_threshold 0 + +#: A setting to prevent low contrast between foreground and background +#: colors. Useful when working with applications that use colors that +#: do not contrast well with your preferred color scheme. The default +#: value is 0, which means no color overriding is performed. There are +#: two modes of operation: + +#: A value with the suffix ratio represents the minimum accepted +#: contrast ratio between the foreground and background color. +#: Possible values range from 0.0 ratio to 21.0 ratio. For example, to +#: meet WCAG level AA +#: +#: a value of 4.5 ratio can be provided. The algorithm is implemented +#: using HSLuv which enables it to change the +#: perceived lightness of a color just as much as needed without +#: really changing its hue and saturation. + +#: A value with the suffix % represents the minimum accepted +#: difference in luminance between the foreground and background +#: color, below which kitty will override the foreground color. It is +#: percentage ranging from 0 % to 100 %. If the difference in +#: luminance of the foreground and background is below this threshold, +#: the foreground color will be set to white if the background is dark +#: or black if the background is light. + +#: WARNING: Some programs use characters (such as block characters) +#: for graphics display and may expect to be able to set the +#: foreground and background to the same color (or similar colors). If +#: you see unexpected stripes, dots, lines, incorrect color, no color +#: where you expect color, or any kind of graphic display problem try +#: setting text_fg_override_threshold to 0 to see if this is the cause +#: of the problem or consider using the ratio mode of operation +#: described above instead of the % mode of operation. + +#: }}} + +#: Text cursor customization {{{ + +# cursor #cccccc + +#: Default text cursor color. If set to the special value none the +#: cursor will be rendered with a "reverse video" effect. Its 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. Note that +#: some themes set this value, so if you want to override it, place +#: your value after the lines where the theme file is included. + +# 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. Note that some themes set this value, +#: so if you want to override it, place your value after the lines +#: where the theme file is included. + +# 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_shape_unfocused hollow + +#: Defines the text cursor shape when the OS window is not focused. +#: The unfocused cursor shape can be one of block, beam, underline, +#: hollow and unchanged (leave the cursor shape as it is). + +# 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. You can +#: also animate the cursor blink by specifying an easing function. For +#: example, setting this to option to 0.5 ease-in-out will cause the +#: cursor blink to be animated over a second, in the first half of the +#: second it will go from opaque to transparent and then back again +#: over the next half. You can specify different easing functions for +#: the two halves, for example: -1 linear ease-out. kitty supports all +#: the CSS easing functions . Note that turning on animations +#: uses extra power as it means the screen is redrawn multiple times +#: per blink interval. See also, cursor_stop_blinking_after. This +#: setting also controls blinking text, which blinks in exact rhythm +#: with the cursor. + +# 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. This +#: setting also controls blinking text, which blinks in exact rhythm +#: with the cursor. + +# cursor_trail 0 + +#: Set this to a value larger than zero to enable a "cursor trail" +#: animation. This is an animation that shows a "trail" following the +#: movement of the text cursor. It makes it easy to follow large +#: cursor jumps and makes for a cool visual effect of the cursor +#: zooming around the screen. The actual value of this option controls +#: when the animation is triggered. It is a number of milliseconds. +#: The trail animation only follows cursors that have stayed in their +#: position for longer than the specified number of milliseconds. This +#: prevents trails from appearing for cursors that rapidly change +#: their positions during UI updates in complex applications. See +#: cursor_trail_decay to control the animation speed and +#: cursor_trail_start_threshold to control when a cursor trail is +#: started. + +# cursor_trail_decay 0.1 0.4 + +#: Controls the decay times for the cursor trail effect when the +#: cursor_trail is enabled. This option accepts two positive float +#: values specifying the fastest and slowest decay times in seconds. +#: The first value corresponds to the fastest decay time (minimum), +#: and the second value corresponds to the slowest decay time +#: (maximum). The second value must be equal to or greater than the +#: first value. Smaller values result in a faster decay of the cursor +#: trail. Adjust these values to control how quickly the cursor trail +#: fades away. + +# cursor_trail_start_threshold 2 + +#: Set the distance threshold for starting the cursor trail. This +#: option accepts a positive integer value that represents the minimum +#: number of cells the cursor must move before the trail is started. +#: When the cursor moves less than this threshold, the trail is +#: skipped, reducing unnecessary cursor trail animation. + +# cursor_trail_color none + +#: Set the color of the cursor trail when cursor_trail is enabled. If +#: set to 'none' (the default), the cursor trail will use the cursor's +#: background color. Otherwise, specify a color value (e.g., #ff0000 +#: for red, or a named color like 'red'). This allows you to customize +#: the appearance of the cursor trail independently of the cursor +#: color. + +#: }}} + +#: 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. + +# scrollbar scrolled + +#: Control when the scrollbar is displayed. + +#: scrolled +#: means when the scrolling backwards has started. +#: hovered +#: means when the mouse is hovering on the right edge of the window. +#: scrolled-and-hovered +#: means when the mouse is over the scrollbar region *and* scrolling backwards has started. +#: always +#: means whenever any scrollback is present +#: never +#: means disable the scrollbar. + +# scrollbar_interactive yes + +#: If disabled, the scrollbar will not be controllable via th emouse +#: and all mouse events will pass through the scrollbar. + +# scrollbar_jump_on_click yes + +#: When enabled clicking in the scrollbar track will cause the scroll +#: position to jump to the clicked location, otherwise the scroll +#: position will only move towards the position by a single screenful, +#: which is how traditional scrollbars behave. + +# scrollbar_width 0.5 + +#: The width of the scroll bar in units of cell width. + +# scrollbar_hover_width 1 + +#: The width of the scroll bar when the mouse is hovering over it, in +#: units of cell width. + +# scrollbar_handle_opacity 0.5 + +#: The opacity of the scrollbar handle, 0 being fully transparent and +#: 1 being full opaque. + +# scrollbar_radius 0.3 + +#: The radius (curvature) of the scrollbar handle in units of cell +#: width. Should be less than scrollbar_width. + +# scrollbar_gap 0.1 + +#: The gap between the scrollbar and the window edge in units of cell +#: width. + +# scrollbar_min_handle_height 1 + +#: The minimum height of the scrollbar handle in units of cell height. +#: Prevents the handle from becoming too small when there is a lot of +#: scrollback. + +# scrollbar_hitbox_expansion 0.25 + +#: The extra area around the handle to allow easier grabbing of the +#: scollbar in units of cell width. + +# scrollbar_track_opacity 0 + +#: The opacity of the scrollbar track, 0 being fully transparent and 1 +#: being full opaque. + +# scrollbar_track_hover_opacity 0.1 + +#: The opacity of the scrollbar track when the mouse is over the +#: scrollbar, 0 being fully transparent and 1 being full opaque. + +# scrollbar_handle_color foreground + +#: The color of the scrollbar handle. A value of foreground means to +#: use the current foreground text color, a value of +#: selection_background means to use the current selection background +#: color. Also, you can use an arbitrary color, such as #12af59 or +#: red. + +# scrollbar_track_color foreground + +#: The color of the scrollbar track. A value of foreground means to +#: use the current foreground text color, a value of +#: selection_background means to use the current selection background +#: color. Also, you can use an arbitrary color, such as #12af59 or +#: red. + +# 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. + +#: If you would rather use neovim to view the scrollback, use +#: something like this:: + +#: scrollback_pager nvim --cmd 'set eventignore=FileType' +'nnoremap q ZQ' +'call nvim_open_term(0, {})' +'set nomodified nolist' +'$' - + +#: The above works for neovim 0.12 and newer. There is also a +#: dedicated plugin kitty-scrollback.nvim +#: you can use +#: with more features that works with older neovim as well. + +# 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 approximately +#: 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. + +#: By default, once the cursor is hidden, it is immediately unhidden +#: on any further mouse events. + +#: Two formats are supported: +#: - +#: - + +#: To change the unhide behavior, the optional parameters , , and may be set. + +#: +#: Waits for the specified number of seconds after mouse events before unhiding the +#: mouse cursor. Set to zero to unhide mouse cursor immediately on mouse activity. +#: This is useful to prevent the mouse cursor from unhiding on accidental swipes on +#: the trackpad. + +#: +#: Sets the threshold of mouse activity required to unhide the mouse cursor, when +#: the option is non-zero. When is zero, this has no +#: effect. + +#: For example, if is 40 and is 2.5, when kitty +#: detects a mouse event, it records the number of mouse events in the next 2.5 +#: seconds, and checks if that exceeds 40 * 2.5 = 100. If it does, then the mouse +#: cursor is unhidden, otherwise nothing happens. + +#: +#: Controls what mouse events may unhide the mouse cursor. If enabled, both scroll +#: and movement events may unhide the cursor. If disabled, only mouse movements can +#: unhide the cursor. + +#: Examples of valid values: +#: - 0.0 +#: - 1.0 +#: - -1.0 +#: - 0.1 3.0 40 yes + +# 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 will +#: 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. See also the +#: underline_hyperlinks option to control how hyperlinks (as opposed +#: to plain text URLs) are displayed. + +# 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. Additionally, newlines are allowed (but +#: stripped). This is to accommodate programs such as mutt that add +#: hard line breaks even for continued lines. \n can be added to this +#: option to disable this behavior. Special characters can be +#: specified using backslash escapes, to specify a backslash use a +#: double backslash. + +# 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. + +# underline_hyperlinks hover + +#: Control how hyperlinks are underlined. They can either be +#: underlined on mouse hover, always (i.e. permanently underlined) or +#: never which means that kitty will not apply any underline styling +#: to hyperlinks. Note that the value of always only applies to real +#: (OSC 8) hyperlinks not text that is detected to be a URL on mouse +#: hover. Uses the url_style and url_color settings for the underline +#: style. Note that reloading the config and changing this value +#: to/from always will only affect text subsequently received by +#: kitty. + +# 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. + +# clear_selection_on_clipboard_loss no + +#: When the contents of the clipboard no longer reflect the current +#: selection, clear it. This is primarily useful on platforms such as +#: Linux where selecting text automatically copies it to a special +#: "primary selection" clipboard or if you have copy_on_select set to +#: clipboard. + +#: Note that on macOS the system does not provide notifications when +#: the clipboard owner is changed, so there, copying to clipboard in a +#: non-kitty application will not clear selections even if +#: copy_on_select is enabled. + +# paste_actions quote-urls-at-prompt,confirm + +#: 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). +#: replace-dangerous-control-codes +#: Replace dangerous control codes from pasted text, without confirmation. +#: replace-newline +#: Replace the newline character from pasted text, without confirmation. +#: confirm: +#: Confirm the paste if the text to be pasted contains any terminal control codes +#: as this can be dangerous, leading to code execution if the shell/program running +#: in the terminal does not properly handle these. +#: confirm-if-large +#: Confirm the paste if it is very large (larger than 16KB) as pasting +#: large amounts of text into shells can be very slow. +#: 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. +#: no-op: +#: Has no effect. + +# 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. On macOS, this will also cause the OS Window under +#: the mouse to be focused automatically when the mouse enters it. + +# pointer_shape_when_grabbed arrow + +#: The shape of the mouse pointer when the program running in the +#: terminal grabs the mouse. + +# default_pointer_shape beam + +#: The default shape of the mouse pointer. + +# pointer_shape_when_dragging beam crosshair + +#: The default shape of the mouse pointer when dragging across text. +#: The optional second value sets the shape when dragging in +#: rectangular selection mode. + +#: 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 a button, map it to nothing. For example, to +#: disable opening of URLs with a plain click:: + +#: mouse_map left click ungrabbed + +#: 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. If you +#:: would like to select the word at the point and then extend to the +#:: rest of the line, change `line_from_point` to +#:: `word_and_line_from_point`. + +#: 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. If you would like to select the word at the point and +#:: then extend to the rest of the line, change `line_from_point` to +#:: `word_and_line_from_point`. + +#: 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. +#: This setting is ignored when the input buffer is almost full. + +# 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. +#: The flash is animated, fading in and out over the specified +#: duration. The easing function used for the fading can be +#: controlled. For example, 2.0 linear will casuse the flash to fade +#: in and out linearly. The default if unspecified is to use ease-in- +#: out which fades slowly at the start, middle and end. You can +#: specify different easing functions for the fade-in and fade-out +#: parts, like this: 2.0 ease-in linear. kitty supports all the CSS +#: easing functions . + +# 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). Relative +#: paths are resolved with respect to the kitty config directory. + +# linux_bell_theme __custom + +#: The XDG Sound Theme kitty will use to play the bell sound. On +#: Wayland, when the compositor supports it, it is asked to play the +#: system default bell sound, and this setting has no effect. Note +#: that Hyprland claims to support this protocol, but does not +#: actually play a sound +#: . This setting +#: defaults to the custom theme name specified in the XDG Sound theme +#: specification , falling back to the default +#: freedesktop theme if it does not exist. To change your sound theme +#: desktop wide, create +#: :file:~/.local/share/sounds/__custom/index.theme` with the +#: contents: + +#: [Sound Theme] + +#: Inherits=name-of-the-sound-theme-you-want-to-use + +#: Replace name-of-the-sound-theme-you-want-to-use with the actual +#: theme name. Now all compliant applications should use sounds from +#: this theme. + +#: }}} + +#: 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. + +# remember_window_position no + +#: If enabled, the OS Window position will be remembered so that new +#: instances of kitty will have the same position as the previous +#: instance. If disabled, the OS Window will be placed by the window +#: manager. Note that remembering of position only works if the +#: underlying desktop environment/window manager supports it. It never +#: works on Wayland. See also kitty --position to specify the position +#: when launching kitty. + +# 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. + +# single_window_padding_width -1 + +#: The window padding to use when only a single window is visible (in +#: pts). Negative values will cause the value of window_padding_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. + +# 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. The value can be one of: top- +#: left, top, top-right, left, center, right, bottom-left, bottom, +#: bottom-right. + +# 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 and titlebar-and-corners can be used +#: to only hide the titlebar and the rounded corners. 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. When using titlebar- +#: only, it is useful to also set window_margin_width and +#: placement_strategy to prevent the rounded corners from clipping +#: text. Or use titlebar-and-corners. + +# window_logo_path none + +#: Path to a logo image. Must be in PNG/JPEG/WEBP/GIF/TIFF/BMP 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. + +# window_logo_scale 0 + +#: The percentage (0-100] of the window size to which the logo should +#: scale. Using a single number means the logo is scaled to that +#: percentage of the shortest window dimension, while preserving +#: aspect ratio of the logo image. + +#: Using two numbers means the width and height of the logo are scaled +#: to the respective percentage of the window's width and height. + +#: Using zero as the percentage disables scaling in that dimension. A +#: single zero (the default) disables all scaling of the window logo. + +# resize_debounce_time 0.1 0.5 + +#: The time to wait (in seconds) before asking the program running in +#: kitty to resize and redraw the screen during a live resize of the +#: OS window, when no new resize events have been received, i.e. when +#: resizing is either paused or finished. On platforms such as macOS, +#: where the operating system sends events corresponding to the start +#: and end of a live resize, the second number is used for redraw- +#: after-pause since kitty can distinguish between a pause and end of +#: resizing. On such systems the first number is ignored and redraw is +#: immediate after end of resize. On other systems only the first +#: number is used so that kitty is "ready" quickly after the end of +#: resizing, while not also continuously redrawing, to save energy. + +# 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. You can also have +#: backgrounded jobs prevent closing, by adding count-background to +#: the setting, for example: -1 count-background. 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 fade + +#: 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_filter + +#: A search expression . Only tabs that match this expression will +#: be shown in the tab bar. The currently active tab is always shown, +#: regardless of whether it matches or not. When using this option, +#: the tab bar may be displayed with less tabs than specified in +#: tab_bar_min_tabs, as evaluating the filter is expensive and is done +#: only at display time. This is most useful when using sessions +#: . An expression of +#: session:~ or session:^$ will show only tabs that belong to the +#: current session or no session. The various tab navigation actions +#: such as goto_tab, next_tab, previous_tab, etc. are automatically +#: restricted to work only on matching tabs. + +# 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}{tab.last_focused_progress_percent}{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 usable with goto_tab N goto_tab shortcuts. +#: layout_name +#: The current layout name. +#: session_name +#: The name of the kitty session file from which this tab was created, if any. +#: active_session_name +#: The name of the kitty session file from which the active window in this tab was created, if any. +#: num_windows +#: The number of windows in the tab. +#: num_window_groups +#: The number of window groups (a window group is a window and all of its overlay windows) in the tab. +#: tab.active_wd +#: The working directory of the currently active window in the tab +#: (expensive, requires syscall). Use tab.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 +#: tab.active_oldest_exe for the oldest foreground process. +#: max_title_length +#: The maximum title length available. +#: keyboard_mode +#: The name of the current keyboard mode or the empty string if no keyboard mode is active. +#: tab.last_focused_progress_percent +#: If a command running in a window reports the progress for a task, show this progress as a percentage +#: from the most recently focused window in the tab. Empty string if no progress is reported. +#: tab.progress_percent +#: If a command running in a window reports the progress for a task, show this progress as a percentage +#: from all windows in the tab, averaged. Empty string is no progress is reported. +#: custom +#: This will call a function named draw_title(data) from the file tab_bar.py placed in +#: the kitty config directory. The function will be passed a dictionary of data, the same data that +#: can be used in this template. It can then perform arbitrarily complex processing and return a string. +#: For example: tab_title_template "{custom}" will use the output of the function as the tab title. +#: Any print statements in the draw_title() will print to the STDOUT of the kitty process, useful +#: for debugging. + + +#: 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}`. +#: The 256 eight terminal colors can be used as `fmt.fg.color0` +#: through `fmt.fg.color255`. 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. See also transparent_background_colors. Be aware that using +#: a value less than 1.0 is a (possibly significant) performance hit. +#: When using a low value for this setting, it is desirable that you +#: set the background color to a color the matches the general color +#: of the desktop background, for best text rendering. + +#: 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_blur 0 + +#: Set to a positive value to enable background blur (blurring of the +#: visuals behind a transparent window) on platforms that support it. +#: Only takes effect when background_opacity is less than one. On +#: macOS, this will also control the blur radius (amount of blurring). +#: Setting it to too high a value will cause severe performance issues +#: and/or rendering artifacts. Usually, values up to 64 work well. +#: Note that this might cause performance issues, depending on how the +#: platform implements it, so use with care. Currently supported on +#: macOS and KDE. + +# transparent_background_colors + +#: A space separated list of upto 7 colors, with opacity. When the +#: background color of a cell matches one of these colors, it is +#: rendered semi-transparent using the specified opacity. + +#: Useful in more complex UIs like editors where you could want more +#: than a single background color to be rendered as transparent, for +#: instance, for a cursor highlight line background or a highlighted +#: block. Terminal applications can set this color using The kitty +#: color control escape code. + +#: The syntax for specifying colors is: color@opacity, where the +#: @opacity part is optional. When unspecified, the value of +#: background_opacity is used. For example:: + +#: transparent_background_colors red@0.5 #00ff00@0.3 + +#: Note that you must also set background_opacity to something less +#: than 1 for this setting to work properly. + +# 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_image none + +#: Path to a background image. Must be in PNG/JPEG/WEBP/TIFF/GIF/BMP +#: format. Note that when using auto_color_scheme +#: +#: this option is overridden by the color scheme file and must be set +#: inside it to take effect. + +# background_image_layout tiled + +#: Whether to tile, scale or clamp the background image. The value can +#: be one of tiled, mirror-tiled, scaled, clamped, centered or +#: cscaled. The scaled and cscaled values scale the image to the +#: window size, with cscaled preserving the image aspect ratio. Note +#: that when using auto_color_scheme +#: +#: this option is overridden by the color scheme file and must be set +#: inside it to take effect. + +# background_image_linear no + +#: When background image is scaled, whether linear interpolation +#: should be used. Note that when using auto_color_scheme +#: +#: this option is overridden by the color scheme file and must be set +#: inside it to take effect. + +# 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_image is set. Note that when using auto_color_scheme +#: +#: this option is overridden by the color scheme file and must be set +#: inside it to take effect. + +# 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. Note that when +#: using auto_color_scheme +#: +#: this option is overridden by the color scheme file and must be set +#: inside it to take effect. + +# dim_opacity 0.4 + +#: 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 +#: the value of of the SHELL environment variable or if unset, +#: 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. Environment +#: variables are expanded in this setting. + +# 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 (usually the shell) exits. +#: With the default value no, the terminal will remain open when the +#: child exits as long as there are still other 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:: + +#: kitten @ --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. For example:: + +#: remote_control_password "my passphrase" my_rc_command_checker.py + +#: Relative paths are resolved from the kitty configuration directory. +#: See rc_custom_auth for details. + +# 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 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. For 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. +#: For TCP sockets such as tcp:localhost:0 a random port is always +#: used even if a non-zero port number is specified. 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. + +# filter_notification + +#: Specify rules to filter out notifications sent by applications +#: running in kitty. Can be specified multiple times to create +#: multiple filter rules. A rule specification is of the form +#: field:regexp. A filter rule can match on any of the fields: title, +#: body, app, type. The special value of all filters out all +#: notifications. Rules can be combined using Boolean operators. Some +#: examples:: + +#: filter_notification title:hello or body:"abc.*def" +#: # filter out notification from vim except for ones about updates, (?i) +#: # makes matching case insensitive. +#: filter_notification app:"[ng]?vim" and not body:"(?i)update" +#: # filter out all notifications +#: filter_notification all + +#: The field app is the name of the application sending the +#: notification and type is the type of the notification. Not all +#: applications will send these fields, so you can also match on the +#: title and body of the notification text. More sophisticated +#: programmatic filtering and custom actions on notifications can be +#: done by creating a notifications.py file in the kitty config +#: directory (~/.config/kitty). An annotated sample is available +#: . + +# 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 =none 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. Note that if kitty is invoked with command +#: line arguments specifying a command to run, this option is ignored. + +# 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, no-sudo. 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. +#: Only the first valid match, in the order specified, is sourced. + +# notify_on_cmd_finish never + +#: Show a desktop notification when a long-running command finishes +#: (needs shell_integration). The possible values are: + +#: never +#: Never send a notification. + +#: unfocused +#: Only send a notification when the window does not have keyboard focus. + +#: invisible +#: Only send a notification when the window both is unfocused and not visible +#: to the user, for example, because it is in an inactive tab or its OS window +#: is not currently visible (on platforms that support OS window visibility querying +#: this considers an OS Window visible iff it is active). + +#: always +#: Always send a notification, regardless of window state. + +#: There are two optional arguments: + +#: First, the minimum duration for what is considered a long running +#: command. The default is 5 seconds. Specify a second argument to set +#: the duration. For example: invisible 15. Do not set the value too +#: small, otherwise a command that launches a new OS Window and exits +#: will spam a notification. + +#: Second, the action to perform. The default is notify. The possible +#: values are: + +#: notify +#: Send a desktop notification. The subsequent arguments are optional and specify when +#: the notification is automatically cleared. The set of possible events when the notification is +#: cleared are: focus and next. focus means that when the notification +#: policy is unfocused or invisible the notification is automatically cleared +#: when the window regains focus. The value of next means that the previous notification +#: is cleared when the next notification is shown. The default when no arguments are specified +#: is: focus next. + +#: bell +#: Ring the terminal bell. + +#: notify-bell +#: Send a desktop notification and ring the terminal bell. +#: The arguments are the same as for `notify`. + +#: command +#: Run a custom command. All subsequent arguments are the cmdline to run. + +#: Some more examples:: + +#: # Send a notification when a command takes more than 5 seconds in an unfocused window +#: notify_on_cmd_finish unfocused +#: # Send a notification when a command takes more than 10 seconds in a invisible window +#: notify_on_cmd_finish invisible 10.0 +#: # Ring a bell when a command takes more than 10 seconds in a invisible window +#: notify_on_cmd_finish invisible 10.0 bell +#: # Run 'notify-send' when a command takes more than 10 seconds in a invisible window +#: # Here %c is replaced by the current command line and %s by the job exit code +#: notify_on_cmd_finish invisible 10.0 command notify-send "job finished with status: %s" %c +#: # Do not clear previous notification when next command finishes or window regains focus +#: notify_on_cmd_finish invisible 5.0 notify + +# 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. + +# terminfo_type path + +#: The value of the TERMINFO environment variable to set. This +#: variable is used by programs running in the terminal to search for +#: terminfo databases. The default value of path causes kitty to set +#: it to a filesystem location containing the kitty terminfo database. +#: A value of direct means put the entire database into the env var +#: directly. This can be useful when connecting to containers, for +#: example. But, note that not all software supports this. A value of +#: none means do not touch the variable. + +# forward_stdio no + +#: Forward STDOUT and STDERR of the kitty process to child processes. +#: This is useful for debugging as it allows child processes to print +#: to kitty's STDOUT directly. For example, echo hello world +#: >&$KITTY_STDIO_FORWARDED in a shell will print to the parent +#: kitty's STDOUT. Sets the KITTY_STDIO_FORWARDED=fdnum environment +#: variable so child processes know about the forwarding. Note that on +#: macOS this prevents the shell from being run via the login utility +#: so getlogin() will not work in programs run in this session. + +# menu_map + +#: Specify entries for various menus in kitty. Currently only the +#: global menubar on macOS is supported. For example:: + +#: menu_map global "Actions::Launch something special" launch --hold --type=os-window sh -c "echo hello world" + +#: This will create a menu entry named "Launch something special" in +#: an "Actions" menu in the macOS global menubar. Sub-menus can be +#: created by adding more levels separated by the :: characters. + +#: }}} + +#: 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 colors, a value of background means +#: to use the background color of the currently active kitty 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. + +# 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. + +# 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. Note that in modern kitty, +#: this option is obsolete (although still supported). Consider using +#: text_composition_strategy instead. + +# 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. + +# wayland_enable_ime yes + +#: Enable Input Method Extension on Wayland. This is typically used +#: for inputting text in East Asian languages. However, its +#: implementation in Wayland is often buggy and introduces latency +#: into the input loop, so disable this if you know you dont need it. +#: Changing this option by reloading the config is not supported, it +#: will not have any effect. + +#: }}} + +#: 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, ⌘). + +#: Simple shortcut mapping is done with the map directive. For full +#: details on advanced mapping including modal and per application +#: maps, see mapping . Some +#: quick examples to illustrate common tasks:: + +#: # unmap a keyboard shortcut, passing it to the program running in kitty +#: map kitty_mod+space +#: # completely ignore a keyboard event +#: map ctrl+alt+f1 discard_event +#: # combine multiple actions +#: map kitty_mod+e combine : new_window : next_layout +#: # multi-key shortcuts +#: map ctrl+x>ctrl+y>z action + +#: 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 + +#:: 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. The copy_or_noop +#:: action will copy if there is a selection and pass the key through +#:: to the application running in the terminal if there is no +#:: selection. + +#: Copy to clipboard or pass through + +# map cmd+c copy_or_noop + +#: 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 + +#: Eighth 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, -2 being the tab active before the previously active tab and +#: so on. Any number larger than the number of tabs goes to the last +#: tab and any number less than the number of previously used tabs in +#: the history goes to the oldest previously used tab in the history:: + +#: 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 + +#: To setup shortcuts to multiply/divide the font size:: + +#: map kitty_mod+f6 change_font_size all *2.0 +#: map kitty_mod+f6 change_font_size all /2.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 +#:: your default editor 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 on screen up to the line with the cursor or the start of the current prompt (needs shell integration) +#:: map f1 clear_terminal to_cursor active +#:: # Same as above except cleared lines are moved into scrollback +#:: map f1 clear_terminal to_cursor_scroll active +#:: # Erase the last command and its output (needs shell integration to work) +#:: map f1 clear_terminal last_command active + +#:: If you want to operate on all kitty windows instead of just the +#:: current one, use all instead of active. + +#:: Some useful functions that can be defined in the shell rc files +#:: to perform various kinds of clearing of the current window: + +#:: .. code-block:: sh + +#:: clear-only-screen() { +#:: printf "\e[H\e[2J" +#:: } + +#:: clear-screen-and-scrollback() { +#:: printf "\e[H\e[3J" +#:: } + +#:: clear-screen-saving-contents-in-scrollback() { +#:: printf "\e[H\e[22J" +#:: } + +#:: For instance, using these escape codes, it is 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 ZSH, in ~/.zshrc, add: + +#:: .. code-block:: zsh + +#:: ctrl_l() { +#:: builtin print -rn -- $'\r\e[0J\e[H\e[22J' >"$TTY" +#:: builtin zle .reset-prompt +#:: builtin zle -R +#:: } +#:: zle -N ctrl_l +#:: bindkey '^l' ctrl_l + +#:: Alternatively, you can just add map ctrl+l clear_terminal +#:: to_cursor_scroll active to kitty.conf which works with no changes +#:: to the shell rc files, but only clears up to the prompt, it does +#:: not clear any text at the prompt itself. + +#: Clear to start + +# map cmd+k clear_terminal to_cursor active + +#: Clear scrollback + +# map option+cmd+k clear_terminal scrollback active + +#: Clear the last command + +# map cmd+l clear_terminal last_command active + +#: Clear screen + +# map cmd+ctrl+l clear_terminal to_cursor_scroll 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 +#:: `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 + +#: }}} + +#: }}} diff --git a/configs/obs-settings/Profile-files/GlennIgen/basic.ini b/configs/obs-settings/Profile-files/GlennIgen/basic.ini new file mode 100644 index 0000000..5255717 --- /dev/null +++ b/configs/obs-settings/Profile-files/GlennIgen/basic.ini @@ -0,0 +1,119 @@ +[General] +Name=GlennIgen + +[Output] +Mode=Advanced +FilenameFormatting=%CCYY-%MM-%DD %hh-%mm-%ss +DelayEnable=false +DelaySec=20 +DelayPreserve=true +Reconnect=true +RetryDelay=2 +MaxRetries=25 +BindIP=default +IPFamily=IPv4+IPv6 +NewSocketLoopEnable=false +LowLatencyEnable=false + +[Stream1] +IgnoreRecommended=false +EnableMultitrackVideo=false +MultitrackVideoMaximumAggregateBitrateAuto=true +MultitrackVideoMaximumVideoTracksAuto=true + +[SimpleOutput] +FilePath=/home/glennigen +RecFormat2=hybrid_mp4 +VBitrate=6000 +ABitrate=160 +UseAdvanced=false +Preset=veryfast +NVENCPreset2=p5 +RecQuality=Stream +RecRB=false +RecRBTime=20 +RecRBSize=512 +RecRBPrefix=Replay +StreamAudioEncoder=aac +RecAudioEncoder=aac +RecTracks=1 +StreamEncoder=x264 +RecEncoder=x264 + +[AdvOut] +ApplyServiceSettings=true +UseRescale=false +TrackIndex=1 +VodTrackIndex=2 +Encoder=obs_x264 +RecType=Standard +RecFilePath=/home/glennigen/Videos/obs-replay +RecFormat2=hybrid_mp4 +RecUseRescale=false +RecTracks=15 +RecEncoder=ffmpeg_vaapi_tex +FLVTrack=1 +StreamMultiTrackAudioMixes=1 +FFOutputToFile=true +FFFilePath=/home/glennigen +FFVBitrate=6000 +FFVGOPSize=250 +FFUseRescale=false +FFIgnoreCompat=false +FFABitrate=160 +FFAudioMixes=1 +Track1Bitrate=160 +Track2Bitrate=160 +Track3Bitrate=160 +Track4Bitrate=160 +Track5Bitrate=160 +Track6Bitrate=160 +RecSplitFileTime=15 +RecSplitFileSize=2048 +RecRB=true +RecRBTime=300 +RecRBSize=512 +AudioEncoder=libfdk_aac +RecAudioEncoder=libfdk_aac +RescaleRes=1920x1080 +RecRescaleRes=1920x1080 +RecSplitFileType=Time +FFFormat= +FFFormatMimeType= +FFRescaleRes=1920x1080 +FFVEncoderId=0 +FFVEncoder= +FFAEncoderId=0 +FFAEncoder= +RecFileNameWithoutSpace=true + +[Video] +BaseCX=3440 +BaseCY=1440 +OutputCX=3440 +OutputCY=1440 +FPSType=0 +FPSCommon=60 +FPSInt=30 +FPSNum=30 +FPSDen=1 +ScaleType=bicubic +ColorFormat=NV12 +ColorSpace=709 +ColorRange=Partial +SdrWhiteLevel=300 +HdrNominalPeakLevel=1000 + +[Audio] +MonitoringDeviceId=default +MonitoringDeviceName=Default +SampleRate=48000 +ChannelSetup=Stereo +MeterDecayRate=23.53 +PeakMeterType=0 + +[Panels] +CookieId=DA4A06F434AD0D1B + +[Hotkeys] +ReplayBuffer={"ReplayBuffer.Save":[{"shift":true,"command":true,"key":"OBS_KEY_S"}]} diff --git a/configs/obs-settings/Profile-files/GlennIgen/recordEncoder.json b/configs/obs-settings/Profile-files/GlennIgen/recordEncoder.json new file mode 100644 index 0000000..88e8622 --- /dev/null +++ b/configs/obs-settings/Profile-files/GlennIgen/recordEncoder.json @@ -0,0 +1 @@ +{"vaapi_device":"/dev/dri/by-path/pci-0000:03:00.0-render","bitrate":50000} \ No newline at end of file diff --git a/configs/obs-settings/Profile-files/GlennIgen/recordEncoder.json.bak b/configs/obs-settings/Profile-files/GlennIgen/recordEncoder.json.bak new file mode 100644 index 0000000..1eac8c0 --- /dev/null +++ b/configs/obs-settings/Profile-files/GlennIgen/recordEncoder.json.bak @@ -0,0 +1 @@ +{"vaapi_device":"/dev/dri/by-path/pci-0000:03:00.0-render","bitrate":35000} \ No newline at end of file diff --git a/configs/obs-settings/Settings-files/.sentinel/run_ca526d1c-6b92-43fd-987a-f8fa87d21330 b/configs/obs-settings/Settings-files/.sentinel/run_ca526d1c-6b92-43fd-987a-f8fa87d21330 new file mode 100644 index 0000000..e69de29 diff --git a/configs/obs-settings/Settings-files/basic/profiles/GlennIgen/basic.ini b/configs/obs-settings/Settings-files/basic/profiles/GlennIgen/basic.ini new file mode 100644 index 0000000..5255717 --- /dev/null +++ b/configs/obs-settings/Settings-files/basic/profiles/GlennIgen/basic.ini @@ -0,0 +1,119 @@ +[General] +Name=GlennIgen + +[Output] +Mode=Advanced +FilenameFormatting=%CCYY-%MM-%DD %hh-%mm-%ss +DelayEnable=false +DelaySec=20 +DelayPreserve=true +Reconnect=true +RetryDelay=2 +MaxRetries=25 +BindIP=default +IPFamily=IPv4+IPv6 +NewSocketLoopEnable=false +LowLatencyEnable=false + +[Stream1] +IgnoreRecommended=false +EnableMultitrackVideo=false +MultitrackVideoMaximumAggregateBitrateAuto=true +MultitrackVideoMaximumVideoTracksAuto=true + +[SimpleOutput] +FilePath=/home/glennigen +RecFormat2=hybrid_mp4 +VBitrate=6000 +ABitrate=160 +UseAdvanced=false +Preset=veryfast +NVENCPreset2=p5 +RecQuality=Stream +RecRB=false +RecRBTime=20 +RecRBSize=512 +RecRBPrefix=Replay +StreamAudioEncoder=aac +RecAudioEncoder=aac +RecTracks=1 +StreamEncoder=x264 +RecEncoder=x264 + +[AdvOut] +ApplyServiceSettings=true +UseRescale=false +TrackIndex=1 +VodTrackIndex=2 +Encoder=obs_x264 +RecType=Standard +RecFilePath=/home/glennigen/Videos/obs-replay +RecFormat2=hybrid_mp4 +RecUseRescale=false +RecTracks=15 +RecEncoder=ffmpeg_vaapi_tex +FLVTrack=1 +StreamMultiTrackAudioMixes=1 +FFOutputToFile=true +FFFilePath=/home/glennigen +FFVBitrate=6000 +FFVGOPSize=250 +FFUseRescale=false +FFIgnoreCompat=false +FFABitrate=160 +FFAudioMixes=1 +Track1Bitrate=160 +Track2Bitrate=160 +Track3Bitrate=160 +Track4Bitrate=160 +Track5Bitrate=160 +Track6Bitrate=160 +RecSplitFileTime=15 +RecSplitFileSize=2048 +RecRB=true +RecRBTime=300 +RecRBSize=512 +AudioEncoder=libfdk_aac +RecAudioEncoder=libfdk_aac +RescaleRes=1920x1080 +RecRescaleRes=1920x1080 +RecSplitFileType=Time +FFFormat= +FFFormatMimeType= +FFRescaleRes=1920x1080 +FFVEncoderId=0 +FFVEncoder= +FFAEncoderId=0 +FFAEncoder= +RecFileNameWithoutSpace=true + +[Video] +BaseCX=3440 +BaseCY=1440 +OutputCX=3440 +OutputCY=1440 +FPSType=0 +FPSCommon=60 +FPSInt=30 +FPSNum=30 +FPSDen=1 +ScaleType=bicubic +ColorFormat=NV12 +ColorSpace=709 +ColorRange=Partial +SdrWhiteLevel=300 +HdrNominalPeakLevel=1000 + +[Audio] +MonitoringDeviceId=default +MonitoringDeviceName=Default +SampleRate=48000 +ChannelSetup=Stereo +MeterDecayRate=23.53 +PeakMeterType=0 + +[Panels] +CookieId=DA4A06F434AD0D1B + +[Hotkeys] +ReplayBuffer={"ReplayBuffer.Save":[{"shift":true,"command":true,"key":"OBS_KEY_S"}]} diff --git a/configs/obs-settings/Settings-files/basic/profiles/GlennIgen/recordEncoder.json b/configs/obs-settings/Settings-files/basic/profiles/GlennIgen/recordEncoder.json new file mode 100644 index 0000000..88e8622 --- /dev/null +++ b/configs/obs-settings/Settings-files/basic/profiles/GlennIgen/recordEncoder.json @@ -0,0 +1 @@ +{"vaapi_device":"/dev/dri/by-path/pci-0000:03:00.0-render","bitrate":50000} \ No newline at end of file diff --git a/configs/obs-settings/Settings-files/basic/profiles/GlennIgen/recordEncoder.json.bak b/configs/obs-settings/Settings-files/basic/profiles/GlennIgen/recordEncoder.json.bak new file mode 100644 index 0000000..1eac8c0 --- /dev/null +++ b/configs/obs-settings/Settings-files/basic/profiles/GlennIgen/recordEncoder.json.bak @@ -0,0 +1 @@ +{"vaapi_device":"/dev/dri/by-path/pci-0000:03:00.0-render","bitrate":35000} \ No newline at end of file diff --git a/configs/obs-settings/Settings-files/basic/scenes/Untitled.json b/configs/obs-settings/Settings-files/basic/scenes/Untitled.json new file mode 100644 index 0000000..939ce76 --- /dev/null +++ b/configs/obs-settings/Settings-files/basic/scenes/Untitled.json @@ -0,0 +1,1017 @@ +{ + "DesktopAudioDevice1": { + "prev_ver": 536870914, + "name": "Desktop Audio", + "uuid": "636d13a9-4656-411b-b31d-82a647403ac5", + "id": "pulse_output_capture", + "versioned_id": "pulse_output_capture", + "settings": { + "device_id": "default" + }, + "mixers": 192, + "sync": 0, + "flags": 0, + "volume": 0.0, + "balance": 0.5, + "enabled": true, + "muted": true, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "libobs.mute": [], + "libobs.unmute": [], + "libobs.push-to-mute": [], + "libobs.push-to-talk": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": { + "volume_locked": false + }, + "filters": [ + { + "prev_ver": 536870914, + "name": "Compressor", + "uuid": "08687a3d-88ea-4d5d-a140-c2a167df7d72", + "id": "compressor_filter", + "versioned_id": "compressor_filter", + "settings": {}, + "mixers": 255, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + } + ] + }, + "AuxAudioDevice1": { + "prev_ver": 536870914, + "name": "Mic/Aux", + "uuid": "dce0b087-3edf-4ac8-bac1-919607c54ebc", + "id": "pulse_input_capture", + "versioned_id": "pulse_input_capture", + "settings": { + "device_id": "default" + }, + "mixers": 193, + "sync": 0, + "flags": 2, + "volume": 0.86925721168518066, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "libobs.mute": [], + "libobs.unmute": [], + "libobs.push-to-mute": [], + "libobs.push-to-talk": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {}, + "filters": [ + { + "prev_ver": 536870914, + "name": "Noise Suppression", + "uuid": "2ef1a623-760d-48a0-98a8-33861571e322", + "id": "noise_suppress_filter", + "versioned_id": "noise_suppress_filter_v2", + "settings": {}, + "mixers": 255, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Compressor", + "uuid": "543b12c4-4cf2-4514-912c-c1be22cc74f2", + "id": "compressor_filter", + "versioned_id": "compressor_filter", + "settings": {}, + "mixers": 255, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + } + ] + }, + "current_scene": "Scene", + "current_program_scene": "Scene", + "scene_order": [ + { + "name": "Scene" + }, + { + "name": "Cam Scene" + } + ], + "name": "Untitled", + "sources": [ + { + "prev_ver": 536870914, + "name": "Scene", + "uuid": "a0058dff-0067-486c-b537-e129425343c8", + "id": "scene", + "versioned_id": "scene", + "settings": { + "id_counter": 27, + "custom_size": false, + "items": [ + { + "name": "Game Sink", + "source_uuid": "322868f1-aecf-42e0-af65-31b39e285eb4", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 1920.0, + "y": 1080.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 22, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.0, + "y": 1.0 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Discord Sink", + "source_uuid": "776ebfce-8e3d-4c5b-986f-50bfb2c629ff", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 1920.0, + "y": 1080.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 23, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.0, + "y": 1.0 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Music Sink", + "source_uuid": "8cc2fc6d-580a-4283-8bda-24cec72ec845", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 1920.0, + "y": 1080.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 24, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.0, + "y": 1.0 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "App", + "source_uuid": "e4226e53-d1c4-4b68-91f7-f7594da93447", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 1920.0, + "y": 1080.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 25, + "group_item_backup": false, + "pos": { + "x": 0.0, + "y": 0.0 + }, + "pos_rel": { + "x": -2.3888888359069824, + "y": -1.0 + }, + "scale": { + "x": 1.0, + "y": 1.0 + }, + "scale_rel": { + "x": 0.75, + "y": 0.75 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Screen", + "source_uuid": "eb1f53e1-8126-4bb6-8709-1b957f09234e", + "visible": false, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 2, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 26, + "group_item_backup": false, + "pos": { + "x": 0.0, + "y": 0.0 + }, + "pos_rel": { + "x": -2.3888888359069824, + "y": -1.0 + }, + "scale": { + "x": 1.0, + "y": 1.0 + }, + "scale_rel": { + "x": 1.0, + "y": 1.0 + }, + "bounds": { + "x": 3440.0, + "y": 1440.0 + }, + "bounds_rel": { + "x": 4.7777776718139648, + "y": 2.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Cam", + "source_uuid": "7b377b41-4b0d-4cfe-bb83-4027a5bd7e86", + "visible": false, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 27, + "group_item_backup": false, + "pos": { + "x": 2755.0, + "y": 3.0 + }, + "pos_rel": { + "x": 1.4375, + "y": -0.99583333730697632 + }, + "scale": { + "x": 0.78935188055038452, + "y": 0.78958332538604736 + }, + "scale_rel": { + "x": 0.78935188055038452, + "y": 0.78958332538604736 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + } + ] + }, + "mixers": 0, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "OBSBasic.SelectScene": [], + "libobs.show_scene_item.22": [], + "libobs.hide_scene_item.22": [], + "libobs.show_scene_item.23": [], + "libobs.hide_scene_item.23": [], + "libobs.show_scene_item.24": [], + "libobs.hide_scene_item.24": [], + "libobs.show_scene_item.25": [], + "libobs.hide_scene_item.25": [], + "libobs.show_scene_item.26": [], + "libobs.hide_scene_item.26": [], + "libobs.show_scene_item.27": [], + "libobs.hide_scene_item.27": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "canvas_uuid": "6c69626f-6273-4c00-9d88-c5136d61696e", + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Game Sink", + "uuid": "322868f1-aecf-42e0-af65-31b39e285eb4", + "id": "pulse_output_capture", + "versioned_id": "pulse_output_capture", + "settings": { + "device_id": "GameSink.monitor" + }, + "mixers": 200, + "sync": 0, + "flags": 0, + "volume": 0.28322821855545044, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "libobs.mute": [], + "libobs.unmute": [], + "libobs.push-to-mute": [], + "libobs.push-to-talk": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Discord Sink", + "uuid": "776ebfce-8e3d-4c5b-986f-50bfb2c629ff", + "id": "pulse_output_capture", + "versioned_id": "pulse_output_capture", + "settings": { + "device_id": "DiscordSink.monitor" + }, + "mixers": 194, + "sync": 0, + "flags": 0, + "volume": 0.63422691822052002, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "libobs.mute": [], + "libobs.unmute": [], + "libobs.push-to-mute": [], + "libobs.push-to-talk": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Music Sink", + "uuid": "8cc2fc6d-580a-4283-8bda-24cec72ec845", + "id": "pulse_output_capture", + "versioned_id": "pulse_output_capture", + "settings": { + "device_id": "MusicSink.monitor" + }, + "mixers": 196, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "libobs.mute": [], + "libobs.unmute": [], + "libobs.push-to-mute": [], + "libobs.push-to-talk": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "App", + "uuid": "e4226e53-d1c4-4b68-91f7-f7594da93447", + "id": "pipewire-screen-capture-source", + "versioned_id": "pipewire-screen-capture-source", + "settings": { + "RestoreToken": "282b4c47-d47a-478b-87d3-897110680cba" + }, + "mixers": 0, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Screen", + "uuid": "eb1f53e1-8126-4bb6-8709-1b957f09234e", + "id": "pipewire-screen-capture-source", + "versioned_id": "pipewire-screen-capture-source", + "settings": { + "RestoreToken": "eab2d4d0-0af2-4b41-8a3d-b52c6fc86b85" + }, + "mixers": 0, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Cam", + "uuid": "7b377b41-4b0d-4cfe-bb83-4027a5bd7e86", + "id": "v4l2_input", + "versioned_id": "v4l2_input", + "settings": { + "device_id": "/dev/video0", + "input": 0, + "pixelformat": 1448695129, + "resolution": 3710851744224, + "framerate": 24 + }, + "mixers": 0, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Cam Scene", + "uuid": "3d761e23-a988-4080-a953-818900545065", + "id": "scene", + "versioned_id": "scene", + "settings": { + "id_counter": 4, + "custom_size": false, + "items": [ + { + "name": "Cam", + "source_uuid": "7b377b41-4b0d-4cfe-bb83-4027a5bd7e86", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 1, + "group_item_backup": false, + "pos": { + "x": 424.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7999999523162842, + "y": -1.0 + }, + "scale": { + "x": 3.0, + "y": 3.0 + }, + "scale_rel": { + "x": 3.0, + "y": 3.0 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Game Sink", + "source_uuid": "322868f1-aecf-42e0-af65-31b39e285eb4", + "visible": false, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 2, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Discord Sink", + "source_uuid": "776ebfce-8e3d-4c5b-986f-50bfb2c629ff", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 3, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Music Sink", + "source_uuid": "8cc2fc6d-580a-4283-8bda-24cec72ec845", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 4, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + } + ] + }, + "mixers": 0, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "OBSBasic.SelectScene": [], + "libobs.show_scene_item.1": [], + "libobs.hide_scene_item.1": [], + "libobs.show_scene_item.2": [], + "libobs.hide_scene_item.2": [], + "libobs.show_scene_item.3": [], + "libobs.hide_scene_item.3": [], + "libobs.show_scene_item.4": [], + "libobs.hide_scene_item.4": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "canvas_uuid": "6c69626f-6273-4c00-9d88-c5136d61696e", + "private_settings": {} + } + ], + "groups": [], + "quick_transitions": [ + { + "name": "Cut", + "duration": 300, + "hotkeys": [], + "id": 1, + "fade_to_black": false + }, + { + "name": "Fade", + "duration": 300, + "hotkeys": [], + "id": 2, + "fade_to_black": false + }, + { + "name": "Fade", + "duration": 300, + "hotkeys": [], + "id": 3, + "fade_to_black": true + } + ], + "transitions": [], + "saved_projectors": [], + "canvases": [], + "current_transition": "Cut", + "transition_duration": 300, + "preview_locked": false, + "scaling_enabled": false, + "scaling_level": -44, + "scaling_off_x": 0.0, + "scaling_off_y": 0.0, + "modules": { + "scripts-tool": [], + "output-timer": { + "streamTimerHours": 0, + "streamTimerMinutes": 0, + "streamTimerSeconds": 30, + "recordTimerHours": 0, + "recordTimerMinutes": 0, + "recordTimerSeconds": 30, + "autoStartStreamTimer": false, + "autoStartRecordTimer": false, + "pauseRecordTimer": true + } + }, + "resolution": { + "x": 3440, + "y": 1440 + }, + "version": 2 +} \ No newline at end of file diff --git a/configs/obs-settings/Settings-files/basic/scenes/Untitled.json.bak b/configs/obs-settings/Settings-files/basic/scenes/Untitled.json.bak new file mode 100644 index 0000000..939ce76 --- /dev/null +++ b/configs/obs-settings/Settings-files/basic/scenes/Untitled.json.bak @@ -0,0 +1,1017 @@ +{ + "DesktopAudioDevice1": { + "prev_ver": 536870914, + "name": "Desktop Audio", + "uuid": "636d13a9-4656-411b-b31d-82a647403ac5", + "id": "pulse_output_capture", + "versioned_id": "pulse_output_capture", + "settings": { + "device_id": "default" + }, + "mixers": 192, + "sync": 0, + "flags": 0, + "volume": 0.0, + "balance": 0.5, + "enabled": true, + "muted": true, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "libobs.mute": [], + "libobs.unmute": [], + "libobs.push-to-mute": [], + "libobs.push-to-talk": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": { + "volume_locked": false + }, + "filters": [ + { + "prev_ver": 536870914, + "name": "Compressor", + "uuid": "08687a3d-88ea-4d5d-a140-c2a167df7d72", + "id": "compressor_filter", + "versioned_id": "compressor_filter", + "settings": {}, + "mixers": 255, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + } + ] + }, + "AuxAudioDevice1": { + "prev_ver": 536870914, + "name": "Mic/Aux", + "uuid": "dce0b087-3edf-4ac8-bac1-919607c54ebc", + "id": "pulse_input_capture", + "versioned_id": "pulse_input_capture", + "settings": { + "device_id": "default" + }, + "mixers": 193, + "sync": 0, + "flags": 2, + "volume": 0.86925721168518066, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "libobs.mute": [], + "libobs.unmute": [], + "libobs.push-to-mute": [], + "libobs.push-to-talk": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {}, + "filters": [ + { + "prev_ver": 536870914, + "name": "Noise Suppression", + "uuid": "2ef1a623-760d-48a0-98a8-33861571e322", + "id": "noise_suppress_filter", + "versioned_id": "noise_suppress_filter_v2", + "settings": {}, + "mixers": 255, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Compressor", + "uuid": "543b12c4-4cf2-4514-912c-c1be22cc74f2", + "id": "compressor_filter", + "versioned_id": "compressor_filter", + "settings": {}, + "mixers": 255, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + } + ] + }, + "current_scene": "Scene", + "current_program_scene": "Scene", + "scene_order": [ + { + "name": "Scene" + }, + { + "name": "Cam Scene" + } + ], + "name": "Untitled", + "sources": [ + { + "prev_ver": 536870914, + "name": "Scene", + "uuid": "a0058dff-0067-486c-b537-e129425343c8", + "id": "scene", + "versioned_id": "scene", + "settings": { + "id_counter": 27, + "custom_size": false, + "items": [ + { + "name": "Game Sink", + "source_uuid": "322868f1-aecf-42e0-af65-31b39e285eb4", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 1920.0, + "y": 1080.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 22, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.0, + "y": 1.0 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Discord Sink", + "source_uuid": "776ebfce-8e3d-4c5b-986f-50bfb2c629ff", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 1920.0, + "y": 1080.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 23, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.0, + "y": 1.0 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Music Sink", + "source_uuid": "8cc2fc6d-580a-4283-8bda-24cec72ec845", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 1920.0, + "y": 1080.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 24, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.0, + "y": 1.0 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "App", + "source_uuid": "e4226e53-d1c4-4b68-91f7-f7594da93447", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 1920.0, + "y": 1080.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 25, + "group_item_backup": false, + "pos": { + "x": 0.0, + "y": 0.0 + }, + "pos_rel": { + "x": -2.3888888359069824, + "y": -1.0 + }, + "scale": { + "x": 1.0, + "y": 1.0 + }, + "scale_rel": { + "x": 0.75, + "y": 0.75 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Screen", + "source_uuid": "eb1f53e1-8126-4bb6-8709-1b957f09234e", + "visible": false, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 2, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 26, + "group_item_backup": false, + "pos": { + "x": 0.0, + "y": 0.0 + }, + "pos_rel": { + "x": -2.3888888359069824, + "y": -1.0 + }, + "scale": { + "x": 1.0, + "y": 1.0 + }, + "scale_rel": { + "x": 1.0, + "y": 1.0 + }, + "bounds": { + "x": 3440.0, + "y": 1440.0 + }, + "bounds_rel": { + "x": 4.7777776718139648, + "y": 2.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Cam", + "source_uuid": "7b377b41-4b0d-4cfe-bb83-4027a5bd7e86", + "visible": false, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 27, + "group_item_backup": false, + "pos": { + "x": 2755.0, + "y": 3.0 + }, + "pos_rel": { + "x": 1.4375, + "y": -0.99583333730697632 + }, + "scale": { + "x": 0.78935188055038452, + "y": 0.78958332538604736 + }, + "scale_rel": { + "x": 0.78935188055038452, + "y": 0.78958332538604736 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + } + ] + }, + "mixers": 0, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "OBSBasic.SelectScene": [], + "libobs.show_scene_item.22": [], + "libobs.hide_scene_item.22": [], + "libobs.show_scene_item.23": [], + "libobs.hide_scene_item.23": [], + "libobs.show_scene_item.24": [], + "libobs.hide_scene_item.24": [], + "libobs.show_scene_item.25": [], + "libobs.hide_scene_item.25": [], + "libobs.show_scene_item.26": [], + "libobs.hide_scene_item.26": [], + "libobs.show_scene_item.27": [], + "libobs.hide_scene_item.27": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "canvas_uuid": "6c69626f-6273-4c00-9d88-c5136d61696e", + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Game Sink", + "uuid": "322868f1-aecf-42e0-af65-31b39e285eb4", + "id": "pulse_output_capture", + "versioned_id": "pulse_output_capture", + "settings": { + "device_id": "GameSink.monitor" + }, + "mixers": 200, + "sync": 0, + "flags": 0, + "volume": 0.28322821855545044, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "libobs.mute": [], + "libobs.unmute": [], + "libobs.push-to-mute": [], + "libobs.push-to-talk": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Discord Sink", + "uuid": "776ebfce-8e3d-4c5b-986f-50bfb2c629ff", + "id": "pulse_output_capture", + "versioned_id": "pulse_output_capture", + "settings": { + "device_id": "DiscordSink.monitor" + }, + "mixers": 194, + "sync": 0, + "flags": 0, + "volume": 0.63422691822052002, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "libobs.mute": [], + "libobs.unmute": [], + "libobs.push-to-mute": [], + "libobs.push-to-talk": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Music Sink", + "uuid": "8cc2fc6d-580a-4283-8bda-24cec72ec845", + "id": "pulse_output_capture", + "versioned_id": "pulse_output_capture", + "settings": { + "device_id": "MusicSink.monitor" + }, + "mixers": 196, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "libobs.mute": [], + "libobs.unmute": [], + "libobs.push-to-mute": [], + "libobs.push-to-talk": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "App", + "uuid": "e4226e53-d1c4-4b68-91f7-f7594da93447", + "id": "pipewire-screen-capture-source", + "versioned_id": "pipewire-screen-capture-source", + "settings": { + "RestoreToken": "282b4c47-d47a-478b-87d3-897110680cba" + }, + "mixers": 0, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Screen", + "uuid": "eb1f53e1-8126-4bb6-8709-1b957f09234e", + "id": "pipewire-screen-capture-source", + "versioned_id": "pipewire-screen-capture-source", + "settings": { + "RestoreToken": "eab2d4d0-0af2-4b41-8a3d-b52c6fc86b85" + }, + "mixers": 0, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Cam", + "uuid": "7b377b41-4b0d-4cfe-bb83-4027a5bd7e86", + "id": "v4l2_input", + "versioned_id": "v4l2_input", + "settings": { + "device_id": "/dev/video0", + "input": 0, + "pixelformat": 1448695129, + "resolution": 3710851744224, + "framerate": 24 + }, + "mixers": 0, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": {}, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "private_settings": {} + }, + { + "prev_ver": 536870914, + "name": "Cam Scene", + "uuid": "3d761e23-a988-4080-a953-818900545065", + "id": "scene", + "versioned_id": "scene", + "settings": { + "id_counter": 4, + "custom_size": false, + "items": [ + { + "name": "Cam", + "source_uuid": "7b377b41-4b0d-4cfe-bb83-4027a5bd7e86", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 1, + "group_item_backup": false, + "pos": { + "x": 424.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7999999523162842, + "y": -1.0 + }, + "scale": { + "x": 3.0, + "y": 3.0 + }, + "scale_rel": { + "x": 3.0, + "y": 3.0 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Game Sink", + "source_uuid": "322868f1-aecf-42e0-af65-31b39e285eb4", + "visible": false, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 2, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Discord Sink", + "source_uuid": "776ebfce-8e3d-4c5b-986f-50bfb2c629ff", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 3, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + }, + { + "name": "Music Sink", + "source_uuid": "8cc2fc6d-580a-4283-8bda-24cec72ec845", + "visible": true, + "locked": false, + "rot": 0.0, + "scale_ref": { + "x": 3440.0, + "y": 1440.0 + }, + "align": 5, + "bounds_type": 0, + "bounds_align": 0, + "bounds_crop": false, + "crop_left": 0, + "crop_top": 0, + "crop_right": 0, + "crop_bottom": 0, + "id": 4, + "group_item_backup": false, + "pos": { + "x": 440.0, + "y": 0.0 + }, + "pos_rel": { + "x": -1.7777777910232544, + "y": -1.0 + }, + "scale": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "scale_rel": { + "x": 1.3333333730697632, + "y": 1.3333333730697632 + }, + "bounds": { + "x": 0.0, + "y": 0.0 + }, + "bounds_rel": { + "x": 0.0, + "y": 0.0 + }, + "scale_filter": "disable", + "blend_method": "default", + "blend_type": "normal", + "show_transition": { + "duration": 0 + }, + "hide_transition": { + "duration": 0 + }, + "private_settings": {} + } + ] + }, + "mixers": 0, + "sync": 0, + "flags": 0, + "volume": 1.0, + "balance": 0.5, + "enabled": true, + "muted": false, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "hotkeys": { + "OBSBasic.SelectScene": [], + "libobs.show_scene_item.1": [], + "libobs.hide_scene_item.1": [], + "libobs.show_scene_item.2": [], + "libobs.hide_scene_item.2": [], + "libobs.show_scene_item.3": [], + "libobs.hide_scene_item.3": [], + "libobs.show_scene_item.4": [], + "libobs.hide_scene_item.4": [] + }, + "deinterlace_mode": 0, + "deinterlace_field_order": 0, + "monitoring_type": 0, + "canvas_uuid": "6c69626f-6273-4c00-9d88-c5136d61696e", + "private_settings": {} + } + ], + "groups": [], + "quick_transitions": [ + { + "name": "Cut", + "duration": 300, + "hotkeys": [], + "id": 1, + "fade_to_black": false + }, + { + "name": "Fade", + "duration": 300, + "hotkeys": [], + "id": 2, + "fade_to_black": false + }, + { + "name": "Fade", + "duration": 300, + "hotkeys": [], + "id": 3, + "fade_to_black": true + } + ], + "transitions": [], + "saved_projectors": [], + "canvases": [], + "current_transition": "Cut", + "transition_duration": 300, + "preview_locked": false, + "scaling_enabled": false, + "scaling_level": -44, + "scaling_off_x": 0.0, + "scaling_off_y": 0.0, + "modules": { + "scripts-tool": [], + "output-timer": { + "streamTimerHours": 0, + "streamTimerMinutes": 0, + "streamTimerSeconds": 30, + "recordTimerHours": 0, + "recordTimerMinutes": 0, + "recordTimerSeconds": 30, + "autoStartStreamTimer": false, + "autoStartRecordTimer": false, + "pauseRecordTimer": true + } + }, + "resolution": { + "x": 3440, + "y": 1440 + }, + "version": 2 +} \ No newline at end of file diff --git a/configs/obs-settings/Settings-files/global.ini b/configs/obs-settings/Settings-files/global.ini new file mode 100644 index 0000000..502a7d4 --- /dev/null +++ b/configs/obs-settings/Settings-files/global.ini @@ -0,0 +1,20 @@ +[General] +MaxLogs=10 +InfoIncrement=-1 +ProcessPriority=Normal +EnableAutoUpdates=true +BrowserHWAccel=true +LastVersion=536870914 + +[Video] +Renderer=OpenGL + +[Locations] +Configuration=/home/glennigen/.var/app/com.obsproject.Studio/config +SceneCollections=/home/glennigen/.var/app/com.obsproject.Studio/config +Profiles=/home/glennigen/.var/app/com.obsproject.Studio/config +PluginManagerSettings=/home/glennigen/.var/app/com.obsproject.Studio/config + +[PropertiesWindow] +cx=720 +cy=580 diff --git a/configs/obs-settings/Settings-files/plugin_config/obs-websocket/config.json b/configs/obs-settings/Settings-files/plugin_config/obs-websocket/config.json new file mode 100644 index 0000000..dda90f8 --- /dev/null +++ b/configs/obs-settings/Settings-files/plugin_config/obs-websocket/config.json @@ -0,0 +1,8 @@ +{ + "alerts_enabled": false, + "auth_required": true, + "first_load": false, + "server_enabled": false, + "server_password": "YyCzJZoUvBCcYN4M", + "server_port": 4455 +} \ No newline at end of file diff --git a/configs/obs-settings/Settings-files/plugin_config/rtmp-services/amazon_ivs_ingests.json b/configs/obs-settings/Settings-files/plugin_config/rtmp-services/amazon_ivs_ingests.json new file mode 100644 index 0000000..b35e690 --- /dev/null +++ b/configs/obs-settings/Settings-files/plugin_config/rtmp-services/amazon_ivs_ingests.json @@ -0,0 +1,130 @@ +{ + "ingests": [ + { + "_id": 0, + "availability": 1.0, + "default": false, + "name": "Default", + "url_template": "rtmp://ingest.global-contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://ingest.global-contribute.live-video.net/app/{stream_key}", + "priority": 0 + }, + { + "_id": 1, + "availability": 1.0, + "default": false, + "name": "Europe: Frankfurt (10)", + "url_template": "rtmp://euc10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://euc10.contribute.live-video.net/app/{stream_key}", + "priority": 1 + }, + { + "_id": 2, + "availability": 1.0, + "default": false, + "name": "Europe: Sweden, Stockholm (10)", + "url_template": "rtmp://eun10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://eun10.contribute.live-video.net/app/{stream_key}", + "priority": 2 + }, + { + "_id": 3, + "availability": 1.0, + "default": false, + "name": "Europe: France, Paris (30)", + "url_template": "rtmp://euw30.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://euw30.contribute.live-video.net/app/{stream_key}", + "priority": 3 + }, + { + "_id": 4, + "availability": 1.0, + "default": false, + "name": "Europe West: Ireland (10)", + "url_template": "rtmp://euw10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://euw10.contribute.live-video.net/app/{stream_key}", + "priority": 4 + }, + { + "_id": 5, + "availability": 1.0, + "default": false, + "name": "US East: Ashburn, VA (10)", + "url_template": "rtmp://use10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://use10.contribute.live-video.net/app/{stream_key}", + "priority": 5 + }, + { + "_id": 6, + "availability": 1.0, + "default": false, + "name": "US East: Ohio (20)", + "url_template": "rtmp://use20.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://use20.contribute.live-video.net/app/{stream_key}", + "priority": 6 + }, + { + "_id": 7, + "availability": 1.0, + "default": false, + "name": "Asia: India, Mumbai (30)", + "url_template": "rtmp://aps30.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://aps30.contribute.live-video.net/app/{stream_key}", + "priority": 7 + }, + { + "_id": 8, + "availability": 1.0, + "default": false, + "name": "US West: Portland, OR (us-west-2)", + "url_template": "rtmp://usw20.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://usw20.contribute.live-video.net/app/{stream_key}", + "priority": 8 + }, + { + "_id": 9, + "availability": 1.0, + "default": false, + "name": "Asia: South Korea, Seoul (20)", + "url_template": "rtmp://apn20.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://apn20.contribute.live-video.net/app/{stream_key}", + "priority": 9 + }, + { + "_id": 10, + "availability": 1.0, + "default": false, + "name": "Asia: Japan, Narita (10)", + "url_template": "rtmp://apn10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://apn10.contribute.live-video.net/app/{stream_key}", + "priority": 10 + }, + { + "_id": 11, + "availability": 1.0, + "default": false, + "name": "Asia Southeast: Singapore (10)", + "url_template": "rtmp://aps10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://aps10.contribute.live-video.net/app/{stream_key}", + "priority": 11 + }, + { + "_id": 12, + "availability": 1.0, + "default": false, + "name": "South America: Brazil, Sao Paulo (10)", + "url_template": "rtmp://sae10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sae10.contribute.live-video.net/app/{stream_key}", + "priority": 12 + }, + { + "_id": 13, + "availability": 1.0, + "default": false, + "name": "Asia Southeast: Sydney (20)", + "url_template": "rtmp://aps20.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://aps20.contribute.live-video.net/app/{stream_key}", + "priority": 13 + } + ] +} diff --git a/configs/obs-settings/Settings-files/plugin_config/rtmp-services/package.json b/configs/obs-settings/Settings-files/plugin_config/rtmp-services/package.json new file mode 100644 index 0000000..40bf982 --- /dev/null +++ b/configs/obs-settings/Settings-files/plugin_config/rtmp-services/package.json @@ -0,0 +1 @@ +{"$schema":"schema/package-schema.json","url":"https://obsproject.com/obs2_update/rtmp-services/v5","version":281,"files":[{"name":"services.json","version":281}]} diff --git a/configs/obs-settings/Settings-files/plugin_config/rtmp-services/services.json b/configs/obs-settings/Settings-files/plugin_config/rtmp-services/services.json new file mode 100644 index 0000000..52bfc0e --- /dev/null +++ b/configs/obs-settings/Settings-files/plugin_config/rtmp-services/services.json @@ -0,0 +1 @@ +{"$schema":"schema/service-schema-v5.json","format_version":5,"services":[{"name":"Twitch","common":true,"stream_key_link":"https://dashboard.twitch.tv/settings/stream","multitrack_video_configuration_url":"https://ingest.twitch.tv/api/v3/GetClientConfiguration","multitrack_video_name":"Enhanced Broadcasting","multitrack_video_learn_more_link":"https://help.twitch.tv/s/article/multiple-encodes","servers":[{"name":"Asia: Hong Kong","url":"rtmp://live-hkg.twitch.tv/app"},{"name":"Asia: Seoul, South Korea","url":"rtmp://live-sel.twitch.tv/app"},{"name":"Asia: Singapore","url":"rtmp://live-sin.twitch.tv/app"},{"name":"Asia: Taipei, Taiwan","url":"rtmp://live-tpe.twitch.tv/app"},{"name":"Asia: Tokyo, Japan","url":"rtmp://live-tyo.twitch.tv/app"},{"name":"Australia: Sydney","url":"rtmp://live-syd.twitch.tv/app"},{"name":"EU: Amsterdam, NL","url":"rtmp://live-ams.twitch.tv/app"},{"name":"EU: Berlin, DE","url":"rtmp://live-ber.twitch.tv/app"},{"name":"Europe: Copenhagen, DK","url":"rtmp://live-cph.twitch.tv/app"},{"name":"EU: Frankfurt, DE","url":"rtmp://live-fra.twitch.tv/app"},{"name":"EU: Helsinki, FI","url":"rtmp://live-hel.twitch.tv/app"},{"name":"EU: Lisbon, Portugal","url":"rtmp://live-lis.twitch.tv/app"},{"name":"EU: London, UK","url":"rtmp://live-lhr.twitch.tv/app"},{"name":"EU: Madrid, Spain","url":"rtmp://live-mad.twitch.tv/app"},{"name":"EU: Marseille, FR","url":"rtmp://live-mrs.twitch.tv/app"},{"name":"EU: Milan, Italy","url":"rtmp://live-mil.twitch.tv/app"},{"name":"EU: Norway, Oslo","url":"rtmp://live-osl.twitch.tv/app"},{"name":"EU: Paris, FR","url":"rtmp://live-cdg.twitch.tv/app"},{"name":"EU: Prague, CZ","url":"rtmp://live-prg.twitch.tv/app"},{"name":"EU: Stockholm, SE","url":"rtmp://live-arn.twitch.tv/app"},{"name":"EU: Vienna, Austria","url":"rtmp://live-vie.twitch.tv/app"},{"name":"EU: Warsaw, Poland","url":"rtmp://live-waw.twitch.tv/app"},{"name":"NA: Mexico City","url":"rtmp://live-qro.twitch.tv/app"},{"name":"NA: Quebec, Canada","url":"rtmp://live-ymq.twitch.tv/app"},{"name":"NA: Toronto, Canada","url":"rtmp://live-yto.twitch.tv/app"},{"name":"South America: Argentina","url":"rtmp://live-eze.twitch.tv/app"},{"name":"South America: Chile","url":"rtmp://live-scl.twitch.tv/app"},{"name":"South America: Lima, Peru","url":"rtmp://live-lim.twitch.tv/app"},{"name":"South America: Medellin, Colombia","url":"rtmp://live-mde.twitch.tv/app"},{"name":"South America: Rio de Janeiro, Brazil","url":"rtmp://live-rio.twitch.tv/app"},{"name":"South America: Sao Paulo, Brazil","url":"rtmp://live-sao.twitch.tv/app"},{"name":"US Central: Dallas, TX","url":"rtmp://live-dfw.twitch.tv/app"},{"name":"US Central: Denver, CO","url":"rtmp://live-den.twitch.tv/app"},{"name":"US Central: Houston, TX","url":"rtmp://live-hou.twitch.tv/app"},{"name":"US Central: Salt Lake City, UT","url":"rtmp://live-slc.twitch.tv/app"},{"name":"US East: Ashburn, VA","url":"rtmp://live-iad.twitch.tv/app"},{"name":"US East: Atlanta, GA","url":"rtmp://live-atl.twitch.tv/app"},{"name":"US East: Chicago","url":"rtmp://live-ord.twitch.tv/app"},{"name":"US East: Miami, FL","url":"rtmp://live-mia.twitch.tv/app"},{"name":"US East: New York, NY","url":"rtmp://live-jfk.twitch.tv/app"},{"name":"US West: Los Angeles, CA","url":"rtmp://live-lax.twitch.tv/app"},{"name":"US West: Phoenix, AZ","url":"rtmp://live-phx.twitch.tv/app"},{"name":"US West: Portland, Oregon","url":"rtmp://live-pdx.twitch.tv/app"},{"name":"US West: San Francisco, CA","url":"rtmp://live-sfo.twitch.tv/app"},{"name":"US West: San Jose, CA","url":"rtmp://live-sjc.twitch.tv/app"},{"name":"US West: Seattle, WA","url":"rtmp://live-sea.twitch.tv/app"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":320,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"YouTube - HLS","common":false,"more_info_link":"https://developers.google.com/youtube/v3/live/guides/ingestion-protocol-comparison","stream_key_link":"https://www.youtube.com/live_dashboard","protocol":"HLS","supported video codecs":["h264","hevc"],"servers":[{"name":"Primary YouTube ingest server","url":"https://a.upload.youtube.com/http_upload_hls?cid={stream_key}©=0&file=out.m3u8"},{"name":"Backup YouTube ingest server","url":"https://b.upload.youtube.com/http_upload_hls?cid={stream_key}©=1&file=out.m3u8"}],"recommended":{"keyint":2,"output":"ffmpeg_hls_muxer","max video bitrate":51000,"max audio bitrate":160}},{"name":"YouTube - RTMPS","common":true,"stream_key_link":"https://www.youtube.com/live_dashboard","alt_names":["YouTube / YouTube Gaming","YouTube - RTMP","YouTube - RTMPS (Beta)"],"supported video codecs":["h264","hevc","av1"],"servers":[{"name":"Primary YouTube ingest server","url":"rtmps://a.rtmps.youtube.com:443/live2"},{"name":"Backup YouTube ingest server","url":"rtmps://b.rtmps.youtube.com:443/live2?backup=1"},{"name":"Primary YouTube ingest server (legacy RTMP)","url":"rtmp://a.rtmp.youtube.com/live2"},{"name":"Backup YouTube ingest server (legacy RTMP)","url":"rtmp://b.rtmp.youtube.com/live2?backup=1"}],"recommended":{"keyint":2,"max video bitrate":51000,"max audio bitrate":160}},{"name":"Loola.tv","common":false,"servers":[{"name":"US East: Virginia","url":"rtmp://rtmp.loola.tv/push"},{"name":"EU Central: Germany","url":"rtmp://rtmp-eu.loola.tv/push"},{"name":"South America: Brazil","url":"rtmp://rtmp-sa.loola.tv/push"},{"name":"Asia/Pacific: Singapore","url":"rtmp://rtmp-sg.loola.tv/push"},{"name":"Middle East: Bahrain","url":"rtmp://rtmp-me.loola.tv/push"}],"recommended":{"keyint":2,"profile":"high","max video bitrate":2500,"max audio bitrate":160,"bframes":2,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"Lovecast","servers":[{"name":"Default","url":"rtmp://live-a.lovecastapp.com:5222/app"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":8000,"max audio bitrate":192,"supported resolutions":["1920x1080","1280x720"],"max fps":30},"supported video codecs":["h264"]},{"name":"Luzento.com - RTMP","stream_key_link":"https://cms.luzento.com/dashboard/stream-key?from=OBS","servers":[{"name":"Primary","url":"rtmp://ingest.luzento.com/live"},{"name":"Primary (Test)","url":"rtmp://ingest.luzento.com/test"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":256,"bframes":2,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"Web.TV","servers":[{"name":"Primary","url":"rtmp://live3.origins.web.tv/liveext"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":3500,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"GoodGame.ru","servers":[{"name":"Моscow","url":"rtmp://msk.goodgame.ru:1940/live"}],"supported video codecs":["h264"]},{"name":"Vaughn Live / iNSTAGIB","servers":[{"name":"US: Vint Hill, VA","url":"rtmp://live-iad.vaughnsoft.net/live"},{"name":"US: Vint Hill, VA #2","url":"rtmp://live-iad2.vaughnsoft.net/live"},{"name":"US: Dallas, TX","url":"rtmp://live-dfw.vaughnsoft.net/live"},{"name":"US: Denver, CO","url":"rtmp://live-den.vaughnsoft.net/live"},{"name":"US: New York, NY","url":"rtmp://live-nyc.vaughnsoft.net/live"},{"name":"US: Miami, FL","url":"rtmp://live-mia.vaughnsoft.net/live"},{"name":"US: Seattle, WA","url":"rtmp://live-sea.vaughnsoft.net/live"},{"name":"CA: Toronto","url":"rtmp://live-tor.vaughnsoft.net/live"},{"name":"EU: Amsterdam, NL","url":"rtmp://live-ams.vaughnsoft.net/live"},{"name":"EU: London, UK","url":"rtmp://live-lhr.vaughnsoft.net/live"},{"name":"EU: Paris, FR","url":"rtmp://live-lhr.vaughnsoft.net/live"},{"name":"Tokyo, JP","url":"rtmp://live-lhr.vaughnsoft.net/live"}],"recommended":{"keyint":2,"max video bitrate":15000,"max audio bitrate":320},"supported video codecs":["h264"]},{"name":"Breakers.TV","servers":[{"name":"US: Vint Hill, VA","url":"rtmp://live-iad.vaughnsoft.net/live"},{"name":"US: Vint Hill, VA #2","url":"rtmp://live-iad2.vaughnsoft.net/live"},{"name":"US: Dallas, TX","url":"rtmp://live-dfw.vaughnsoft.net/live"},{"name":"US: Denver, CO","url":"rtmp://live-den.vaughnsoft.net/live"},{"name":"US: New York, NY","url":"rtmp://live-nyc.vaughnsoft.net/live"},{"name":"US: Miami, FL","url":"rtmp://live-mia.vaughnsoft.net/live"},{"name":"US: Seattle, WA","url":"rtmp://live-sea.vaughnsoft.net/live"},{"name":"CA: Toronto","url":"rtmp://live-tor.vaughnsoft.net/live"},{"name":"EU: Amsterdam, NL","url":"rtmp://live-ams.vaughnsoft.net/live"},{"name":"EU: London, UK","url":"rtmp://live-lhr.vaughnsoft.net/live"},{"name":"EU: Paris, FR","url":"rtmp://live-lhr.vaughnsoft.net/live"},{"name":"Tokyo, JP","url":"rtmp://live-lhr.vaughnsoft.net/live"}],"recommended":{"keyint":2,"max video bitrate":15000,"max audio bitrate":320},"supported video codecs":["h264"]},{"name":"Facebook Live","common":true,"stream_key_link":"https://www.facebook.com/live/producer?ref=OBS","servers":[{"name":"Default","url":"rtmps://rtmp-api.facebook.com:443/rtmp/"}],"recommended":{"keyint":2,"profile":"main","supported resolutions":["1920x1080","1280x720","852x480","640x360"],"bitrate matrix":[{"res":"640x360","fps":30,"max bitrate":1000},{"res":"640x360","fps":60,"max bitrate":1500},{"res":"852x480","fps":30,"max bitrate":2000},{"res":"852x480","fps":60,"max bitrate":3000},{"res":"1280x720","fps":30,"max bitrate":4000},{"res":"1280x720","fps":60,"max bitrate":6000},{"res":"1920x1080","fps":30,"max bitrate":6000},{"res":"1920x1080","fps":60,"max bitrate":9000}],"max fps":60,"max video bitrate":9000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"Restream.io","alt_names":["Restream.io - RTMP","Restream.io - FTL"],"common":true,"stream_key_link":"https://restream.io/settings/streaming-setup?from=OBS","servers":[{"name":"Autodetect","url":"rtmp://live.restream.io/live"},{"name":"EU-West (London, GB)","url":"rtmp://london.restream.io/live"},{"name":"EU-West (Amsterdam, NL)","url":"rtmp://amsterdam.restream.io/live"},{"name":"EU-West (Paris, FR)","url":"rtmp://paris.restream.io/live"},{"name":"EU-Central (Frankfurt, DE)","url":"rtmp://frankfurt.restream.io/live"},{"name":"EU-South (Madrid, Spain)","url":"rtmp://madrid.restream.io/live"},{"name":"Turkey (Istanbul)","url":"rtmp://istanbul.restream.io/live"},{"name":"US-West (Seattle, WA)","url":"rtmp://seattle.restream.io/live"},{"name":"US-West (San Jose, CA)","url":"rtmp://sanjose.restream.io/live"},{"name":"US-Central (Dallas, TX)","url":"rtmp://dallas.restream.io/live"},{"name":"US-East (Chicago, IL)","url":"rtmp://chicago.restream.io/live"},{"name":"US-East (New York, NY)","url":"rtmp://newyork.restream.io/live"},{"name":"US-East (Washington, DC)","url":"rtmp://washington.restream.io/live"},{"name":"NA-East (Toronto, Canada)","url":"rtmp://toronto.restream.io/live"},{"name":"SA (Saint Paul, Brazil)","url":"rtmp://saopaulo.restream.io/live"},{"name":"India (Bangalore)","url":"rtmp://bangalore.restream.io/live"},{"name":"Asia (Hong Kong)","url":"rtmp://hongkong.restream.io/live"},{"name":"Asia (Singapore)","url":"rtmp://singapore.restream.io/live"},{"name":"Asia (Seoul, South Korea)","url":"rtmp://seoul.restream.io/live"},{"name":"Asia (Tokyo, Japan)","url":"rtmp://tokyo.restream.io/live"},{"name":"Australia (Sydney)","url":"rtmp://sydney.restream.io/live"}],"recommended":{"keyint":2},"supported video codecs":["h264"]},{"name":"Castr.io","servers":[{"name":"US-East (Chicago, IL)","url":"rtmp://cg.castr.io/static"},{"name":"US-East (New York, NY)","url":"rtmp://ny.castr.io/static"},{"name":"US-East (Miami, FL)","url":"rtmp://mi.castr.io/static"},{"name":"US-West (Seattle, WA)","url":"rtmp://se.castr.io/static"},{"name":"US-West (Los Angeles, CA)","url":"rtmp://la.castr.io/static"},{"name":"US-Central (Dallas, TX)","url":"rtmp://da.castr.io/static"},{"name":"NA-East (Toronto, CA)","url":"rtmp://qc.castr.io/static"},{"name":"Mexico","url":"rtmp://mexico.castr.io/static"},{"name":"Sao Paulo, BR","url":"rtmp://br.castr.io/static"},{"name":"Colombia","url":"rtmp://bogota.castr.io/static"},{"name":"Santiago, Chile","url":"rtmp://santiago.castr.io/static"},{"name":"Istanbul, TR","url":"rtmp://istanbul.castr.io/static"},{"name":"Tel Aviv, IL","url":"rtmp://telaviv.castr.io/static"},{"name":"EU-West (London, UK)","url":"rtmp://uk.castr.io/static"},{"name":"EU-West (Paris, FR)","url":"rtmp://paris.castr.io/static"},{"name":"EU-West (Madrid, ES)","url":"rtmp://madrid.castr.io/static"},{"name":"EU-Central (Frankfurt, DE)","url":"rtmp://fr.castr.io/static"},{"name":"EU-Central (Milan, IT)","url":"rtmp://milan.castr.io/static"},{"name":"EU-North (Stockholm, SE)","url":"rtmp://stockholm.castr.io/static"},{"name":"EU-North (Copenhagen, DK)","url":"rtmp://copenhagen.castr.io/static"},{"name":"Russia (Moscow)","url":"rtmp://ru.castr.io/static"},{"name":"Asia (Singapore)","url":"rtmp://sg.castr.io/static"},{"name":"Asia (Hong Kong, HK)","url":"rtmp://hongkong.castr.io/static"},{"name":"Asia (India)","url":"rtmp://in.castr.io/static"},{"name":"Australia (Sydney)","url":"rtmp://au.castr.io/static"},{"name":"UAE (Dubai)","url":"rtmp://dubai.castr.io/static"},{"name":"Africa (Johannesburg, ZA)","url":"rtmp://southafrica.castr.io/static"},{"name":"Africa (Lagos, NG)","url":"rtmp://lagos.castr.io/static"},{"name":"US Central","url":"rtmp://us-central.castr.io/static"},{"name":"US West","url":"rtmp://us-west.castr.io/static"},{"name":"US East","url":"rtmp://us-east.castr.io/static"},{"name":"US South","url":"rtmp://us-south.castr.io/static"},{"name":"South America","url":"rtmp://south-am.castr.io/static"},{"name":"EU Central","url":"rtmp://eu-central.castr.io/static"},{"name":"Singapore","url":"rtmp://sg-central.castr.io/static"}],"recommended":{"keyint":2},"supported video codecs":["h264"]},{"name":"Boomstream","servers":[{"name":"Default","url":"rtmp://live.boomstream.com/live"}],"supported video codecs":["h264"]},{"name":"Meridix Live Sports Platform","servers":[{"name":"Primary","url":"rtmp://publish.meridix.com/live"}],"recommended":{"max video bitrate":3500},"supported video codecs":["h264"]},{"name":"SOOP Korea","alt_names":["AfreecaTV","아프리카TV","Afreeca.TV"],"servers":[{"name":"Asia : Korea","url":"rtmp://stream.sooplive.co.kr/app/"},{"name":"North America : US East","url":"rtmp://rtmp-esu.sooplive.co.kr/app/"},{"name":"North America : US West","url":"rtmp://rtmp-wsu.sooplive.co.kr/app/"},{"name":"South America : Brazil","url":"rtmp://rtmp-brz.sooplive.co.kr/app/"},{"name":"Europe : UK","url":"rtmp://rtmp-uk.sooplive.co.kr/app/"},{"name":"Asia : Singapore","url":"rtmp://rtmp-sgp.sooplive.co.kr/app/"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":8000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"CAM4","servers":[{"name":"CAM4","url":"rtmp://origin.cam4.com/cam4-origin-live"}],"recommended":{"keyint":1,"profile":"baseline","max video bitrate":3000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"ePlay","servers":[{"name":"ePlay Primary","url":"rtmp://live.eplay.link/origin"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":7500,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Picarto","servers":[{"name":"Autoselect closest server","url":"rtmp://live.us.picarto.tv/golive"},{"name":"Los Angeles, USA","url":"rtmp://live.us-losangeles.picarto.tv/golive"},{"name":"Dallas, USA","url":"rtmp://live.us-dallas.picarto.tv/golive"},{"name":"Miami, USA","url":"rtmp://live.us-miami.picarto.tv/golive"},{"name":"New York, USA","url":"rtmp://live.us-newyork.picarto.tv/golive"},{"name":"Europe","url":"rtmp://live.eu-west1.picarto.tv/golive"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":3500},"supported video codecs":["h264"]},{"name":"Uscreen","servers":[{"name":"Default","url":"rtmp://global-live.uscreen.app:5222/app"}],"recommended":{"keyint":2,"max video bitrate":8000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Stripchat","servers":[{"name":"Auto","url":"rtmp://live.doppiocdn.com/ext"}],"recommended":{"keyint":2,"profile":"main","bframes":0,"max video bitrate":6000,"max audio bitrate":128,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"CamSoda","servers":[{"name":"North America","url":"rtmp://obs-ingest-na.livemediahost.com/cam_obs"},{"name":"South America","url":"rtmp://obs-ingest-sa.livemediahost.com/cam_obs"},{"name":"Asia","url":"rtmp://obs-ingest-as.livemediahost.com/cam_obs"},{"name":"Europe","url":"rtmp://obs-ingest-eu.livemediahost.com/cam_obs"},{"name":"Oceania","url":"rtmp://obs-ingest-oc.livemediahost.com/cam_obs"}],"recommended":{"supported resolutions":["1920x1080","1280x720","852x480","480x360"],"max fps":30,"max video bitrate":6000,"max audio bitrate":160,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"Chaturbate","stream_key_link":"https://chaturbate.com/b/?useExternalSoftware=true","more_info_link":"https://support.chaturbate.com/hc/en-us/articles/360037971952-How-do-I-set-up-OBS","servers":[{"name":"Global Main Fastest - Recommended","url":"rtmp://global.live.mmcdn.com/live-origin"},{"name":"Global Backup","url":"rtmp://global-backup.live.mmcdn.com/live-origin"},{"name":"Asia: Mumbai, India","url":"rtmp://bom.live.mmcdn.com/live-origin"},{"name":"Asia: Singapore","url":"rtmp://sin.live.mmcdn.com/live-origin"},{"name":"Asia: Taiwan","url":"rtmp://tsa.live.mmcdn.com/live-origin"},{"name":"Asia: Tokyo, Japan","url":"rtmp://nrt.live.mmcdn.com/live-origin"},{"name":"Australasia: Sydney, Australia","url":"rtmp://syd.live.mmcdn.com/live-origin"},{"name":"EU East: Sofia, Bulgaria","url":"rtmp://sof.live.mmcdn.com/live-origin"},{"name":"EU East: Warsaw, Poland","url":"rtmp://waw.live.mmcdn.com/live-origin"},{"name":"EU North: Helsinki, Finland","url":"rtmp://hel.live.mmcdn.com/live-origin"},{"name":"EU West: Amsterdam, Netherlands","url":"rtmp://ams.live.mmcdn.com/live-origin"},{"name":"EU West: Frankfurt, Germany","url":"rtmp://fra.live.mmcdn.com/live-origin"},{"name":"EU West: Madrid, Spain","url":"rtmp://mad.live.mmcdn.com/live-origin"},{"name":"EU West: Milan, Italy","url":"rtmp://mxp.live.mmcdn.com/live-origin"},{"name":"EU West: Rotterdam, Netherlands","url":"rtmp://rtm.live.mmcdn.com/live-origin"},{"name":"South America: Bogota, Colombia","url":"rtmp://bog.live.mmcdn.com/live-origin"},{"name":"South America: Sao Paulo, Brazil","url":"rtmp://gru.live.mmcdn.com/live-origin"},{"name":"US Central: Austin, TX","url":"rtmp://aus.live.mmcdn.com/live-origin"},{"name":"US Central: Chicago, IL","url":"rtmp://chi.live.mmcdn.com/live-origin"},{"name":"US East: Ashburn, VA","url":"rtmp://ash.live.mmcdn.com/live-origin"},{"name":"US East: Atlanta, GA","url":"rtmp://atl.live.mmcdn.com/live-origin"},{"name":"US East: Miami, FL","url":"rtmp://mia.live.mmcdn.com/live-origin"},{"name":"US West: Los Angeles, CA","url":"rtmp://lax.live.mmcdn.com/live-origin"},{"name":"US West: Phoenix, AZ","url":"rtmp://phx.live.mmcdn.com/live-origin"},{"name":"US West: Salt Lake City, UT","url":"rtmp://slc.live.mmcdn.com/live-origin"},{"name":"US West: Seattle, WA","url":"rtmp://sea.live.mmcdn.com/live-origin"}],"recommended":{"keyint":2,"max video bitrate":50000,"max audio bitrate":192,"supported resolutions":["3840x2160","2560x1440","1920x1080","1280x720","960x540","852x480","640x360"],"max fps":60},"supported video codecs":["h264"]},{"name":"WpStream","more_info_link":"https://wpstream.net/obs-more-info","stream_key_link":"https://wpstream.net/obs-get-stream-key","servers":[{"name":"Closest server - Automatic","url":"rtmp://ingest.wpstream.net/golive"},{"name":"North America","url":"rtmp://ingest-na.wpstream.net/golive"},{"name":"Europe","url":"rtmp://ingest-eu.wpstream.net/golive"},{"name":"Asia","url":"rtmp://ingest-as.wpstream.net/golive"},{"name":"South America","url":"rtmp://ingest-sa.wpstream.net/golive"},{"name":"Australia & Oceania","url":"rtmp://ingest-au.wpstream.net/golive"}],"recommended":{"keyint":2,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Twitter","common":true,"stream_key_link":"https://studio.twitter.com/producer/sources","alt_names":["Twitter / Periscope"],"servers":[{"name":"US West: California","url":"rtmp://ca.pscp.tv:80/x"},{"name":"US West: Oregon","url":"rtmp://or.pscp.tv:80/x"},{"name":"US East: Virginia","url":"rtmp://va.pscp.tv:80/x"},{"name":"South America: Brazil","url":"rtmp://br.pscp.tv:80/x"},{"name":"EU West: France","url":"rtmp://fr.pscp.tv:80/x"},{"name":"EU West: Ireland","url":"rtmp://ie.pscp.tv:80/x"},{"name":"EU Central: Germany","url":"rtmp://de.pscp.tv:80/x"},{"name":"Asia/Pacific: Australia","url":"rtmp://au.pscp.tv:80/x"},{"name":"Asia/Pacific: India","url":"rtmp://in.pscp.tv:80/x"},{"name":"Asia/Pacific: Japan","url":"rtmp://jp.pscp.tv:80/x"},{"name":"Asia/Pacific: Korea","url":"rtmp://kr.pscp.tv:80/x"},{"name":"Asia/Pacific: Singapore","url":"rtmp://sg.pscp.tv:80/x"}],"recommended":{"keyint":3,"max video bitrate":12000,"max audio bitrate":128,"max fps":60},"supported video codecs":["h264"]},{"name":"Switchboard Live","alt_names":["Switchboard Live (Joicaster)"],"servers":[{"name":"Default","url":"rtmps://live.sb.zone:443/live"}],"recommended":{"keyint":2,"profile":"high"},"supported video codecs":["h264"]},{"name":"Eventials","servers":[{"name":"Default","url":"rtmp://transmission.eventials.com/eventialsLiveOrigin"}],"recommended":{"keyint":1,"profile":"baseline","max video bitrate":900,"max audio bitrate":96},"supported video codecs":["h264"]},{"name":"EventLive.pro","servers":[{"name":"Default","url":"rtmp://go.eventlive.pro/live"}],"recommended":{"keyint":2,"max video bitrate":3000,"max audio bitrate":192,"supported resolutions":["1920x1080","1280x720"],"max fps":30},"supported video codecs":["h264"]},{"name":"Lahzenegar - StreamG | لحظه‌نگار - استریمجی","servers":[{"name":"Primary","url":"rtmp://rtmp.lahzecdn.com/pro"},{"name":"Iran","url":"rtmp://rtmp-iran.lahzecdn.com/pro"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":4000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"MyLive","servers":[{"name":"Default","url":"rtmp://stream.mylive.in.th/live"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":7000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Trovo","alt_names":["Madcat"],"stream_key_link":"https://studio.trovo.live/mychannel/stream","servers":[{"name":"Default","url":"rtmp://livepush.trovo.live/live/"}],"recommended":{"keyint":2,"max video bitrate":9000,"max audio bitrate":160,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"Mixcloud","servers":[{"name":"Default","url":"rtmp://rtmp.mixcloud.com/broadcast"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":320,"supported resolutions":["1280x720","852x480","480x360"],"max fps":30,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"SermonAudio Cloud","alt_names":["SermonAudio.com"],"servers":[{"name":"Primary","url":"rtmp://webcast.sermonaudio.com/sa"}],"recommended":{"max video bitrate":2000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"Vimeo","servers":[{"name":"Default","url":"rtmp://rtmp.cloud.vimeo.com/live"}],"supported video codecs":["h264"]},{"name":"Aparat","servers":[{"name":"Default","url":"rtmp://rtmp.cdn.asset.aparat.com:443/event"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":320,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"KakaoTV","servers":[{"name":"Default","url":"rtmp://rtmp.play.kakao.com/kakaotv"}],"recommended":{"max video bitrate":8000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Piczel.tv","servers":[{"name":"Default","url":"rtmp://piczel.tv:1935/live"}],"recommended":{"keyint":4,"max video bitrate":2500,"max audio bitrate":256,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"STAGE TEN","servers":[{"name":"STAGE TEN","url":"rtmps://app-rtmp.stageten.tv:443/stageten"}],"recommended":{"keyint":2,"profile":"baseline","max video bitrate":4000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"DLive","servers":[{"name":"Default","url":"rtmp://stream.dlive.tv/live"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Lightcast.com","servers":[{"name":"North America 1","url":"rtmp://ingest-na1.live.lightcast.com/in"},{"name":"North America 2","url":"rtmp://ingest-na2.live.lightcast.com/in"},{"name":"Europe","url":"rtmp://ingest-eu1.live.lightcast.com/in"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":320,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"Bongacams","servers":[{"name":"Automatic / Default","url":"rtmp://auto.origin.gnsbc.com:1934/live"},{"name":"Automatic / Backup","url":"rtmp://origin.bcvidorigin.com:1934/live"},{"name":"Europe","url":"rtmp://z-eu.origin.gnsbc.com:1934/live"},{"name":"North America","url":"rtmp://z-us.origin.gnsbc.com:1934/live"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":192,"bframes":0,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"OnlyFans.com","stream_key_link":"https://onlyfans.com/my/settings/other","servers":[{"name":"CloudBeta","url":"rtmp://cloudbetastreaming.onlyfans.com/live"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":2500,"max audio bitrate":192,"bframes":0,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"Steam","common":false,"servers":[{"name":"Default","url":"rtmp://ingest-rtmp.broadcast.steamcontent.com/app"}],"recommended":{"keyint":2,"profile":"high","max video bitrate":7000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"Konduit.live","servers":[{"name":"Default","url":"rtmp://rtmp.konduit.live/live"}],"recommended":{"keyint":2,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"niconico (ニコニコ生放送)","more_info_link":"https://qa.nicovideo.jp/faq/show/701","alt_names":["niconico, premium member (ニコニコ生放送 プレミアム会員)","niconico, free member (ニコニコ生放送 一般会員)"],"servers":[{"name":"Default","url":"rtmp://liveorigin.dlive.nicovideo.jp/live/input"}],"recommended":{"keyint":2,"profile":"high","max audio bitrate":192,"max video bitrate":5808,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"Nimo TV","servers":[{"name":"Global:2","url":"rtmp://txpush.rtmp.nimo.tv/live/"},{"name":"Global:3","url":"rtmp://alpush.rtmp.nimo.tv/live/"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"XLoveCam.com","servers":[{"name":"Europe(main)","url":"rtmp://nl.eu.stream.xlove.com/performer-origin"},{"name":"Europe(Romania)","url":"rtmp://ro.eu.stream.xlove.com/performer-origin"},{"name":"Europe(Russia)","url":"rtmp://ru.eu.stream.xlove.com/performer-origin"},{"name":"North America(US East)","url":"rtmp://usec.na.stream.xlove.com/performer-origin"},{"name":"North America(US West)","url":"rtmp://uswc.na.stream.xlove.com/performer-origin"},{"name":"North America(Canada)","url":"rtmp://ca.na.stream.xlove.com/performer-origin"},{"name":"South America","url":"rtmp://co.sa.stream.xlove.com/performer-origin"},{"name":"Asia","url":"rtmp://sg.as.stream.xlove.com/performer-origin"}],"recommended":{"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"AngelThump","servers":[{"name":"Auto","url":"rtmp://ingest.angelthump.com/live"},{"name":"New York 3","url":"rtmp://nyc-ingest.angelthump.com:1935/live"},{"name":"San Francisco 2","url":"rtmp://sfo-ingest.angelthump.com:1935/live"},{"name":"Singapore 1","url":"rtmp://sgp-ingest.angelthump.com:1935/live"},{"name":"London 1","url":"rtmp://lon-ingest.angelthump.com:1935/live"},{"name":"Frankfurt 1","url":"rtmp://fra-ingest.angelthump.com:1935/live"},{"name":"Toronto 1","url":"rtmp://tor-ingest.angelthump.com:1935/live"},{"name":"Amsterdam 3","url":"rtmp://ams-ingest.angelthump.com:1935/live"}],"recommended":{"keyint":2,"profile":"high","max video bitrate":3500,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"api.video","servers":[{"name":"Default","url":"rtmp://broadcast.api.video/s"}],"recommended":{"keyint":2,"max video bitrate":20000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"SHOWROOM","protocol":"RTMP","servers":[{"name":"Default","url":"https://www.showroom-live.com/api/obs/streaming_info?obs_key="}],"recommended":{"keyint":2,"profile":"main","max video bitrate":1500,"max audio bitrate":160,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"Mux","servers":[{"name":"Global (RTMPS)","url":"rtmps://global-live.mux.com:443/app"},{"name":"Global (RTMP)","url":"rtmp://global-live.mux.com:5222/app"}],"recommended":{"keyint":2,"max video bitrate":5000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Viloud","servers":[{"name":"Default","url":"rtmp://live.viloud.tv:5222/app"}],"recommended":{"keyint":2,"max video bitrate":5000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"MyFreeCams","servers":[{"name":"Automatic","url":"rtmp://publish.myfreecams.com/NxServer"},{"name":"Australia","url":"rtmp://publish-syd.myfreecams.com/NxServer"},{"name":"East Asia","url":"rtmp://publish-tyo.myfreecams.com/NxServer"},{"name":"Europe (East)","url":"rtmp://publish-buh.myfreecams.com/NxServer"},{"name":"Europe (West)","url":"rtmp://publish-ams.myfreecams.com/NxServer"},{"name":"North America (East Coast)","url":"rtmp://publish-ord.myfreecams.com/NxServer"},{"name":"North America (West Coast)","url":"rtmp://publish-tuk.myfreecams.com/NxServer"},{"name":"South America","url":"rtmp://publish-sao.myfreecams.com/NxServer"}],"recommended":{"keyint":1,"profile":"high","max fps":60,"max video bitrate":10000,"max audio bitrate":192,"x264opts":"tune=zerolatency scenecut=0"},"supported video codecs":["h264"]},{"name":"PolyStreamer.com","servers":[{"name":"Auto-select closest server","url":"rtmp://live.polystreamer.com/live"},{"name":"United States - West","url":"rtmp://us-west.live.polystreamer.com/live"},{"name":"United States - East","url":"rtmp://us-east.live.polystreamer.com/live"},{"name":"Australia","url":"rtmp://aus.live.polystreamer.com/live"},{"name":"India","url":"rtmp://ind.live.polystreamer.com/live"},{"name":"Germany","url":"rtmp://deu.live.polystreamer.com/live"},{"name":"Japan","url":"rtmp://jpn.live.polystreamer.com/live"},{"name":"Singapore","url":"rtmp://sgp.live.polystreamer.com/live"}],"recommended":{"keyint":2},"supported video codecs":["h264"]},{"name":"OPENREC.tv - Premium member (プレミアム会員)","stream_key_link":"https://www.openrec.tv/login?keep_login=true&url=https://www.openrec.tv/dashboard/live?from=obs","servers":[{"name":"Default","url":"rtmp://a.station.openrec.tv:1935/live1"}],"recommended":{"keyint":2,"max video bitrate":5000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"nanoStream Cloud / bintu","more_info_link":"https://www.nanocosmos.de/obs","stream_key_link":"https://bintu-cloud-frontend.nanocosmos.de/organisation","servers":[{"name":"bintu-stream global ingest (rtmp)","url":"rtmp://bintu-stream.nanocosmos.de/live"},{"name":"bintu-stream global ingest (rtmps)","url":"rtmps://bintu-stream.nanocosmos.de:1937/live"},{"name":"bintu-vtrans global ingest with transcoding/ABR (rtmp)","url":"rtmp://bintu-vtrans.nanocosmos.de/live"},{"name":"bintu-vtrans global ingest with transcoding/ABR (rtmps)","url":"rtmps://bintu-vtrans.nanocosmos.de:1937/live"},{"name":"bintu-stream Europe (EU)","url":"rtmp://bintu-stream-eu.nanocosmos.de/live"},{"name":"bintu-stream USA West (USW)","url":"rtmp://bintu-stream-usw.nanocosmos.de/live"},{"name":"bintu-stream US East (USE)","url":"rtmp://bintu-stream-use.nanocosmos.de/live"},{"name":"bintu-stream Asia South (ASS)","url":"rtmp://bintu-stream-ass.nanocosmos.de/live"},{"name":"bintu-stream Australia (AU)","url":"rtmp://bintu-stream-au.nanocosmos.de/live"},{"name":"bintu-vtrans Europe (EU)","url":"rtmp://bintu-vtrans-eu.nanocosmos.de/live"},{"name":"bintu-vtrans USA West (USW)","url":"rtmp://bintu-vtrans-usw.nanocosmos.de/live"},{"name":"bintu-vtrans US East (USE)","url":"rtmp://bintu-vtrans-use.nanocosmos.de/live"},{"name":"bintu-vtrans Asia South (ASS)","url":"rtmp://bintu-vtrans-ass.nanocosmos.de/live"},{"name":"bintu-vtrans Australia (AU)","url":"rtmp://bintu-vtrans-au.nanocosmos.de/live"}],"recommended":{"keyint":2,"profile":"baseline","bframes":0,"max video bitrate":5000,"max audio bitrate":192,"x264opts":"tune=zerolatency b-pyramid=0 scenecut=0"},"supported video codecs":["h264"]},{"name":"Dacast","protocol":"RTMP","servers":[{"name":"Default","url":"https://developer.dacast.com/v3/encoder-setup/"}],"recommended":{"keyint":1,"profile":"high","max video bitrate":7000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"Bilibili Live - RTMP | 哔哩哔哩直播 - RTMP","more_info_link":"https://link.bilibili.com/p/help/index?id=4#/tools-tutorial","stream_key_link":"https://link.bilibili.com/p/center/index#/my-room/start-live","alt_names":["Bilibili Live"],"servers":[{"name":"Global - Primary | 全球 - 主要","url":"rtmp://live-push.bilivideo.com/live-bvc/"},{"name":"Non Chinese Mainland - Primary | 非中国大陆地区 - 主要","url":"rtmp://bdy.live-push.bilivideo.com/live-bvc/"},{"name":"Chinese Mainland - Backup | 中国大陆地区 - 备用","url":"rtmp://txy2.live-push.bilivideo.com/live-bvc/"},{"name":"Non Chinese Mainland - Backup | 非中国大陆地区 - 备用","url":"rtmp://txy.live-push.bilivideo.com/live-bvc/"}],"supported video codecs":["h264","hevc"]},{"name":"BoxCast","stream_key_link":"https://dashboard.boxcast.com/#/sources","servers":[{"name":"BoxCast","url":"rtmp://rtmp.boxcast.com/live"}],"supported video codecs":["h264"]},{"name":"Disciple Media","servers":[{"name":"Default","url":"rtmp://rtmp.disciplemedia.com/b-fme"}],"supported video codecs":["h264"]},{"name":"Jio Games","servers":[{"name":"Primary","url":"rtmp://livepub1.api.engageapps.jio/live"},{"name":"Secondary","url":"rtmp://livepub2.api.engageapps.jio/live"}],"recommended":{"keyint":2,"max video bitrate":32000,"max audio bitrate":256},"supported video codecs":["h264"]},{"name":"Kuaishou Live","stream_key_link":"https://studio.kuaishou.com/live/list","servers":[{"name":"Default","url":"rtmp://open-push.voip.yximgs.com/gifshow/"},{"name":"North America","url":"rtmp://tx.push.yximgs.com/live/"}],"supported video codecs":["h264"]},{"name":"PhoneLiveStreaming","stream_key_link":"https://app.phonelivestreaming.com/media/rtmp","servers":[{"name":"PhoneLiveStreaming","url":"rtmp://live.phonelivestreaming.com/live/"}],"recommended":{"keyint":2,"max video bitrate":128,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Sympla","servers":[{"name":"Sympla RTMP","url":"rtmp://rtmp.sympla.com.br:5222/app"}],"recommended":{"keyint":2,"max video bitrate":5000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Livepush","more_info_link":"https://docs.livepush.io/en/articles/5065323-how-to-stream-live-from-obs-to-livepush","servers":[{"name":"Livepush Global (Default)","url":"rtmp://dc-global.livepush.io/live"},{"name":"Chicago, US","url":"rtmp://us-central-ch.livepush.io/live"},{"name":"New York, US","url":"rtmp://us-east-ny.livepush.io/live"},{"name":"Los Angeles, US","url":"rtmp://us-west-la.livepush.io/live"},{"name":"Miami, US","url":"rtmp://us-south-mia.livepush.io/live"},{"name":"Dallas, US","url":"rtmp://us-central-dal.livepush.io/live"},{"name":"Montreal, CA","url":"rtmp://ca-central-mon.livepush.io/live"},{"name":"Toronto, CA","url":"rtmp://ca-south-tor.livepush.io/live"},{"name":"Sydney, AU","url":"rtmp://au-east-syd.livepush.io/live"},{"name":"London, UK","url":"rtmp://uk-central-ldn.livepush.io/live"},{"name":"Milan, Italy","url":"rtmp://it-north-mln.livepush.io/live"},{"name":"Paris, FR","url":"rtmp://fr-central-par.livepush.io/live"},{"name":"Singapore","url":"rtmp://as-southeast-sg.livepush.io/live"},{"name":"Bangalore, IN","url":"rtmp://in-south-blr.livepush.io/live"}],"recommended":{"keyint":2,"max video bitrate":16000},"supported video codecs":["h264"]},{"name":"Vindral","more_info_link":"https://docs.vindral.com/docs/vindral-cdn/","stream_key_link":"https://portal.cdn.vindral.com/channels","servers":[{"name":"Global","url":"rtmps://rtmp.global.cdn.vindral.com/publish"}],"recommended":{"keyint":1,"profile":"high","bframes":0,"max video bitrate":20000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Whowatch (ふわっち)","more_info_link":"https://whowatch.tv/help/encoder","stream_key_link":"https://whowatch.tv/publish","servers":[{"name":"default","url":"rtmp://live.whowatch.tv/live/"}],"recommended":{"keyint":2,"max video bitrate":1800,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"IRLToolkit","stream_key_link":"https://irl.run/settings/ingest/","servers":[{"name":"Global (Recommended)","url":"rtmps://stream.global.irl.run/ingest"},{"name":"Los Angeles, US","url":"rtmps://stream.lax.irl.run/ingest"},{"name":"Dallas, US","url":"rtmps://stream.dal.irl.run/ingest"},{"name":"New York, US","url":"rtmps://stream.ewr.irl.run/ingest"},{"name":"Miami, US","url":"rtmps://stream.mia.irl.run/ingest"},{"name":"Amsterdam, NL","url":"rtmps://stream.ams.irl.run/ingest"},{"name":"Frankfurt, DE","url":"rtmps://stream.fra.irl.run/ingest"},{"name":"Singapore","url":"rtmps://stream.sin.irl.run/ingest"},{"name":"Tokyo, JP","url":"rtmps://stream.tyo.irl.run/ingest"},{"name":"Sydney, AU","url":"rtmps://stream.syd.irl.run/ingest"}],"recommended":{"keyint":2,"bframes":2,"max video bitrate":20000,"max audio bitrate":256},"supported video codecs":["h264"]},{"name":"Bitmovin","more_info_link":"https://developer.bitmovin.com/docs/overview","stream_key_link":"https://bitmovin.com/dashboard/streams?streamsTab=LIVE","servers":[{"name":"Streams Live","url":"rtmp://live-input.bitmovin.com/streams"}],"recommended":{"keyint":2},"supported video codecs":["h264"]},{"name":"Enchant.events","more_info_link":"https://docs.enchant.events/knowledge-base-y4pOb","servers":[{"name":"Primary RTMPS","url":"rtmps://stream.enchant.cloud:443/live"}],"recommended":{"keyint":2,"profile":"high","max video bitrate":9000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Joystick.TV","more_info_link":"https://support.joystick.tv/live_streaming/","stream_key_link":"https://joystick.tv/stream-settings","servers":[{"name":"North America","url":"rtmp://live.joystick.tv/live/"},{"name":"Europe","url":"rtmp://eu.live.joystick.tv/live/"}],"recommended":{"keyint":2,"max video bitrate":7500,"max audio bitrate":192,"max fps":60,"profile":"main","bframes":0,"x264opts":"tune=zerolatency scenecut=0"},"supported video codecs":["h264"]},{"name":"Livepeer Studio","more_info_link":"https://docs.livepeer.org/guides/developing/stream-via-obs","stream_key_link":"https://livepeer.studio/dashboard/streams","servers":[{"name":"Global (RTMP)","url":"rtmp://rtmp.livepeer.com/live"},{"name":"Global (RTMP Primary)","url":"rtmp://rtmp-a.livepeer.com/live"},{"name":"Global (RTMP Backup)","url":"rtmp://rtmp-b.livepeer.com/live"}],"recommended":{"keyint":1,"profile":"high","bframes":0,"max video bitrate":20000,"max audio bitrate":512},"supported video codecs":["h264"]},{"name":"MasterStream.iR | مستراستریم | ری استریم و استریم همزمان","common":false,"more_info_link":"https://masterstream.ir/webpage/page/docs","stream_key_link":"https://masterstream.ir/control-panel/streaming","servers":[{"name":"Iran Server 1 - Bandwidth Required","url":"rtmp://live1.masterstream.ir/live"},{"name":"Iran Server 2 - Bandwidth Required","url":"rtmp://live2.masterstream.ir/live"},{"name":"Iran Server 3 - Bandwidth Required","url":"rtmp://live3.masterstream.ir/live"},{"name":"Iran Server 4 - Bandwidth Required","url":"rtmp://live4.masterstream.ir/live"},{"name":"Iran Server 5 - Bandwidth Required","url":"rtmp://live5.masterstream.ir/live"},{"name":"International Server 1","url":"rtmp://ilive1.masterstream.ir/live"},{"name":"International Server 2","url":"rtmp://ilive2.masterstream.ir/live"},{"name":"International Server 3","url":"rtmp://ilive3.masterstream.ir/live"},{"name":"International Server 4","url":"rtmp://ilive4.masterstream.ir/live"}],"protocol":"RTMP","supported video codecs":["h264"],"recommended":{"keyint":2,"supported resolutions":["1920x1080","1280x720","852x480","640x360"],"max video bitrate":6000,"max audio bitrate":320,"x264opts":"scenecut=0"}},{"name":"PandaTV | 팬더티비","common":false,"servers":[{"name":"Default","url":"rtmp://rtmp.pandalive.co.kr/app"}],"recommended":{"keyint":2,"supported resolutions":["1920x1080","1280x720","852x480","640x360"],"max video bitrate":7500,"max audio bitrate":320,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"Vault - by CommanderRoot","common":false,"more_info_link":"https://vault.root-space.eu/","stream_key_link":"https://vault.root-space.eu/recordings","servers":[{"name":"EU - Central","url":"rtmp://ingest-eu-central.vault.root-space.eu/app"},{"name":"US - West","url":"rtmp://ingest-us-west.vault.root-space.eu/app"}],"protocol":"RTMP","supported video codecs":["h264"],"supported audio codecs":["aac"],"recommended":{"keyint":2,"max video bitrate":7800,"max audio bitrate":320,"x264opts":"scenecut=0"}},{"name":"CHZZK","common":false,"stream_key_link":"https://studio.chzzk.naver.com/setting","servers":[{"name":"Default","url":"rtmp://global-rtmp.lip2.navercorp.com:8080/relay"}],"supported video codecs":["h264"],"recommended":{"keyint":1,"bframes":0,"max fps":60,"max video bitrate":8000,"max audio bitrate":192,"x264opts":"tune=zerolatency scenecut=0","supported resolutions":["1920x1080"]}},{"name":"Streamway","common":false,"more_info_link":"https://support.streamway.in/how-to-connect-obs-studio-to-streamway/","stream_key_link":"https://app.streamway.in/broadcasts","servers":[{"name":"Primary","url":"rtmp://injest.streamway.in/LiveApp"},{"name":"Backup","url":"rtmps://bkp.streamway.in:443/live"}],"protocol":"RTMP","supported video codecs":["h264"],"recommended":{"keyint":2}},{"name":"SharePlay.tv","common":false,"stream_key_link":"https://playstudio.shareplay.tv/stream/settings","servers":[{"name":"Default (Auto Detect)","url":"rtmp://stream.shareplay.tv"},{"name":"Atlanta, Georgia, USA","url":"rtmp://live-us-atl-stream.shareplay.tv"},{"name":"Chicago, Illinois, USA","url":"rtmp://live-us-ord-stream.shareplay.tv"},{"name":"Dallas, Texas, USA","url":"rtmp://live-us-dfw-stream.shareplay.tv"},{"name":"Los Angeles, California, USA","url":"rtmp://live-us-lax-stream.shareplay.tv"},{"name":"Miami, Florida, USA","url":"rtmp://live-us-mia-stream.shareplay.tv"},{"name":"Seattle, Washington, USA","url":"rtmp://live-us-sea-stream.shareplay.tv"},{"name":"Washington D.C., USA","url":"rtmp://live-us-iad-stream.shareplay.tv"},{"name":"Toronto, Canada","url":"rtmp://live-ca-yyz-stream.shareplay.tv"},{"name":"Paris, France","url":"rtmp://live-fr-par-stream.shareplay.tv"},{"name":"London, UK","url":"rtmp://live-uk-lhr-stream.shareplay.tv"},{"name":"Milan, Italy","url":"rtmp://live-it-mil-stream.shareplay.tv"},{"name":"Sydney, Australia","url":"rtmp://live-au-syd-stream.shareplay.tv"}],"supported video codecs":["h264"],"recommended":{"keyint":2,"max video bitrate":12000,"max audio bitrate":320}},{"name":"sheeta","common":false,"more_info_link":"https://partner-support.sheeta.com/hc/ja/articles/4404573942425-%E7%94%9F%E6%94%BE%E9%80%81%E3%81%AE%E9%85%8D%E4%BF%A1%E6%96%B9%E6%B3%95","servers":[{"name":"Default","url":"rtmp://lsm.sheeta.com:1935/lsm"}],"protocol":"RTMP","supported video codecs":["h264"],"supported audio codecs":["aac"],"recommended":{"keyint":1,"profile":"main","supported resolutions":["1920x1080","1280x720","854x480","640x480"],"bitrate matrix":[{"res":"1920x1080","fps":30,"max bitrate":6000},{"res":"1280x720","fps":30,"max bitrate":4700},{"res":"854x480","fps":30,"max bitrate":3400},{"res":"640x480","fps":30,"max bitrate":3400},{"res":"1920x1080","fps":60,"max bitrate":9000},{"res":"1280x720","fps":60,"max bitrate":7000},{"res":"854x480","fps":60,"max bitrate":5000},{"res":"640x480","fps":60,"max bitrate":5000}],"max fps":60,"max video bitrate":9000,"max audio bitrate":512,"x264opts":"scenecut=0","output":"rtmp_output"}},{"name":"Amazon IVS","supported video codecs":["h264"],"servers":[{"name":"Asia: China, Hong Kong (6) (RTMPS)","url":"rtmps://hkg06.contribute.live-video.net/app"},{"name":"Asia: India, Bangalore (1) (RTMPS)","url":"rtmps://blr01.contribute.live-video.net/app"},{"name":"Asia: India, Chennai (RTMPS)","url":"rtmps://maa01.contribute.live-video.net/app"},{"name":"Asia: India, Hyderabad (1) (RTMPS)","url":"rtmps://hyd01.contribute.live-video.net/app"},{"name":"Asia: India, Mumbai (RTMPS)","url":"rtmps://bom01.contribute.live-video.net/app"},{"name":"Asia: India, New Delhi (RTMPS)","url":"rtmps://del01.contribute.live-video.net/app"},{"name":"Asia: Indonesia, Cikarang Barat (1) (RTMPS)","url":"rtmps://jkt01.contribute.live-video.net/app"},{"name":"Asia: Indonesia, Jakarta (2) (RTMPS)","url":"rtmps://jkt02.contribute.live-video.net/app"},{"name":"Asia: Japan, Osaka (1) (RTMPS)","url":"rtmps://osa01.contribute.live-video.net/app"},{"name":"Asia: Japan, Tokyo (3) (RTMPS)","url":"rtmps://tyo03.contribute.live-video.net/app"},{"name":"Asia: Japan, Tokyo (5) (RTMPS)","url":"rtmps://tyo05.contribute.live-video.net/app"},{"name":"Asia: Manila, Philippines (1) (RTMPS)","url":"rtmps://mnl01.contribute.live-video.net/app"},{"name":"Asia: Singapore (1) (RTMPS)","url":"rtmps://sin01.contribute.live-video.net/app"},{"name":"Asia: Singapore (4) (RTMPS)","url":"rtmps://sin04.contribute.live-video.net/app"},{"name":"Asia: South Korea, Seoul (3) (RTMPS)","url":"rtmps://sel03.contribute.live-video.net/app"},{"name":"Asia: South Korea, Seoul (4) (RTMPS)","url":"rtmps://sel04.contribute.live-video.net/app"},{"name":"Asia: Taiwan, Taipei (1) (RTMPS)","url":"rtmps://tpe01.contribute.live-video.net/app"},{"name":"Asia: Taiwan, Taipei (3) (RTMPS)","url":"rtmps://tpe03.contribute.live-video.net/app"},{"name":"Asia: Thailand, Bangkok (2) (RTMPS)","url":"rtmps://bkk02.contribute.live-video.net/app"},{"name":"Europe: Austria, Vienna (2) (RTMPS)","url":"rtmps://vie02.contribute.live-video.net/app"},{"name":"Europe: Czech Republic, Prague (RTMPS)","url":"rtmps://prg03.contribute.live-video.net/app"},{"name":"Europe: Denmark, Copenhagen (RTMPS)","url":"rtmps://cph.contribute.live-video.net/app"},{"name":"Europe: Finland, Helsinki (3) (RTMPS)","url":"rtmps://hel03.contribute.live-video.net/app"},{"name":"Europe: France, Marseille (RTMPS)","url":"rtmps://mrs.contribute.live-video.net/app"},{"name":"Europe: France, Marseille (2) (RTMPS)","url":"rtmps://mrs02.contribute.live-video.net/app"},{"name":"Europe: France, Paris (10) (RTMPS)","url":"rtmps://cdg10.contribute.live-video.net/app"},{"name":"Europe: France, Paris (2) (RTMPS)","url":"rtmps://cdg02.contribute.live-video.net/app"},{"name":"Europe: Germany, Berlin (RTMPS)","url":"rtmps://ber.contribute.live-video.net/app"},{"name":"Europe: Germany, Dusseldorf (1) (RTMPS)","url":"rtmps://dus01.contribute.live-video.net/app"},{"name":"Europe: Germany, Frankfurt (2) (RTMPS)","url":"rtmps://fra02.contribute.live-video.net/app"},{"name":"Europe: Germany, Frankfurt (5) (RTMPS)","url":"rtmps://fra05.contribute.live-video.net/app"},{"name":"Europe: Germany, Frankfurt (6) (RTMPS)","url":"rtmps://fra06.contribute.live-video.net/app"},{"name":"Europe: Germany, Munich (1) (RTMPS)","url":"rtmps://muc01.contribute.live-video.net/app"},{"name":"Europe: Italy, Milan (2) (RTMPS)","url":"rtmps://mil02.contribute.live-video.net/app"},{"name":"Europe: Netherlands, Amsterdam (2) (RTMPS)","url":"rtmps://ams02.contribute.live-video.net/app"},{"name":"Europe: Netherlands, Amsterdam (3) (RTMPS)","url":"rtmps://ams03.contribute.live-video.net/app"},{"name":"Europe: Norway, Oslo (RTMPS)","url":"rtmps://osl.contribute.live-video.net/app"},{"name":"Europe: Poland, Warsaw (2) (RTMPS)","url":"rtmps://waw02.contribute.live-video.net/app"},{"name":"Europe: Spain, Madrid (1) (RTMPS)","url":"rtmps://mad01.contribute.live-video.net/app"},{"name":"Europe: Spain, Madrid (2) (RTMPS)","url":"rtmps://mad02.contribute.live-video.net/app"},{"name":"Europe: Sweden, Stockholm (3) (RTMPS)","url":"rtmps://arn03.contribute.live-video.net/app"},{"name":"Europe: Sweden, Stockholm (4) (RTMPS)","url":"rtmps://arn04.contribute.live-video.net/app"},{"name":"Europe: UK, London (3) (RTMPS)","url":"rtmps://lhr03.contribute.live-video.net/app"},{"name":"Europe: UK, London (4) (RTMPS)","url":"rtmps://lhr04.contribute.live-video.net/app"},{"name":"Europe: UK, London (8) (RTMPS)","url":"rtmps://lhr08.contribute.live-video.net/app"},{"name":"NA: Canada, Quebec (RTMPS)","url":"rtmps://ymq03.contribute.live-video.net/app"},{"name":"NA: Canada, Toronto (RTMPS)","url":"rtmps://yto.contribute.live-video.net/app"},{"name":"NA: Mexico, Queretaro (3) (RTMPS)","url":"rtmps://qro03.contribute.live-video.net/app"},{"name":"NA: Mexico, Queretaro (4) (RTMPS)","url":"rtmps://qro04.contribute.live-video.net/app"},{"name":"Oceania: Australia, Sydney (2) (RTMPS)","url":"rtmps://syd02.contribute.live-video.net/app"},{"name":"Oceania: Australia, Sydney (3) (RTMPS)","url":"rtmps://syd03.contribute.live-video.net/app"},{"name":"South America: Brazil, Fortaleza (1) (RTMPS)","url":"rtmps://for01.contribute.live-video.net/app"},{"name":"South America: Brazil, Rio de Janeiro (3) (RTMPS)","url":"rtmps://rio03.contribute.live-video.net/app"},{"name":"South America: Brazil, Rio de Janeiro (4) (RTMPS)","url":"rtmps://rio04.contribute.live-video.net/app"},{"name":"South America: Brazil, Sao Paulo (RTMPS)","url":"rtmps://sao03.contribute.live-video.net/app"},{"name":"South America: Brazil, Sao Paulo (5) (RTMPS)","url":"rtmps://sao05.contribute.live-video.net/app"},{"name":"South America: Buenos Aires, Argentina (1) (RTMPS)","url":"rtmps://bue01.contribute.live-video.net/app"},{"name":"South America: Colombia, Bogota (1) (RTMPS)","url":"rtmps://bog01.contribute.live-video.net/app"},{"name":"US Central: Dallas, TX (RTMPS)","url":"rtmps://dfw.contribute.live-video.net/app"},{"name":"US Central: Dallas, TX (2) (RTMPS)","url":"rtmps://dfw02.contribute.live-video.net/app"},{"name":"US Central: Denver, CO (52) (RTMPS)","url":"rtmps://den52.contribute.live-video.net/app"},{"name":"US Central: Garland, TX (56) (RTMPS)","url":"rtmps://dfw56.contribute.live-video.net/app"},{"name":"US Central: Houston, TX (50) (RTMPS)","url":"rtmps://iah50.contribute.live-video.net/app"},{"name":"US East: Ashburn, VA (5) (RTMPS)","url":"rtmps://iad05.contribute.live-video.net/app"},{"name":"US East: Atlanta, GA (RTMPS)","url":"rtmps://atl.contribute.live-video.net/app"},{"name":"US East: Chicago, IL (3) (RTMPS)","url":"rtmps://ord03.contribute.live-video.net/app"},{"name":"US East: Chicago, IL (56) (RTMPS)","url":"rtmps://ord56.contribute.live-video.net/app"},{"name":"US East: McAllen, TX (1) (RTMPS)","url":"rtmps://mfe01.contribute.live-video.net/app"},{"name":"US East: Miami, FL (5) (RTMPS)","url":"rtmps://mia05.contribute.live-video.net/app"},{"name":"US East: New York, NY (RTMPS)","url":"rtmps://jfk.contribute.live-video.net/app"},{"name":"US East: New York, NY (50) (RTMPS)","url":"rtmps://jfk50.contribute.live-video.net/app"},{"name":"US West: Los Angeles, CA (RTMPS)","url":"rtmps://lax.contribute.live-video.net/app"},{"name":"US West: Salt Lake City, UT (RTMPS)","url":"rtmps://slc.contribute.live-video.net/app"},{"name":"US West: San Francisco, CA (RTMPS)","url":"rtmps://sfo.contribute.live-video.net/app"},{"name":"US West: San Jose, California (6) (RTMPS)","url":"rtmps://sjc06.contribute.live-video.net/app"},{"name":"US West: Seattle, WA (RTMPS)","url":"rtmps://sea.contribute.live-video.net/app"},{"name":"US West: Seattle, WA (2) (RTMPS)","url":"rtmps://sea02.contribute.live-video.net/app"},{"name":"Asia: China, Hong Kong (6) (RTMP)","url":"rtmp://hkg06.contribute.live-video.net/app"},{"name":"Asia: India, Bangalore (1) (RTMP)","url":"rtmp://blr01.contribute.live-video.net/app"},{"name":"Asia: India, Chennai (RTMP)","url":"rtmp://maa01.contribute.live-video.net/app"},{"name":"Asia: India, Hyderabad (1) (RTMP)","url":"rtmp://hyd01.contribute.live-video.net/app"},{"name":"Asia: India, Mumbai (RTMP)","url":"rtmp://bom01.contribute.live-video.net/app"},{"name":"Asia: India, New Delhi (RTMP)","url":"rtmp://del01.contribute.live-video.net/app"},{"name":"Asia: Indonesia, Cikarang Barat (1) (RTMP)","url":"rtmp://jkt01.contribute.live-video.net/app"},{"name":"Asia: Indonesia, Jakarta (2) (RTMP)","url":"rtmp://jkt02.contribute.live-video.net/app"},{"name":"Asia: Japan, Osaka (1) (RTMP)","url":"rtmp://osa01.contribute.live-video.net/app"},{"name":"Asia: Japan, Tokyo (3) (RTMP)","url":"rtmp://tyo03.contribute.live-video.net/app"},{"name":"Asia: Japan, Tokyo (5) (RTMP)","url":"rtmp://tyo05.contribute.live-video.net/app"},{"name":"Asia: Manila, Philippines (1) (RTMP)","url":"rtmp://mnl01.contribute.live-video.net/app"},{"name":"Asia: Singapore (1) (RTMP)","url":"rtmp://sin01.contribute.live-video.net/app"},{"name":"Asia: Singapore (4) (RTMP)","url":"rtmp://sin04.contribute.live-video.net/app"},{"name":"Asia: South Korea, Seoul (3) (RTMP)","url":"rtmp://sel03.contribute.live-video.net/app"},{"name":"Asia: South Korea, Seoul (4) (RTMP)","url":"rtmp://sel04.contribute.live-video.net/app"},{"name":"Asia: Taiwan, Taipei (1) (RTMP)","url":"rtmp://tpe01.contribute.live-video.net/app"},{"name":"Asia: Taiwan, Taipei (3) (RTMP)","url":"rtmp://tpe03.contribute.live-video.net/app"},{"name":"Asia: Thailand, Bangkok (2) (RTMP)","url":"rtmp://bkk02.contribute.live-video.net/app"},{"name":"Europe: Austria, Vienna (2) (RTMP)","url":"rtmp://vie02.contribute.live-video.net/app"},{"name":"Europe: Czech Republic, Prague (RTMP)","url":"rtmp://prg03.contribute.live-video.net/app"},{"name":"Europe: Denmark, Copenhagen (RTMP)","url":"rtmp://cph.contribute.live-video.net/app"},{"name":"Europe: Finland, Helsinki (3) (RTMP)","url":"rtmp://hel03.contribute.live-video.net/app"},{"name":"Europe: France, Marseille (RTMP)","url":"rtmp://mrs.contribute.live-video.net/app"},{"name":"Europe: France, Marseille (2) (RTMP)","url":"rtmp://mrs02.contribute.live-video.net/app"},{"name":"Europe: France, Paris (10) (RTMP)","url":"rtmp://cdg10.contribute.live-video.net/app"},{"name":"Europe: France, Paris (2) (RTMP)","url":"rtmp://cdg02.contribute.live-video.net/app"},{"name":"Europe: Germany, Berlin (RTMP)","url":"rtmp://ber.contribute.live-video.net/app"},{"name":"Europe: Germany, Dusseldorf (1) (RTMP)","url":"rtmp://dus01.contribute.live-video.net/app"},{"name":"Europe: Germany, Frankfurt (2) (RTMP)","url":"rtmp://fra02.contribute.live-video.net/app"},{"name":"Europe: Germany, Frankfurt (5) (RTMP)","url":"rtmp://fra05.contribute.live-video.net/app"},{"name":"Europe: Germany, Frankfurt (6) (RTMP)","url":"rtmp://fra06.contribute.live-video.net/app"},{"name":"Europe: Germany, Munich (1) (RTMP)","url":"rtmp://muc01.contribute.live-video.net/app"},{"name":"Europe: Italy, Milan (2) (RTMP)","url":"rtmp://mil02.contribute.live-video.net/app"},{"name":"Europe: Netherlands, Amsterdam (2) (RTMP)","url":"rtmp://ams02.contribute.live-video.net/app"},{"name":"Europe: Netherlands, Amsterdam (3) (RTMP)","url":"rtmp://ams03.contribute.live-video.net/app"},{"name":"Europe: Norway, Oslo (RTMP)","url":"rtmp://osl.contribute.live-video.net/app"},{"name":"Europe: Poland, Warsaw (2) (RTMP)","url":"rtmp://waw02.contribute.live-video.net/app"},{"name":"Europe: Spain, Madrid (1) (RTMP)","url":"rtmp://mad01.contribute.live-video.net/app"},{"name":"Europe: Spain, Madrid (2) (RTMP)","url":"rtmp://mad02.contribute.live-video.net/app"},{"name":"Europe: Sweden, Stockholm (3) (RTMP)","url":"rtmp://arn03.contribute.live-video.net/app"},{"name":"Europe: Sweden, Stockholm (4) (RTMP)","url":"rtmp://arn04.contribute.live-video.net/app"},{"name":"Europe: UK, London (3) (RTMP)","url":"rtmp://lhr03.contribute.live-video.net/app"},{"name":"Europe: UK, London (4) (RTMP)","url":"rtmp://lhr04.contribute.live-video.net/app"},{"name":"Europe: UK, London (8) (RTMP)","url":"rtmp://lhr08.contribute.live-video.net/app"},{"name":"NA: Canada, Quebec (RTMP)","url":"rtmp://ymq03.contribute.live-video.net/app"},{"name":"NA: Canada, Toronto (RTMP)","url":"rtmp://yto.contribute.live-video.net/app"},{"name":"NA: Mexico, Queretaro (3) (RTMP)","url":"rtmp://qro03.contribute.live-video.net/app"},{"name":"NA: Mexico, Queretaro (4) (RTMP)","url":"rtmp://qro04.contribute.live-video.net/app"},{"name":"Oceania: Australia, Sydney (2) (RTMP)","url":"rtmp://syd02.contribute.live-video.net/app"},{"name":"Oceania: Australia, Sydney (3) (RTMP)","url":"rtmp://syd03.contribute.live-video.net/app"},{"name":"South America: Brazil, Fortaleza (1) (RTMP)","url":"rtmp://for01.contribute.live-video.net/app"},{"name":"South America: Brazil, Rio de Janeiro (3) (RTMP)","url":"rtmp://rio03.contribute.live-video.net/app"},{"name":"South America: Brazil, Rio de Janeiro (4) (RTMP)","url":"rtmp://rio04.contribute.live-video.net/app"},{"name":"South America: Brazil, Sao Paulo (RTMP)","url":"rtmp://sao03.contribute.live-video.net/app"},{"name":"South America: Brazil, Sao Paulo (5) (RTMP)","url":"rtmp://sao05.contribute.live-video.net/app"},{"name":"South America: Buenos Aires, Argentina (1) (RTMP)","url":"rtmp://bue01.contribute.live-video.net/app"},{"name":"South America: Colombia, Bogota (1) (RTMP)","url":"rtmp://bog01.contribute.live-video.net/app"},{"name":"US Central: Dallas, TX (RTMP)","url":"rtmp://dfw.contribute.live-video.net/app"},{"name":"US Central: Dallas, TX (2) (RTMP)","url":"rtmp://dfw02.contribute.live-video.net/app"},{"name":"US Central: Denver, CO (52) (RTMP)","url":"rtmp://den52.contribute.live-video.net/app"},{"name":"US Central: Garland, TX (56) (RTMP)","url":"rtmp://dfw56.contribute.live-video.net/app"},{"name":"US Central: Houston, TX (50) (RTMP)","url":"rtmp://iah50.contribute.live-video.net/app"},{"name":"US East: Ashburn, VA (5) (RTMP)","url":"rtmp://iad05.contribute.live-video.net/app"},{"name":"US East: Atlanta, GA (RTMP)","url":"rtmp://atl.contribute.live-video.net/app"},{"name":"US East: Chicago, IL (3) (RTMP)","url":"rtmp://ord03.contribute.live-video.net/app"},{"name":"US East: Chicago, IL (56) (RTMP)","url":"rtmp://ord56.contribute.live-video.net/app"},{"name":"US East: McAllen, TX (1) (RTMP)","url":"rtmp://mfe01.contribute.live-video.net/app"},{"name":"US East: Miami, FL (5) (RTMP)","url":"rtmp://mia05.contribute.live-video.net/app"},{"name":"US East: New York, NY (RTMP)","url":"rtmp://jfk.contribute.live-video.net/app"},{"name":"US East: New York, NY (50) (RTMP)","url":"rtmp://jfk50.contribute.live-video.net/app"},{"name":"US West: Los Angeles, CA (RTMP)","url":"rtmp://lax.contribute.live-video.net/app"},{"name":"US West: Salt Lake City, UT (RTMP)","url":"rtmp://slc.contribute.live-video.net/app"},{"name":"US West: San Francisco, CA (RTMP)","url":"rtmp://sfo.contribute.live-video.net/app"},{"name":"US West: San Jose, California (6) (RTMP)","url":"rtmp://sjc06.contribute.live-video.net/app"},{"name":"US West: Seattle, WA (RTMP)","url":"rtmp://sea.contribute.live-video.net/app"},{"name":"US West: Seattle, WA (2) (RTMP)","url":"rtmp://sea02.contribute.live-video.net/app"}],"multitrack_video_configuration_url":"https://ingest.contribute.live-video.net/api/v3/GetClientConfiguration","recommended":{"keyint":2,"x264opts":"scenecut=0"}},{"name":"Dolby OptiView Real-time","alt_names":["Dolby Millicast"],"common":false,"more_info_link":"https://optiview.dolby.com/docs/millicast/using-obs/","stream_key_link":"https://streaming.dolby.io","multitrack_video_configuration_url":"https://director.millicast.com/api/multitrackvideo/configuration","multitrack_video_name":"Enhanced Broadcasting","multitrack_video_learn_more_link":"https://optiview.dolby.com/docs/millicast/obs-enhanced-broadcasting-multitrack-video/","servers":[{"name":"Global (RTMPS)","url":"rtmps://rtmp-auto.millicast.com:443/v2/pub"},{"name":"Global (RTMP)","url":"rtmp://rtmp-auto.millicast.com:1935/v2/pub"},{"name":"Bangalore, India (RTMPS)","url":"rtmps://rtmp-blr-1.millicast.com:443/v2/pub"},{"name":"Bangalore, India (RTMP)","url":"rtmp://rtmp-blr-1.millicast.com:1935/v2/pub"},{"name":"Frankfurt, Germany (RTMPS)","url":"rtmps://rtmp-fra-1.millicast.com:443/v2/pub"},{"name":"Frankfurt, Germany (RTMP)","url":"rtmp://rtmp-fra-1.millicast.com:1935/v2/pub"},{"name":"Ashburn, Virginia, USA (RTMPS)","url":"rtmps://rtmp-iad-1.millicast.com:443/v2/pub"},{"name":"Ashburn, Virginia, USA (RTMP)","url":"rtmp://rtmp-iad-1.millicast.com:1935/v2/pub"},{"name":"London, England (RTMPS)","url":"rtmps://rtmp-lon-1.millicast.com:443/v2/pub"},{"name":"London, England (RTMP)","url":"rtmp://rtmp-lon-1.millicast.com:1935/v2/pub"},{"name":"Phoenix, AZ, USA (RTMPS)","url":"rtmps://rtmp-phx-1.millicast.com:443/v2/pub"},{"name":"Phoenix, AZ, USA (RTMP)","url":"rtmp://rtmp-phx-1.millicast.com:1935/v2/pub"},{"name":"Sao Paulo, Brazil (RTMPS)","url":"rtmps://rtmp-sao-1.millicast.com:443/v2/pub"},{"name":"Sao Paulo, Brazil (RTMP)","url":"rtmp://rtmp-sao-1.millicast.com:1935/v2/pub"},{"name":"Singapore (RTMPS)","url":"rtmps://rtmp-sgp-1.millicast.com:443/v2/pub"},{"name":"Singapore (RTMP)","url":"rtmp://rtmp-sgp-1.millicast.com:1935/v2/pub"},{"name":"Sydney, Australia (RTMPS)","url":"rtmps://rtmp-syd-1.millicast.com:443/v2/pub"},{"name":"Sydney, Australia (RTMP)","url":"rtmp://rtmp-syd-1.millicast.com:1935/v2/pub"}],"supported video codecs":["h264","hevc","av1"],"recommended":{"keyint":1,"bframes":0}},{"name":"NFHS Network","more_info_link":"https://support.nfhsnetwork.com/hc/en-us","stream_key_link":"https://console.nfhsnetwork.com/nfhs-events/","servers":[{"name":"Manual Broadcasts","url":"rtmp://video.nfhsnetwork.com/manual"}],"recommended":{"supported resolutions":["1920x1080","1280x720","640x360"],"max fps":60},"supported video codecs":["h264"]},{"name":"VRCDN - Live","more_info_link":"https://vrcdn.live","servers":[{"name":"Automatic","url":"rtmp://ingest.vrcdn.live/live"}],"supported video codecs":["h264"],"recommended":{"keyint":1,"max video bitrate":6000}},{"name":"SOOP Global","common":false,"more_info_link":"https://sooplive.helpshift.com/hc/en/3-soop/faq/20","stream_key_link":"https://www.sooplive.com/dashboard","servers":[{"name":"Default","url":"rtmp://global-stream.sooplive.com/app"}],"protocol":"RTMP","supported video codecs":["h264"],"supported audio codecs":["aac"],"recommended":{"keyint":1,"profile":"main","bframes":0,"supported resolutions":["1920x1080","1280x720","960x540","640x360"],"bitrate matrix":[{"res":"640x360","fps":30,"max bitrate":500},{"res":"640x360","fps":60,"max bitrate":1000},{"res":"960x540","fps":30,"max bitrate":2000},{"res":"960x540","fps":60,"max bitrate":2000},{"res":"1280x720","fps":30,"max bitrate":4000},{"res":"1280x720","fps":60,"max bitrate":4000},{"res":"1920x1080","fps":30,"max bitrate":8000},{"res":"1920x1080","fps":60,"max bitrate":8000}],"max fps":60,"max video bitrate":8000,"max audio bitrate":192}}]} diff --git a/configs/obs-settings/Settings-files/plugin_config/rtmp-services/twitch_ingests.json b/configs/obs-settings/Settings-files/plugin_config/rtmp-services/twitch_ingests.json new file mode 100644 index 0000000..b35e690 --- /dev/null +++ b/configs/obs-settings/Settings-files/plugin_config/rtmp-services/twitch_ingests.json @@ -0,0 +1,130 @@ +{ + "ingests": [ + { + "_id": 0, + "availability": 1.0, + "default": false, + "name": "Default", + "url_template": "rtmp://ingest.global-contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://ingest.global-contribute.live-video.net/app/{stream_key}", + "priority": 0 + }, + { + "_id": 1, + "availability": 1.0, + "default": false, + "name": "Europe: Frankfurt (10)", + "url_template": "rtmp://euc10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://euc10.contribute.live-video.net/app/{stream_key}", + "priority": 1 + }, + { + "_id": 2, + "availability": 1.0, + "default": false, + "name": "Europe: Sweden, Stockholm (10)", + "url_template": "rtmp://eun10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://eun10.contribute.live-video.net/app/{stream_key}", + "priority": 2 + }, + { + "_id": 3, + "availability": 1.0, + "default": false, + "name": "Europe: France, Paris (30)", + "url_template": "rtmp://euw30.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://euw30.contribute.live-video.net/app/{stream_key}", + "priority": 3 + }, + { + "_id": 4, + "availability": 1.0, + "default": false, + "name": "Europe West: Ireland (10)", + "url_template": "rtmp://euw10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://euw10.contribute.live-video.net/app/{stream_key}", + "priority": 4 + }, + { + "_id": 5, + "availability": 1.0, + "default": false, + "name": "US East: Ashburn, VA (10)", + "url_template": "rtmp://use10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://use10.contribute.live-video.net/app/{stream_key}", + "priority": 5 + }, + { + "_id": 6, + "availability": 1.0, + "default": false, + "name": "US East: Ohio (20)", + "url_template": "rtmp://use20.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://use20.contribute.live-video.net/app/{stream_key}", + "priority": 6 + }, + { + "_id": 7, + "availability": 1.0, + "default": false, + "name": "Asia: India, Mumbai (30)", + "url_template": "rtmp://aps30.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://aps30.contribute.live-video.net/app/{stream_key}", + "priority": 7 + }, + { + "_id": 8, + "availability": 1.0, + "default": false, + "name": "US West: Portland, OR (us-west-2)", + "url_template": "rtmp://usw20.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://usw20.contribute.live-video.net/app/{stream_key}", + "priority": 8 + }, + { + "_id": 9, + "availability": 1.0, + "default": false, + "name": "Asia: South Korea, Seoul (20)", + "url_template": "rtmp://apn20.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://apn20.contribute.live-video.net/app/{stream_key}", + "priority": 9 + }, + { + "_id": 10, + "availability": 1.0, + "default": false, + "name": "Asia: Japan, Narita (10)", + "url_template": "rtmp://apn10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://apn10.contribute.live-video.net/app/{stream_key}", + "priority": 10 + }, + { + "_id": 11, + "availability": 1.0, + "default": false, + "name": "Asia Southeast: Singapore (10)", + "url_template": "rtmp://aps10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://aps10.contribute.live-video.net/app/{stream_key}", + "priority": 11 + }, + { + "_id": 12, + "availability": 1.0, + "default": false, + "name": "South America: Brazil, Sao Paulo (10)", + "url_template": "rtmp://sae10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sae10.contribute.live-video.net/app/{stream_key}", + "priority": 12 + }, + { + "_id": 13, + "availability": 1.0, + "default": false, + "name": "Asia Southeast: Sydney (20)", + "url_template": "rtmp://aps20.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://aps20.contribute.live-video.net/app/{stream_key}", + "priority": 13 + } + ] +} diff --git a/configs/obs-settings/Settings-files/plugin_manager/modules.json b/configs/obs-settings/Settings-files/plugin_manager/modules.json new file mode 100644 index 0000000..adfbd90 --- /dev/null +++ b/configs/obs-settings/Settings-files/plugin_manager/modules.json @@ -0,0 +1,53 @@ +[ + { + "display_name": "Source Clone", + "enabled": true, + "encoders": [], + "id": "", + "module_name": "source-clone", + "outputs": [], + "services": [], + "sources": [ + "source-clone", + "source_clone_audio_wrapper_source" + ], + "version": "" + }, + { + "display_name": "linux-vkcapture", + "enabled": true, + "encoders": [], + "id": "", + "module_name": "linux-vkcapture", + "outputs": [], + "services": [], + "sources": [ + "vkcapture-source" + ], + "version": "" + }, + { + "display_name": "", + "enabled": true, + "encoders": [], + "id": "", + "module_name": "obs-wayland-hotkeys", + "outputs": [], + "services": [], + "sources": [], + "version": "" + }, + { + "display_name": "", + "enabled": true, + "encoders": [], + "id": "", + "module_name": "source-record", + "outputs": [], + "services": [], + "sources": [ + "source_record_filter" + ], + "version": "" + } +] diff --git a/configs/obs-settings/Settings-files/profiler_data/2025-11-26 22-04-52.csv.gz b/configs/obs-settings/Settings-files/profiler_data/2025-11-26 22-04-52.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..7a4e925a7709238935835b2615239d02f0a18c73 GIT binary patch literal 43865 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 literal 0 HcmV?d00001 diff --git a/configs/obs-settings/Settings-files/profiler_data/2025-11-28 17-26-24.csv.gz b/configs/obs-settings/Settings-files/profiler_data/2025-11-28 17-26-24.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..f56961ddb6339877ce5022610303c5124ceb21d3 GIT binary patch literal 13804 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 literal 0 HcmV?d00001 diff --git a/configs/obs-settings/Settings-files/profiler_data/2025-11-28 17-37-05.csv.gz b/configs/obs-settings/Settings-files/profiler_data/2025-11-28 17-37-05.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..9a606f17a5a484b8927f8e4e1bd4b759f0f3f83d GIT binary patch literal 21138 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 N{|_+Fr&}bT1^_kPMsolF literal 0 HcmV?d00001 diff --git a/configs/obs-settings/Settings-files/profiler_data/2025-11-28 19-18-08.csv.gz b/configs/obs-settings/Settings-files/profiler_data/2025-11-28 19-18-08.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..249cd1dee68a9a0b92fb9642e3d87c832611de44 GIT binary patch literal 26270 zcmW(+1yCGK6D1HJK#-t84|jJ665JuULvVL@32p}ouEB%5%i$i}9S(xap$8oB^Zi?| zrf0Tix?lD7ZuJ@<_5elHfmCUUfTYlufJ7}?|zoOZSsqbE9 z_bYlzC*rc{YC5U2cU7^1a>uETJw5%^pG}%S@QyZeQFfy ze!V)se*O8Nd98e&F1`H5N*^^MRQ+KDWJEH=YCq5<58gEIw1um#U4qw5Ay! zIc0WL-!k0ZdB3FG*NApK-aPDp57+>#IN$f*`;#p7T!hVDop3pmZUy;3Z|)%Mv-Y_| z7zS#_y5mmIliJQUQwLisJz`z3rJ%sq^S^5#qkmqxm#IT4mk*;saj&3UQQ@GMDdXJD zZcNuax=Ywm>$u8Lz`Ivbr@UMQgQ}v9-G$*ROOQ7k=%(KLc4r5sQ0JYGU8A)Ry=-X# z=4m++8hP0*`(59)+6;|P*{{c1k_7&n+ak-&6@94zUIaZ~-lauOIchTEK< zR;be=AFp`~UeEKi(IAgIkP8l1(Oy6x=geQV2LV`6(Cfp+)GNM00~P<1Q{3a)y{Jf+ zPdEH9_v_Wm&e4M4vNotY=<#a&nhsdjY)R#GdH3(=);f}B{aNe!fKy%Yb#a_15b^bB zCrAjk|C}}j==OgZPiuL-IeNCmOIuVCttSLl0FGYTVM&082-e%E+~;9%kgWy(58RR% zaPohFUY^gbIlpd!_6|?Us-C}zJTc}5ohrOQj;@_DV`TiU!A{3sJY0Gq>Kb!%J-K0s2o_#~U4Msxf>Nr- zF}QN3Ee`go!LYjq{@42aM<-(k2gN{<$j5yMUBBbYP~gPN0dNX4FVCwZY7VI(H4mc$ z^zsk~%L8n^v}Y~`2_bjt_vkF>ii7X;*1`FSRf{xjslJp<8u(@0N-cwSZQ1 z^9Xs`QHUDUHVM3aa5@H`?`nyeUL0|6>Jrh$ix9abu3M6}x$`RElV<|qRDFxN%tfksyN+LRA}4it-ML_H_E%0b&}U;@P;mex zxMNmC6`Zns$+0UaAp^%V=c3}V?j|J&*TE_BrIB`Pv3*MHtB zBuFMI$O=r*=NjIhaj~;(7;=uala^u7x!OSE*eT_*nKq8! zq7Vp-+$)kw?B@QIcDd77+~eeLPwiXvR0L|DdlK(&$gBikEg!j|p4@a# zU+OdbCj`mfaX*sqk$KEY3fl4tIZY8cx)76s_4>_XA{4v_i%WMu*%Ujy`v^LykC7=# z*`y#0oU%v};p2kkj$it*_H#{EZF8^&x><&c@HK>Tu zI^^J8;%4;`6x$G&$7t?PaL_8W+v4{RDiF@6S93(r$n>dYCt=Nb7)&?}n$tl@!!F<_VxFnYC-^$kQqY;{^i6}6_QySN|AyUioGUP~$T)ZiwsECg@md?&yDzIY^5B-^@d6w)3(afWTNd8Y z_{vNCIs_WO+BzR<9jIA9SDGCmdLBV8XS2zy`3t4jetHK92=y-(Rd+xPI4g@>L^rH| z0kr3TrOs*Qp$ZqPViPPraT2&e*T&0LE=$w8Kk7&*=r@r`FIx1}>yFKu+^b%x9pT*< z&$zXnM}G&a&dzRQPPvs`(qFf;goe}K7x#7xw}fL5xE9MZI*o*$cuy+)Fxxv-DBYih zs+JV@Cq=6G4+d+A-)cXuaiY5ZfAsC9pY3_TyE&Whh8H^KCKL#?QZvM3w>?zMY`9%- z#cMMZ(6>GmwNFQqX)irG&4%c(4M3g&M(uEck%o_DFAsKGb8eQiEa{x5+0{Ncv`cQ5 z$4Z~44(8kS*^R1?N!P=oBPro%4fp-GLhDkewCnjy3Pj*SDfWh{-Qb)CvVWyJ_7`2- zwP&#(F)BStf28C)D!+VSN%zszyTX?T`JVdX?3cU$Wl8qbe1A_nrYXLuvIoK_N8t>*7kn4QP9Ax&Y~Vn9>BDNS*z(8ieI zMjU?m&H~$4qdJrO&7Ia``NFXSt~hW^lOuDDK5UR#J08ukziv+Z?_K1$h`2emam^w3?x{J#8h!~s|GxLQ8-&8UBmrp?ba z`h&gaw+5N|jq_BmQ-J|q}gTOTDkT2{q9bT2$2~XRB{=pFvPQY zv%S1gv3u5{x_TtH;DBq6IlhiXZ0dCe(}3`zQg%dmKe;;soQV;W+A9h^ym1Q0axBaS zxNb=cq$RY+hYqBVWZ24u&F@#hBekf0h|Q?cgMZWUxwOTLdp`+9=O}eEmIM+HzEk;G z6I1f0X(4Ej=A0b-<5Wmq@29Et%sbY$KKm8~Ph=Oqq#7ddTf|}RWCKT9-L}4d#No?; z{RCMaI7(9(?0om^Qy^%BA6Cvj_b;?V63ij8$g7Kp6 zp1pPB){*zTS1`U!N@>0&hAwv-C5L5IX&=|y`i|&0^P~NWMbKMVVx!l8?Qur`X?tU| z(0$K~>Qa!Ll$B?Ig_>HlY@r35jGli`L9kfcs9CtQd_FRv7fxo zmUV!Ym#WT|c2dGks2YhrYG3L+zaFRU!%EVhUSf_8BNQpufh%b)(;jqko5ht+J05%1 zW3=LglEKzFm+%l)!r$3U?>D8z!j?GerK5IuBt6dzh_7ko#XmZUi*L@OlqrmOvQR`2 zv`vmh%fgL}Cav&Lip0^u-(NWT=f<{eN)rZCK2VDr0ZrHLPYQ<{kWB;8J_SEb1W!QS z!^B5wrX;@={9wPF6^ilPag0uW>_5U`4}8JaGdiitRRf% zcP7Li>DyoFbp!A9v`^~4l6teB+P0)Q%$a4GRSCIBG|4}Fr0PkDreUm0yVi?Zkgnc@ zl@mi8aCaa3m>^iaXf6(?+8g0cg;?57Mo~AcGS!=%SO-`}i2)>6?&JSy5tBA565fs$ z5+^>T+yqyWHIBtbR2`O0Qv&X`%iiu^E?1X@E7)M-0UK{pXf_T5z5t2? zcaiK*3aOtT8Gf4oS_Z687f28fOb%5Gy1gZ6J;G@@!hr*BpURqM>EAVaNxf9`U5(MV z_02CA_jy`6GR&5AWF2}JAHqj4YAZI=-V$yC|3uO<)2UteaH+<$Pb=vT_7>z}6Ro7xb zq8#Gipc`PLD2%=i_}*LCN6bFhMujiT_pk6X!=wd6Pc@y@z&FVpKGPTnmmZrTG~%x@ z;AnL6K$m&Uk$5l3{(z0iceKK}D_8(cEcE+MT+?1{2HJm?O@qO>GJpBL@;I;}>M#&T zMaX0!eJ{38G5tzda7kRN*1T#;jvYViG_cOUOE~cv66;%YZ&u*({>`ul;)v3^;ivS7 z)9(d|B;T8{aR_A0(7%?xNjeErP^)qWfQxSDtRRzQ=1*MuR;x0?P-xgd1C}j2*QY8a zNnbk3POeXO+=+8dA z7FS}t2Fe=^-Ur6WT>6U+nfm#Q{;NmqB*sZ|4TcRdWy#+F<2$aNI9&2vKp}rz9^v9F zn?T?f#2S;}cX2X*yPi1k2UjnK4Q#Wv;u*N~gg1eNClN<4h-|{=+`$+G5KAw(XB^v3 z0l4mpN-|5VXVYD*$}P}TRHj!KJPs*x-$0+S?bf>m$z76yPc%bR#o6>*#2y48dQ1)* zCGalFHzq_Foj((_6d4e#`c)C9Xuoxh6t)9YNf}x3qip5vK1k0S>Yj03a=KNnJv=c4 zWc1h-ORqDK8)jsWeD`3h!gEi$D9aAU^@F~##q}J%g1>fa04zv-V0QDIyJwn?>?zx`8*Wl~5AR$ou zG@ICSH}GBPgxgjOsaX5P7cnZ?tOTluw#H5;*(q}MLQ(%XIUK+I=y?3GnZshjrfk8o*z);`poAiHjCwudVmwe{V8ihPC4P3gjgMk$7@Zzj zVIp#uLZ26RL;v;XK@puJ0o<41sKzh=YUsBwyJveJD2ZMcY`$ceMm=#-W4Uabo!$tY z`<;pp7#<-<=~ydp9D*C@9mH|ajS1JMZsdSS)z)8J1$hCOJ@3+H0b zItraX*ficAMW^O9vq_;-AOlZt6q_Ta%!{j}vc+a`GQ5rsv1T7siK=5=Y(K<)%jqa3 z$8z1$K@j&OTk%8$Q|xs=AcZlv0{?WbMR!lsQpA*V)+T7LU*H<~jBO`9$;)HapOMjt zjkGhRAW)z=vZ7u176hYr?RH)bSYRALJdn7Fz0ZjR762mkbt8$-o3^ul5- zOgNxW$+J+sL9bA>t?x@*zz-ax^dtU`8Qu=UY~mGc<|x(BXv5T23M;8P&&O|#&4%dS z5jsb9K)qD>AP*y=3igG!Teo{0o|(u6M9^An0&^vPsz(EwsIYzGO>((?=bzpJMjl-uNf?E`6>f?^RjT=F?_Ewm3G;68{WU)#-``aH`$eA@j$jtG?d>e zF;n{FLYVVKAqBR~G2%oj{HxKE_xJtGh{fl&&_)T>(kGjykVXlPHz{4+mmf9vERAD0 zCjlvWvU%!Lx}QT8aEc6llbmH}xigwkslUn5Q~2m^Z@x*R{LaS?ZTD*lL=C$rOlszn zrwzGkW=nGyWy$x=oLozKvc`L!z25vMqDQ;rZanbeH%+4DQ>R2Q?>C~dTUDc|Uy1bZ z2jpaN-<6a9m0eBO_eJ?CL1XTIqd?qNQs`Lf23PgFF>dzT5oyF2@sSE9jW^sXImmru zJlJm4YhMD6h)_zVjnq|%tG(pOlmc#2$3T#@Zc{22r|unn)va_AT<=)gR%{%RSK31@bX zr)nQD5O2tV12=3dW!glksd27Gp`wauVF8!juobiU?NniOT`9}_YW$SCGUONU=u?<( z57TIXSn89BbVA$&@n;;E;*GL*;;8wL30xvP?xY{Mt05)tf32|oP^>oP@*X`|R36i% z!!f)=)I5*0_{J^BV3nho5#7A9{!W3)4TC7db$SF=DNVc8D4$Ek$JuQ7s_n?Nnr)!W znbS%$EwqR-sk^bX+m#nV_F++)Y{urS46#VyiZNuzNxn;-B)rbn?iiTyPZ3P8wEOUPhLu3-GwW)g1{Pnct^gB( zcIodcKPrR|#v2IGKx>eV3$4p(4*SHu8%<-=;zB#P>{bjtmFBi9&rWKAe{)2 zu{KxYuHRFndcKVKEVjBc|4AHGIvP#2bJ3aTKe6^(W(BzlJnV&z#d!^wL{sGpWW{;e zi43L3ay?a+BR4+~^$+qureI<{c34^u6SoXZe!H3)=ROyHK=R@5|B=`c`hfd$DR&i$ zDZ1zQRnaKmxVw*k&^<7{^JPA4?UvJLuSc}gecgFLfIPmk6${UQoWP0cQuR@!2G#VO z7*&0u5d<X0C9(&JmPa45siC_6dp-*a>`8^(6G|#hjG&~(%SWx6VI6dCj z3kOQY1plvlg?-Rn#E26ojtkPBLCcnB^I>S^zD*db;VjQpd}3_vLBm@=?Y(a@h9)6- z2}(MO)ubGtLMCDFQARnuPmz*Y>9$Hdb{JFA!GKPwDjkva|QQ@pt8Sx}^N_1k@Nm9DecH zC;755`lG4(X@zKW+-#|ZPHVq2n`-Kd&*W8Q!-CQXnI&p@N z?S-vgH=`9w!S!ESKH!jU5TPn!5Br|aE(0x^3X;`nmvdSt63+dhu5^==0=ZsSvjVp# zn>ptUK9|bt{0A|cqbGkV_ae&A7F5S`__a8$1R$5nBqyv_4}&u~tzmlaM2!nKqKQin z;JtPy39P+#iDEnC?Lb~z0h2MUztW~MknYdHQ@UaIxp=t^&*yuCRI099!uLF%qY5WR z1|%`XcT)&Z>>;h_!g|qsjMVI#=Y>6gtQ35y^qbxr{Ec@(5Mw`R+`$Fhh zfUb7K$Do0&_+$2`-!Fyr>e|bRz<8&CjmLabk~3bpZJIAY zfx|fJ;nW|_d^kxYfsX&Z8oPX;&*c5`d)Ld62sU6&KQmm0v$>$*EtaeiD-K&)*(D(N zK{dBf3(ltT&sw$+_7cRSW|(Sf4Hqstwq40!-eDDj`{OIEfAYaS?t9m5fQVqVFoKtr zC+lAsausdw_t-6I+QkoV{&LPWZA9Q#fcMVtf2NHa`B0w^7Y37yq(#`N94I-1rMe&m zn}R@lp`U!cRokvBoIv;WBVMq~=$9Bli0Yy`Ct1i|Qz`FDzt342V%oUdD&v3StL`@( z9P6Qez1j&n8t(9cAAQPo(_;z|>Pn_g%m5T$i@SI8cLGKMp=%Ff>>+zz?QNHU$;eki zQMBf31P!=RWBSiQ`B+Vp*3?1yJ$b1H7Lw~K1Dd7Vnd+AT*KO?xUk9kt;v%0bI3fca zMAAkO61}JMPRjY%>zQ*8F-7Tg5oCo9F#*!!51QR`&rAB($uJah8H2d~iIK(N@Qo=% z+IM^9qBr)r%GtSNDz5UY4X?>Mq27*@@K`uXl{vJzU3^~$4j=~B{{nY?@({3)S%4K* zr|b}eF_N!~0kL0^2&Wi1Cnm;=KeBt=h$CM)McGTT|MFvjdEqp-F?#o%AzgF z{GvH0-0V@v?`h2J7#i;CU`HEk#xJllps(KR#jV-n9p)D3<>t5s01$zloqD z4?9OHi!WtOi?86Vpy!)~KLAEdj_LK;ZUa1ooWG2JNo?{shuQU;q`B1YzU z_XS)^G>yJ0knwX7Pu+yp_$4^vvCj=-v43IBGxFQXNO`^Ed~jk5f4wt>wHyp_AvRCa zf~0wox}|x&^{x6{UL6B2!KXO@E8m6vt9V|xb;)J7s)7h8Y5 zK{i^K{3~(yE}pHsrRlo0((qrLI)nIdM*K579ce>E<>7;p-*@vv{4z#6T31|-vPr$1 z8?FG8S)po-sKM2pTCED86NRj^i^M;1<>0q==k;(&z;?kVad*Z!EF+Mu_3kDv z)^`e;Z*oAz*PHYGKt;uOcb^k7{tL=96dkD>zxA~xBx`%orOiI))%oSBVE4CI3D!i0LwQ6Pn{D7Im~!tu4KPDZwccDC&D;#$1ZICtPn%)qcD1GpeJPG*P}&dZ%Kna zd)suPI6?zd%AgtgJ2+*iL1TKhJ4uAvvLeFG8b+*4PN5GC+iKA1;2<_FRFE7)=byCB zX$w)*z)Z~;h}&qaZ!R>_3bx&Rsz9nH8|an#K+g}3en<1AS~#QScyhe>x)f;>(&ir6 ze}IUo`+yeSXH1WKpu}$MO>Z0FPBa?Z?qLuG%}V~`_LZp!qO}1PE)oFlO@+o|e#Z_n z_z4C78~~(IZ>koJ1$p+gECM{ga`Zr)!Kwq$^I#@+1E_2{Vs`_mriB>o%Y0M|M5 zY_sVC12gEl3rDzS^2NxYv^3Y+Sw7oI`ee{RAxtAbq`;eG_b$ zAL_Tkq@9YBQ2o_N=-RlqjF?|cLZqVrYE_?@-8qW(C@%!j*4tCdF=rEQZ_%6jB7g|c z!2{c+;@f=UhOLwH8Tm2R2&Zg4Xuww4mxhA8_eDGH1H2fhYlIhE6mV6ttRuA^wyU-y z7u!DikD^`pqt=KNUjdAq|rCkVPkTYC1s)kd-|SwODX z?;?m_eoI8s#xPupL!=XPr|4nw9lQt6-{vt3)9A^#W(#m@2wi9aqisESQWmlXf)6=~ z*WL8CnRESd;$IrA_(alUKfd>!QTi=06zN8LDG51Dz9SkMc1!gRQTdft#0_;D830(( z1p5ap8Sp|TYb zqU(Hel#~pouL7)m4_i~ZJVR+w5c#*u?^Y?O!qxFTTZw(Lo!=pCmxb??FTi{=5W|>? zHnZ)KYLyl^!1ZLnDVMz}J+3%`>ISfJA5^D{)9WbPQ6#pSwK?NV1XM(sXt)-Vvk znX-2~y76zW<6Z@|cz8*UtC=%R-!&|}-34o;Di8Crpe=5sh17Jg#5d=$By=1}mAet% ze5G;-!GBzRkSce`fch_5pUX&$b3%Yq<3++&xR!%0hG{TF*a=&Jfr)jro0HyUq5IeV ze8YF~b~<`R1z@St!t6hV;}YPJkkq+dCS1T#yY5({6)V9HREg_2hTr*Arv5}k$e7TB z7XIF%e3zTAHGvw8&ai7Y68_n5z_3q5wn-2L2{s0McJ489Ts>%jWFQUtS<;@eguXfb z+%(aYnvHd|D*`vS3bQq8) zB`%rYv_MHyFngemzrXQ?4Iv3%>_UwNn+l1vY^`&Gg#{srB+2@hg<04_$=O$GS!!SH zwrY*j5S!5$>S)bQYuji;b`b;tUhzg65;8yDY}=o8MxG9hq)~#;C@o>aYS6=e#Mpl; z4LkGrfvKrWMrM`JPHB1OfbVvy`zF->NJ2yMYfJRE>^N2W&jrReozg)nLi5e|?NWdU zJv5M1DZNfCuC5TJ?M@3Pi*D6`30k+F0EV=+Pdrk2#%7=X4f%+7(F!Z_^3BJ2LXB0+ zg-={x$G@Jruq#j5p>Hr=9tBHXgh}S{>vlm|R@>)E@R0x&!!a}6OV3H%Iv&IIJ=_kZ4U?BF$>&&JYyP^~pfZvZP- zr)W0BfjRDC(;qc*}!~;%4k-G6(fdApn0RNRI z6UB1*eE{M?DiH~$KVnT#4E|Hi_pBU@a?p>tFvCZ*^n_ibo<^}}B(g$!GlSW0~cd4u*CFT7QqtCnN(M6;Sy^}=0q#!Uq5cp=A<1UbkF6aCNLtav8?2rP6$1``;u7gs z4SFT0hYJEWQL8D-4xRhK=-Dg8>FCU^B`(bjnPw@W+$kh;X%WPqyT7dWFbX*S2R5ZG z`0n6}F|ybMa_!nNGHuOoI-0HqJao)VI(XU|DWSM2E6nACOmASl@{zI#s~`Jdk)mOq z;xX>L+mBRTUWS!Z8^X zK~G0){Tns<@2dNzRo_+p*N-B_iFM3@9mmyWDoOblFRL^fGJ<&|=pVeG)>?+4CikW=#=2=<6TIZ`d>XMNOuB&eMJdwf!5X{J# zurVSs{0B@*-!ILfn#dGwu|<>>@Trxn3DLQ@mETi@C(DDSJP-)kI(ew>+J4_&^41;> zbW~LHcJ%L4zV$xMuDHeXi4Ae5&KZ62Bwcpg zdxwbR6vKYZ@%BYLwM+E!1}?S+a_cTJBb=m)Gk~uW37fn`SLHu4>8TvQ@vM?+|G{>R z{i4zM`9zwGvSVh~SBr9r<=jeY50&6xW26Ej=AS@prF9l-Ju!=KYyN^WpKItiJ}7b6 zpkBHIT$dl!dHmZlx3DH_;Hu^DtR(3`Rb!PD$i|b&>2Knf?O?87J`|In&}N4snAu&o zvBG;(lLXbqkObSlg2S$V#nDJ-<)kt^n$!lr zY@Lj>l;*7!sHLnesp=`YZFLrf3x^Ps%YVjuXR;8vr6v_(7Dd=|uE>_-#l3iBu0*A6 zy*0|7nYDthQrsLKLNAL0ow^=DGn9ss+{D#_krU-lvG{~kM5H$i?f3RcT$Ds^#*z|_ zd`ka;62ce1KPp1lQh+t9$YvhSVXrF6k8N|%I4SOG=sm33zMrE^0$QQeRo$Ia>+fL8a(Ox*fg~*MYBQ+3NPi1=LV&R z;W9af4c?lXl)sf#cWcTk#!&HTYL_y&MQX~))|X~@G9VsNV|iK&Kb{07o7&3DCp}0D zCZO_Oc^f?ir3+0J9|H)aZZzKl(!Z{8zn5##sDkICBNd`a_RLl zmRT2giE3&lw9j_g@YP!9X=`d0GHuk}AsR^f9qCB|n{8Fg8vlUSQBzrR83(X$3k-V8 zu@r7Ucb1Q-YHJD{m-|{6H82j0F)k%b@o<+PBf5Jmh(%Qt^;KB2ofUYpXlgRHWy%+8 z5-=}l9N?AILB_YeQVYR#e{7fVHP2ROHBbu#<=M&$Z`3qV3v3B> zH6mZ7JfOxJO?C>JQdv?oj#5p?s)pLhl>Zq#iBZ#l)Rm7~j50Q4Xu4Lu@q42|Gmfva zUu@X4?~(FJjr4^;b9`i%k!r7?%RRT?la(fhf|iHpM0uQzHYsl#W1L4yKA-02ERBa@ zxs;V;$qTV#TqUWT0;&-~sk>I?nI?VG0x}wpsJ`V@DMrJrKWy3#1%+99QfD74jz39i z7GKXZ+EVKo^5C(`n^aZ5g%O(%C*vp;0?-l18OImQs(J2E`)k;)F{sqce`w z%}R&)z{Y*Z^dF#^Q0e{+mvPXxN0kbL@WaEs2q*ydRH1SK^7r?DX)G!(2@n#)a@gWe zhC63-L)m)=O;U&s#(U!&^hpt=okZ}Lt+yXaP8`We zd77>_dN#iP04GU2a9P?ZU))aJTX`X%H%IdH-qq6b7gRJZ{Rfoh!@T?1Q?7iq{pH%$e0qWbH*&}d``I(DqKQVy@^+{J1v-N%N$d)7F)jP_Rb(HHP+$ZdI8-lGD%is-533&dq3_H!gFp`tv|FsORVu+BAK`8o%@D)e^Hr z#;5iND3Kz`#-ewjjo3{aeIw7k5X&<=SYI~$x~V;58Qgemv06I)lziGK?Cz_2STS*m zQIR``w1`v5;C`i4a&gEN@SJq?>{@a^zH+Ep;>6@y(BCF`p?=7m8wdDAZ6&&L#D$!9 zd6YdRkFX=<@~AOD*F7dZWfCgG|2=Q_$0Xa(TaOLi3zpS=SIy0WPpl3Q5(Y2NX*jsFm{>o z!)i5twrwDnsdMZ={J-!cWZ8iHt7+Us6M1WupDX~EB)*Y<)B5>D&TmG4&JhEqZb%;M z=%=2)3gQZ+m9-Jef_U5tdG-y;{soessUJS!@H??VChEvHs>qf8 zRDQFb_mhZ(nP#<=+Lz#~=qNG9H+oR>>FTm$o;Fm3($G5d4r6Ijt)YEI>V(4` z(W<;53q7qr!iJX#WcsmB&;j6f8xxO`nht!eKEI*p!160E(HVRzkCI^}Jb8P!(aK_- z*UpC7xkU$&j>Re#L^5!DfQg|=tZ5cA2U|+YaC3x3<(W-HjiNi;*Juyc9K)0L^ZS*i z>J#3G+wdlq9}9i$5tfxV11X-Se|7&t$*K5%Xs=B+MP0}Yc}ApM)el+KCdHjx_4y81 zXDb5h!}ZORcz6|<>jxm5u@f$8Bb37D$~r|-lW?(}d-eq*ozk|KceFqng3oP3wzUXA zWV>H@1qNyGk;y*jOGtJL*F-g%-aeGy%}Ax1i+e4pN{hdo3aTg%wVr>|DM3!ty!LKMNA5gM`%B1lk%Y;<9S@9e{bTkV zemjzHvNWlNkvTI6>p@VctWpw{sQ4_ZK3fuO|nh&)~DU z>n9M*Dd-t`x#Q#n5PkM(b0_0H!XzR7gci8HoTdXo__xZ#@5z!1>*@YewTp})9FHjK zZ12MS5K?Yv&SvlN^My5`_DcrqNVPEkTX7XPfwvqqMv-akHX$%%ESLIE}7R^Ym7W+eB?q`!%(=K|w1Q#|K&wudrpIHC#ae!?18=?_rXfaeXV-L0( z#dh=Sn)mkPm_#F+*HF7{%nl{g9Z`&#@-#c6%XXnV)6@EWOJh^{8!cfqDS4C$ub5rE zc>XRhpF@)BZLg{z=3QuM6!?HLArDh&gvKB8sC5gAx^0O%kns=ouy$f?TV5-^qlfNZ z7fZ0YqZl*i(Kf%9bhqG*m-35XWzgKCVI%Dw$(RYdxV1xo$A%O`wHC%k*DLa+twfch^)^1ir39;)sQZQxOi zpG%bdM79ly^Ss&gUTH*v?pRZUZhwGEgoCbW6KVz?);43bKzGIb)c#AyX;9comS@oM z?zI&GXzZ?B7;wp$;Iz+HGWaCp@{&T}@bZ)3?74{m^3sUw0Mi<{Yl{N^qD)YUSr)N6 zd&swP@uv&~?CDk->yqSIojpfc)xoSF4{@jVwnXR!tvU+@lq35N4_pL7YfrrK?;k=N_JUkvT?{x)xJV+YQzwou=JY^=|$u%EW( z2mB!qZrD%8kSAl6?v#X-OC{z!Ia`3e?S+@30cgZBt-9uKvmygXet(!!RLq9l-m(tP z25-3}n!wwb*$9GQ7NhO`u?($trilrQ0c#cS&n~8phfW8)uCPRP>dYYq!*d9=(GQV9 zJFFD)qUw_S!6x^fwlazsD+&2CD3`SqicFF$r z;0{hA>d;D~L|34?ka|M!S^6V)h0v{WMzpNfq?SCOu5mD1oMgz|oRk@}nnn>HYs;;i z_R>RSpb+57GCr@YYE+^XJ$6MoXMM$;A+DOxe_moZ(Q zGq(9xu9O~vCbnJ{%G2)vFx$&2p1VtKFDMM$M=Y>vaZ=XwE(Ai z{@p&$>Y}5MYqVP8tnrBI#M^wk9>d}~wdP_Q7UP7U$Ezh&ZZ_)2r2&$Dq1u~Zw&s2GC>mAuyco<$8J4gN{qd^ug96lpfokEZ1|$@ z9<@Brl%CL+M5G`s@P3}gEhWSb<4kg&2R65=drd>&KZ!XzJ^ znZK^)#UasB+}rzcflU5{LqB;=QyQQ;QG&Uz6_`qI!(bTs&F*Mt<%T}Cl$&I(;4|+k>r@Eq3223PRHY^p(iT-BR6nt6WVd_u&!&Bsr zta@T380f<2HP=08y(;ABLQ`16vbWH9kv?b1xrb3-*MA5Gx3J&*5Pv-*gq z`6Se0Tal)927W9L$kJ~tW{PRO&TMv;n(6i<0coEBzH(PuBAV6How;ZJFM69 znw1fbR2&iUvrNwUwk-n@K8#wu}Q9RP&q!QUx?{rk%|;&Kua>RJth}vjJcre2tspY z28NVt=|N(GgKH^4I7TWbDf2$>cks0J^@1k@%g03gEa_OK!oiYRQ*|2zeH-vsQE zr+tGX#bEIuR~MbMdmru(i3xRXp3AG#rEWf3l+o`ziDc25=kV8TV$V==CHirINX*Mm zS^^&v6G-CT3UVYNViw+;J6>?dOtMK`{ssKy$7IE=;HNNcLX|=H$L78xgHL(Rd)qjv z5_#_U|H7)`=a9ve0q-Az&4>XVNZ;N_5exZvO`Fcy)E#vUn}4jG{pwA(zoEl-oMUA1 z_-E{>lF_O0SHV=b|7%>*yICWkh@#u$>G(;Q$J zQx0($QrKtkv%zO31w1q}U&|%7a4N-4>J8B=be^k zN_=1*cGce<0e4@Fc%<1-VOpU+j?`ZGFLopaTl`GR5LAY`0r497lKmks^e#fm)Ay__ zy{f|m!aXY%(aHAnD>A>F%t|5C3t1G>au%sN-wWLi=l)_X#q--yQ?})3_O^1GN4r>! z5Uq_kMGk*v`JrQ~pPe$SEWKHJ6CxLSfR_ zxStP~UQ2&!hbYIpg#~_0JQ;0%oR#p=F~{w+N~tRfu(NwlNH81iVd6p~Y+??y!@zHg zut_n@HAu_WG0RZslr~B7*-Fb2d#tw$86$TX#Ua}-c1Dc3;nDlCKRc|(^(AfdKBtt> zJl5BonUj*&n{|A4rz>6N3yl`V#?mFC^eX3e{Hz!t$t!KUNY< z{x>VYSJ*(~Cj&yj}_q^x(=R0Ti?Cwmq-P}7f&$D+&d2sal z{d>J%?4cIbc(0EeGPgI7qP5K1R%@*wr{_4AK^~$2smLd}SUjoZg8(-Tw{B%7j{CHR z?6F|e16{ULf5o+@JXQuXZ&<>-!abnrzcD|lZez5pvbV^Y5y0oCaiet`G9V_-dcwKV z6SZubztqp8sa>}}>f{PVnc5mdS_E|;MGz?2;x!K+Fg-9`oA{$pbGIYh(P>k7HZZr- z(O^BU+hb4g>YDpnjeKp?r+Wc+-z`{RtE_#rE`iJ!6Plz1Ey||ZHLR-_QkJyjIC~iZhJ0I7I#_&=~G#}&bs?#jc4`@RXgU5 z{tHYJIn+-5X;dHPlcCQ$71_aNMzsE?QSB;Dw0&Q!6ZKMT3cD`ae^QZDFi6&CiMiO% zDzXa-GC2Qf@Zjh)6zdJWNZ@&D7x~$fI_jwv__rb?^RK`;bU%Y(Sv;g?kOJ;3Cj2a} zhYuAie2R{(nG-wuu-+N&BBpc(DXzRir$0Xjg`B={PMPboz!+%hKN9W8? z3-Ho#%mJ(bxoybH*2cpoIl$njt58HaDu7_4$c=J$jx`Hgs)G^$ENiH(eOU*PJjdVF+zvkjqxYNgIN)SA7`3{o~&` z4c#6lVpM!FKPWyeZJLN(?wTkpgS$HW{iZ{>QVlosj zKW?-6h{QfiQF-`Raa^~8$85gHxcbk_+;i|BkVZ@ zDR^}^>rIY{Zcp~Q$u~vMM}p1PVHG9RyOaeVqtT-g=!5i8U4)2PROYd+sMj-vzhx2I zsp}@gia3`!u}gntWCKZH|xES)X*8R!*s>J z{C2~6OG9BHm?rLs;c{w8n$_Ef7mc|lnm2*UtVYBJ9M-#O9@g`z;8m_64^7wGwcHOO z>r;?abDGTLm*DbrSzXRPUIM>XpYFe&p$W9mw99~`T3Eh!PA~dts zsXQGQSRvZg@P23{8$+ead{4!eaR2yrXl`ZM>y8JrR-8xEp~%*>YaP*y@koOjmhiP2 zF5Q(1;;US6`FE(>FCLdkraQ{6MtvU3=pco7rHEGGw4)S&C#ht=fOI zUtff#e(OVk2L+_0h&n`9Br-M-QakkyZKWLP9>;a)?d`*W9}E?SD5K^>GB-fWrWnqZxTd|%=G9KxFX!{#$ED}?Ha8u?xkuehzQ zmf`dERQMUSzg=B1OM=yRxgxIS) zrU7qqeB!{ZZdaPrMbw{IR9z3L9W?~(xH!noMT;J6b<}li`(@KYF#M%`Ezbwm z2d<{A+I`Q=qir~4FycrG$6e!&ZLNM%5N5ve~~o@gZRZ1ru=0RP^~E(}G3{`{eA> za8Gkf(WS4Wb0tJ_e^TVuf6Se*OgnYsQk$G;Wf0aqEG~YN&4VyLdi_H~q#>Op8b#QwW#m_7F7>PIMhHtb=fHv${Nz6H{)4>)Ji`Pc&!U#rPm`+-xAq(3jsAXa`@ z1pUZE$w%h6BtHvvUe3Iz!K0j_)wX+e)v#6ge`ta&1Sq4-XsJi6=@r?q(&_BLd5gf}-@pnTJ2F`i5iDHBonUkBY}K94 zyS-Z==@%AWNlRqpDOqP35L>uB2YvxJ%YD0;ns=}%YP+2J$^6XOUMBSM7YpZ zzZq27!IML~t^6pOLF=W-HqE(^+Rl3v@Al{NP`*({IIDKzm6|4t+05(_DbLi(fc?Vy z=-yZ3p5`V|lS7ay6oN8voP*vPa@9<_?VWn%P20)UHbG+uaN>UmpQMo5R~vLbHT??u5l3v708^?CorOX^=$;w}8b#lL&AqNltHBpF>=&uYC>a6Y2KJzn(}t z;0}#(@yXiRt>vzrGG#G+m6!DRg;3dhdl5eSe}564tIM9XMN;?*Ee9NVvb6fe)LNU! zwmgbAaf(?8FnPKMP?VG+N6mjSV;(dU_wepBYf?^&%G(9BVe zlC$1_8{nwjnpuf2L;Z~I2!hRdamwCEUPl^#@H_HyrBBw{UE@ZqYzB`oW zNWXd)qj}>tL?E#*j#-#KkH4F4xW5xE?UCO4@DFG`_7VK+UBBr!ffU>JM8`-#KzJgg zDXntVo!O!(fH8NHdzk6U`>&wIVMF1>c_ic3)!ja?o>Soo!kglwdu0Ds#8X=|P-_Zi3bXZskBb$%amSrv*c+qIK^qjN*s zXG>cacT{vto9N|i$8x>m)Bp-jaq;lDT!Q>T~%+4C|^!H$QQkh?H~={>cj!X zLL79w`Txs?@2U5$j!g?Yv8->DiYa_4{6Bx>-3tVVUf62f%c~ z;07ep_%P?qUzN{aWBA@0lC)E$c$PHcrL+(8mfyOf3;g}^0G((2(pN=}+Fb-in)hs^a| zh+kb()3#+cb(^Tn|Gf1FAVz069HIs($Gnq7P;KiBQcC~m+l0s`d?bY;?=4|BOTvm! z23M7j{*~%~Iv50Bc57P_(Mj4oBUZPBgPzsewhR9L-V$UeDw-#tAF;U9vL!Wn+k4uH z;ul*CovafQTb``16WC%YsCyJH{SuvrHq!U(_K`P5VUFIIqWGj`E9(MBe`Ay zmAr>IyDoF$uJ{Z$_))?aS^H0(s~RZqR6PD!_*><-4zvZol+w4`SvjGJ21;nnql?qJ zgCO#w_HO5mUd<){dgP|YZmJ< z*B3I;gfDx~3N{d3$B@1H1&yNa;&Vq4|D zcI6b(Z`>H(yH`$9ymFKodU0c!5V)H?tBV!%CrOw;4b@>1C01&d^H|EkkCJM&UChB} z-_iV{gRr=0g}C|M-h>1~#%dwkHb8GN2v$iHq_?rb56mU{u!N_!h^{#E4o>WcS6vvs z(s7|1w4o(v3${WIAPt3xwWf<*v>acnJIaR^F9b;s9dDodm^bDA>gdu|VgaB{EA@%(r%IvPtHjWnM~! z_3|AEgaQpq(qRr}L!DUM_b)71#tLf-IZ~~kzhlEk{Qi|&RisFDl9>ClxQvoFSVo}m z?5eiTr8CDsXr6NYsmzp84sL0Vs8%25}r>HjyWAN*Qs z(0VIj5cW}(3rcm%jb~% zG9Z+Aqz^8vgamvlee7d!qW{kZ4pvGm{0I?m4>$H|DZLW`HGT3z@v$y}p>||c<-EGn| z_gSHJOvU^oh7n;u`6JuIfVJ!j2V`o$+s(UeQlp|MpM`^Oq-lN&)#!s>c18xj#N&W9 zi7`f_w=k&=DsOpnF+IXjkKMx%S}mf79vwL~!yzVhp?5~56mj2X$fB|j-XX8@_Xu~+ zVtYe+vbh0QwSQ1REM7Z2&^Y|8N$@3h$4ctZ zqabgj3_iQL_>5CADJ(17GdBM$0W$(HBu?x9g!Q$^)Cu~w_d?mr^TE%lVZ<|x_D|ickpxT zp|4EM7hq@KfIw(HTF!SGD|JerD2d=|k(iCtTda!sJk$|0{aes7{d1;UA%~iDNyhVh z&(fKd)k?_wZ`rZ-_Gq)7*@k|hTK)w2E5upI+I)zkeI}+%%E0hoa*45dS;$Mgei)(u zr&9}a#dsK%X=MaQk@OYaIv{T{=SW)?C?do~Z|L8{-2X@^IZ`BA(#`(SqJmg1X6HEC z|3SI%ak;+nE~%t*o8YyaVBWQyHRLnLw})*plSGAA$w%&_tlW3f*x_xdUe-XRm^gXt#~cJXY;{Hw;8tZD5}{$xp3gU4VOA=W|=7c4CxK^3Kn=;Q@|JldWn~hWWEq>1M6e>2mMW8ZrS_ivT4j zA!NJfc*un6kFQ%J9XY5yBxHVSg|Pg?_KOII2dF)=(%n?^aT$_g@97${@*37=x*)`9 zK-Hn9aYr8MyxkU|j3o{AwYZ{->6w?R(0UbG+kGwAQB65?X=-k9r?E5J$-c&>Ls!21<#k*DFp?NOU zDecIe2)hLB&WsCDKy^o|aN#Hvn(xiCrnji+V;-IyNTM;1CKbAe;MdzCDSosrQ;S~B zA&H$zURuowu;@zfIz|LeAXs~Xj! zcb@41`3s{_=VlA^EP_}mt;hoXm-&rkaaYz_ArLENhFWkPKzP(X{io#3QN4pw3|fL& z=(O_5nlEax{Si4BtLAib#g=_+{;F|)Q!c2CSWn<>)#GqJd~QWjQ0-%`9&JRJYpZy0 zZMbk{Kkprrr&ik^XHk-C%D;EBj7-a(fOWi#o&xXqmYJKukC~3q!<&qr7R7awrE*c3AgC=QwR3{kl*kjmvotcb*wY-dOwx!*@ zCwTqZ(}(%8l%EN)SVK+*+_yqah&mT^p*q)!zp}!#>RWiymsWhY&bxd@JtR2+u3wQ4 z2Gl#2vZR1rS#u}2O?Yh)pz`yjG2u&HN}B^s9*@rGKYkIsFA=Q5E7+mwe9r8HBxDDI zPpOJWWq^A3I*gCLq$^8beogrpy=v-4HG@%LG3vyrXMNxiEhTb*=313491$jmj|wN5 zUzbtdlvQ1Y+g%_Z0Ee-q{0PYC05;FOJH-GODt*BF_-92}J~(-PbS8vx2) zn1Ar`3GwyvJw4w1_6?{MD|b(5$dw7jvcJjvGjmyb>%yn;Xku4(%8+_5FLP(lr`EN7 zBNO8#EO|QGFU%D-p#ET`x`IlboqI&fsyuIJ{6-7~6kYwz;;Y%_>nhXW%2n(;{w6+W zidB<2FHKUr&GxG%RQ=tvbm zm-$jdmxEs{l@#3-ykASI-=7ZEF-5%iJ$VrvFB}|S z4I$FiK}Kf}8d zGk6_F%1G*q4jANtK9*P-U@-+Ua4A$t7w+Ck1qWv&m8HOgRluE#L8?EeK@u`a;LCW| z|G4j#I&phHoH`{J&0F+336MRVTf+J*l>qU>HCu#o$atDez_@34x`xiJ=f7sU+O43G zgNz8e+C}47vT_>PZ>KSgM%=7?s$!c#%A1S~^9BycE085@OK)xFW0Jxazj;^Qd2)S| zYw1d}W-6IY4JN2k^BLPL_6#u=(j$~FF515H2Ya?U79yS*#Bou4Lnu>7UjD1cr&5Rk zSg{@nzXLG?G5p&GV5tisO1N%z82M>Gj9guym*2&9iSZrT$dF z-l~>5T)s@VSBGOXt{_?7b?6$v>*Lvt6PAHTT)pLw9JwTFw?9{dpB*^EwrZW{ccPT& zQu{&ASY2Stm9NA_vzVIDsHv2HGTl34Wfs!04M3+vAbK6Snqe!Xy(c;GL}#sRT>o^t zx&9f_c6~N!4;ye0P2XCXa!b;7e=@7VJy{rUH=F4$GTZZHgM$N*K0zsndAu!bfI~q? zWly?!UCDGx>#T>TviD0P^6KZR#BjHwxv$G9Y(64lElpbcWVZ)CbV|7J#C9rqD;HqN zd$i@%!BAH^BIum50=+1&tQ@ER)!q=>J+ODXb~lb9Sn~n?>Z#yo_`HP8VovyoBZ(v; zr5&a#f8Pk~VuZ0cu>-~%X`LV4cllrMRYK(>9%Y5U@JS7Ythmh=1O-BZIzWT~==oc4 z@wAvXNRD_-RJ#*r{V#osm}3FC0{QUjEQ0Lb5J~a#ylTMh@1M&OV)p(GD5af&TW74# zf2Pq!AlU5q?J_XrHY#pd?jeGF3Y}im^Sv05cek>5ilpJ`K=@}E>3aL>hb8bSmHt*q z?Na6JR)UaqW)up3{*_O38OOG*PQsE{{WXgV0OVcDJ6pG}+^OLUdE~3NPmwr9NdN63 zhGq5EiH>>omVg~>pa0MBFAP=bz^Y=yH~p?~6!K&4JU6}agu3RSTN-H1YpqOoZgGu+ z^8g<`JCWyVT$tPkf+ePYjtY!($BwgvDZF|^7qrgXiMNx*cwKvyAG{`RjfL}l~zE6 z1RN8|qI<9mDmdf9Fh5$LjRNbVzDKuS5_m2d-b~|emT~FitKWa=^xkY$+8M{+a_MA! z`GIApb-6L7rvfIk^LQ_zseqF*Igd|>_uKaVur?a^lw)bK_e5K!;r5fl6$(E+lW!hh zFTzwvThn0m1>R<3DF+2~>#5u;ww&v$&0xxp7~7u&$D6DV?+h7m`Vy}rf*tU^5SnQp zxqu`Bq4*YG3UJi>EW-Pe#TF+%L@Q%0uhAg=&HYmUz^s4#UKDmB?eNi zH~rwmN4zY-m`M-;yht|)>ssfBpEfdX2AC3<@c|x1ACT`a&S%j0{#h*{Y&yaFI9FAE z{7u~31EOP-yQKaQ(f*NwN=l&9nV@xj1*JowBj7mTI)=~i5y&w_EGL1N;87T$?4v4P zDE?KsDawjPy8f)RfFV1+>@dI7P!-)OgcW!bkeoPwPv7tmt(!EnIHhePXiU%jK zEpkZ%E@heBxb`BWuNO{ia0&Yh_ zHw(g4HpYl_`(*I$E^EY!ygr#31p7lGYnL_$OJAR0x(@jqn#g0M9wVttR8y8@hr<`b zflAaw0H<^nt}e?5;4n}ZaE2Pp4HJOdLfkxjyX3)L*Qv#`6Jpl zfNRQ^_9dzVXdIXEH$)1{ydM96RrBCsIdV3L-d7PoKvPJmcN%9QcCY~xdF`{lZy`PI z>WmCAiV~u}w*Y4)eMVLePvwB8igWu2w4kkA+V1*D9XCy~hV{gEh}UXZO(m3Qq@OKM z0{qo_TTZB!RZkP2MA+`J)p>|RGx4a+@{eZXSjEz)j$D8Rn;Rf)9;jE1>M)zdRx`ic zlDao>(7H-y>V|x_>;mA7my?oJ(Kw6toOJv2S_Ud9R!7*fp(p@5zA|Lx)uSUEDp2iT zHfo=Q`*MJdaZKmQUm1<)v?l~b*bqh02s&;3E7mT+r}F?FKdB9kLfekpuxHnPK_9s7 zkd?bedo%QgOxU~`4KDS54ZuZsvqY_+-s+LE8P*WTD3Y}a90EiLNc=w`kMuilLtAlQ zXu5OGn&7^k5deUtg@3;kHX!KEX#UO-wiV57$~}3tyzwv8-msp8Omt7GCQ*#W*+1X> zJp10D{c4`Hxlb#V&%Ak)u-w%m*l+HDIrBV!g|2oWNNB)5?9}JW53@D956_ZBv;UzG z^|b#*A!cf6(`LQAo5ca>iC9AHb-VRD^syL7GRgcBhJu zpL~>j%j^7EFuNE4BrNhZEwp`D2Au##Cp@h_KoX!-;p^>P=@0uyTy%m}5dS2x6u%dD zNy-U~^&3Eh3A4>XT^)P%J@V=J|6HNds3H|Q!L*tD?huLOYzF{5OaX8qWe;G4{8Iz& zf2$h4H9fShAzD|qfzJatkFNo}&Ae5fGuG7AlRORV3Y^wQ)A*kuJz%7P70BtnUln3` zFySLY;jwSKH(Q=-fp@>hS)k*d=K=CJ*hR9K4XRGEsBO3aD9++}Y1JNG>Hegp;L6S4 zSpg~;yt~>=Us91(n_6PCx}+-tDB&DMRpU+-8b_Vn{PH_e1TIn_2C*~%+6bvgB6TDG z*)vT5ewl5YFw}ISW#I_i5E~j-PhU$se4*jo>&{~{AWtYsGeMC2rLZv?7{m#@yLlS1 z!mkldo=(NG5%Szwv>fY*?Z_*JfnNQRC w1@ju={C?c!=r@>NvcA?Y%qy1K>>G$N&HU literal 0 HcmV?d00001 diff --git a/configs/obs-settings/Settings-files/profiler_data/2025-11-29 12-55-44.csv.gz b/configs/obs-settings/Settings-files/profiler_data/2025-11-29 12-55-44.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..4190f0ce20cf80cd9ff0949578150ee9c1312ccf GIT binary patch literal 8892 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 KAhI&la{>UFBiN(> literal 0 HcmV?d00001 diff --git a/configs/obs-settings/Settings-files/profiler_data/2025-11-29 14-59-21.csv.gz b/configs/obs-settings/Settings-files/profiler_data/2025-11-29 14-59-21.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..461cd43203ae5d3e502bb352308e2df289a7d929 GIT binary patch literal 25304 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 literal 0 HcmV?d00001 diff --git a/configs/obs-settings/Settings-files/profiler_data/2025-11-29 15-04-58.csv.gz b/configs/obs-settings/Settings-files/profiler_data/2025-11-29 15-04-58.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..cc23f2cc46cf6644159062c0a2474d985810c696 GIT binary patch literal 9031 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 IAm#Q40Jj8%%K!iX literal 0 HcmV?d00001 diff --git a/configs/obs-settings/Settings-files/profiler_data/2025-12-02 17-39-30.csv.gz b/configs/obs-settings/Settings-files/profiler_data/2025-12-02 17-39-30.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..e64fe50cf9abe5d204d1219dabe3162d841a0aa3 GIT binary patch literal 288327 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 z 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%0DL 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 DVYaok literal 0 HcmV?d00001 diff --git a/configs/obs-settings/Settings-files/user.ini b/configs/obs-settings/Settings-files/user.ini new file mode 100644 index 0000000..8677b7a --- /dev/null +++ b/configs/obs-settings/Settings-files/user.ini @@ -0,0 +1,67 @@ +[General] +Pre19Defaults=false +Pre21Defaults=false +Pre23Defaults=false +Pre24.1Defaults=false +ConfirmOnExit=true +HotkeyFocusType=NeverDisableHotkeys +FirstRun=true + +[BasicWindow] +PreviewEnabled=true +PreviewProgramMode=false +SceneDuplicationMode=true +SwapScenesMode=true +SnappingEnabled=true +ScreenSnapping=true +SourceSnapping=true +CenterSnapping=false +SnapDistance=10 +SpacingHelpersEnabled=true +RecordWhenStreaming=false +KeepRecordingWhenStreamStops=false +SysTrayEnabled=true +SysTrayWhenStarted=false +SaveProjectors=false +ShowTransitions=true +ShowListboxToolbars=true +ShowStatusBar=true +ShowSourceIcons=true +ShowContextToolbars=true +StudioModeLabels=true +VerticalVolControl=true +MultiviewMouseSwitch=true +MultiviewDrawNames=true +MultiviewDrawAreas=true +MediaControlsCountdownTimer=true +geometry=AdnQywADAAAAAA1l////zwAAEj4AAALVAAANcAAAAAAAABIzAAACygAAAAEAAAAAB4AAAA1wAAAAAAAAEjMAAALK +DockState=AAAA/wAAAAD9AAAAAQAAAAMAAATEAAAB4vwBAAAABvsAAAAUAHMAYwBlAG4AZQBzAEQAbwBjAGsBAAAAAAAAAOsAAACYAP////sAAAAWAHMAbwB1AHIAYwBlAHMARABvAGMAawEAAADvAAAAnwAAAJgA////+wAAABIAbQBpAHgAZQByAEQAbwBjAGsBAAABkgAAAXEAAAC2AP////sAAAAeAHQAcgBhAG4AcwBpAHQAaQBvAG4AcwBEAG8AYwBrAQAAAwcAAADfAAAAggD////7AAAAGABjAG8AbgB0AHIAbwBsAHMARABvAGMAawEAAAPqAAAA2gAAAKIA////+wAAABIAcwB0AGEAdABzAEQAbwBjAGsCAAAFWgAAAmwAAAK8AAAAyAAABMQAAACpAAAABAAAAAQAAAAIAAAACPwAAAAA +AlwaysOnTop=false +EditPropertiesMode=false +DocksLocked=false +SideDocks=false + +[Appearance] +FontScale=10 +Density=1 + +[Basic] +Profile=GlennIgen +ProfileDir=GlennIgen +SceneCollection=Untitled +SceneCollectionFile=Untitled.json +ConfigOnNewProfile=true + +[Accessibility] +SelectRed=255 +SelectGreen=65280 +SelectBlue=16744192 +MixerGreen=2522918 +MixerYellow=2523007 +MixerRed=2500223 +MixerGreenActive=5046092 +MixerYellowActive=5046271 +MixerRedActive=5000447 + +[ScriptLogWindow] +geometry=AdnQywADAAAAAAABAAAAGQAAAlgAAAGoAAAAAQAAABkAAAJYAAABqAAAAAAAAAAADXAAAAABAAAAGQAAAlgAAAGo diff --git a/configs/pipewire/pipewire.conf.d/sinks-loopback.conf b/configs/pipewire/pipewire.conf.d/sinks-loopback.conf new file mode 100644 index 0000000..7496086 --- /dev/null +++ b/configs/pipewire/pipewire.conf.d/sinks-loopback.conf @@ -0,0 +1,47 @@ +context.modules = [ + { name = libpipewire-module-loopback + args = { + audio.position = [ FL FR ] + capture.props = { + media.class = Audio/Sink + node.name = DiscordSink + node.description = "Discord Sink" + } + playback.props = { + node.name = "DiscordSink.output" + node.passive = true + target.object = "Default playback device" + } + } + }, + { name = libpipewire-module-loopback + args = { + audio.position = [ FL FR ] + capture.props = { + media.class = Audio/Sink + node.name = MusicSink + node.description = "Music Sink" + } + playback.props = { + node.name = "MusicSink.output" + node.passive = true + target.object = "Default playback device" + } + } + }, + { name = libpipewire-module-loopback + args = { + audio.position = [ FL FR ] + capture.props = { + media.class = Audio/Sink + node.name = GameSink + node.description = "Game Sink" + } + playback.props = { + node.name = "GameSink.output" + node.passive = true + target.object = "Default playback device" + } + } + } +] \ No newline at end of file diff --git a/configs/scripts/app_close_and_reboot.sh b/configs/scripts/app_close_and_reboot.sh new file mode 100755 index 0000000..421f068 --- /dev/null +++ b/configs/scripts/app_close_and_reboot.sh @@ -0,0 +1,76 @@ +#!/bin/bash +# Function for Flatpak apps +close_flatpak() { + local app="$1" + flatpak kill "$app" + for i in $(seq 1 5); do + sleep 1 + if ! pgrep -f "$app" > /dev/null; then + echo "$app closed (attempt $i)" + return + fi + echo "$app still running, retrying ($i/5)..." + flatpak kill "$app" + done + echo "$app force closing (KILL)..." + pkill -KILL -f "$app" + pkill -KILL -f bwrap 2>/dev/null # kill sandbox container +} + +# Function for native apps +close_app() { + local app="$1" + pkill -TERM -f "$app" + for i in $(seq 1 5); do + sleep 1 + if ! pgrep -f "$app" > /dev/null; then + echo "$app closed (attempt $i)" + return + fi + echo "$app still running, retrying ($i/5)..." + pkill -TERM -f "$app" + done + echo "$app force closing (KILL)..." + pkill -KILL -f "$app" +} + +# Prompt +read -r -p "Close all programs and reboot? [Y/n]: " response +response="${response:-Y}" +if [[ ! "$response" =~ ^[Yy]$ ]]; then + echo "Cancelled." + exit 0 +fi + +# Close apps +close_flatpak "io.github.lullabyX.sone" +close_flatpak "rocks.shy.VacuumTube" +close_app "firefox" +close_app "equibop" +close_app "1password" + +# Close Steam +if pgrep -f steam > /dev/null; then + steam -shutdown + for i in $(seq 1 5); do + sleep 1 + if ! pgrep -f steam > /dev/null; then + echo "Steam closed (attempt $i)" + break + fi + echo "Steam still running ($i/5)..." + done + pkill -KILL -f steam 2>/dev/null +else + echo "Steam not running, skipping..." +fi + +# Countdown – Ctrl+C to cancel +echo "All programs closed. Rebooting in:" +for i in 3 2 1; do + echo " $i..." + sleep 1 +done +sudo shutdown -r now + + diff --git a/configs/scripts/app_close_and_shutdown.sh b/configs/scripts/app_close_and_shutdown.sh new file mode 100755 index 0000000..f4a9b16 --- /dev/null +++ b/configs/scripts/app_close_and_shutdown.sh @@ -0,0 +1,75 @@ +#!/bin/bash +# Function for Flatpak apps +close_flatpak() { + local app="$1" + flatpak kill "$app" + for i in $(seq 1 5); do + sleep 1 + if ! pgrep -f "$app" > /dev/null; then + echo "$app closed (attempt $i)" + return + fi + echo "$app still running, retrying ($i/5)..." + flatpak kill "$app" + done + echo "$app force closing (KILL)..." + pkill -KILL -f "$app" + pkill -KILL -f bwrap 2>/dev/null # kill sandbox container +} + +# Function for native apps +close_app() { + local app="$1" + pkill -TERM -f "$app" + for i in $(seq 1 5); do + sleep 1 + if ! pgrep -f "$app" > /dev/null; then + echo "$app closed (attempt $i)" + return + fi + echo "$app still running, retrying ($i/5)..." + pkill -TERM -f "$app" + done + echo "$app force closing (KILL)..." + pkill -KILL -f "$app" +} + +# Prompt +read -r -p "Close all programs and shut down? [Y/n]: " response +response="${response:-Y}" +if [[ ! "$response" =~ ^[Yy]$ ]]; then + echo "Cancelled." + exit 0 +fi + +# Close apps +close_flatpak "io.github.lullabyX.sone" +close_flatpak "rocks.shy.VacuumTube" +close_app "firefox" +close_app "equibop" +close_app "1password" + +# Close Steam +if pgrep -f steam > /dev/null; then + steam -shutdown + for i in $(seq 1 5); do + sleep 1 + if ! pgrep -f steam > /dev/null; then + echo "Steam closed (attempt $i)" + break + fi + echo "Steam still running ($i/5)..." + done + pkill -KILL -f steam 2>/dev/null +else + echo "Steam not running, skipping..." +fi + +# Countdown – Ctrl+C to cancel +echo "All programs closed. Shutting down in:" +for i in 3 2 1; do + echo " $i..." + sleep 1 +done +sudo shutdown -h now + diff --git a/home.nix b/home.nix index 80540ef..5b8e329 100644 --- a/home.nix +++ b/home.nix @@ -44,4 +44,6 @@ Use KDE Defaults=true VariantList= ''; + + xdg.configFile."fish".source = ./configs/fish; }