Skip to main content

Overview

A clean, minimal Kitty terminal configuration featuring the Catppuccin Mocha theme, custom fonts, and window decorations disabled for a modern look.

Configuration

Location: ~/.config/kitty/kitty.conf

macOS Compatibility

macos_option_as_alt true
Treats Option key as Alt on macOS for better key binding compatibility.

Window Appearance

hide_window_decorations yes
window_padding_width 10
  • Removes title bar and borders
  • Adds 10px padding around terminal content

Font Configuration

font_family family="Sono Monospace"
font_size 14
bold_font auto
italic_font auto
bold_italic_font auto
Font: Sono Monospace at 14pt with automatic bold/italic variants.

Window Size

initial_window_width 1920
initial_window_height 1080
Starts with a large default window (1920x1080).

Theme

Catppuccin Mocha

# BEGIN_KITTY_THEME
# Catppuccin-Mocha
include current-theme.conf
# END_KITTY_THEME
The Catppuccin Mocha theme is included from current-theme.conf.

Installing Themes

Kitty themes can be installed via the official theme repository:
kitty +kitten themes
Browse and apply themes interactively.

Customization

Changing Font

Replace the font family:
font_family family="JetBrains Mono"
# or
font_family family="Fira Code"
Install the font system-wide first:
# Fedora
sudo dnf install jetbrains-mono-fonts
sudo dnf install fira-code-fonts

Adjusting Font Size

font_size 16  # Larger
font_size 12  # Smaller
Or use keybindings:
  • Ctrl+Shift++ - Increase font size
  • Ctrl+Shift+- - Decrease font size
  • Ctrl+Shift+Backspace - Reset to default

Window Padding

window_padding_width 15  # More padding
window_padding_width 5   # Less padding
window_padding_width 0   # No padding

Window Decorations

To show decorations:
hide_window_decorations no
Or hide only the title bar:
hide_window_decorations titlebar-only

Essential Keybindings

Window Management

KeybindingAction
Ctrl+Shift+EnterNew window
Ctrl+Shift+NNew OS window
Ctrl+Shift+WClose window
Ctrl+Shift+]Next window
Ctrl+Shift+[Previous window

Tab Management

KeybindingAction
Ctrl+Shift+TNew tab
Ctrl+Shift+QClose tab
Ctrl+Shift+RightNext tab
Ctrl+Shift+LeftPrevious tab
Ctrl+Shift+Alt+TRename tab

Scrollback

KeybindingAction
Ctrl+Shift+HShow scrollback in pager
Ctrl+Shift+GShow last command output
Ctrl+Shift+UpScroll line up
Ctrl+Shift+DownScroll line down
Ctrl+Shift+Page UpScroll page up
Ctrl+Shift+Page DownScroll page down

Other

KeybindingAction
Ctrl+Shift+F5Reload config
Ctrl+Shift+F6Debug config
Ctrl+Shift+F11Toggle fullscreen
Ctrl+Shift+UInput Unicode character
Ctrl+Shift+CCopy to clipboard
Ctrl+Shift+VPaste from clipboard

Advanced Configuration

Custom Keybindings

Add to kitty.conf:
map ctrl+shift+r load_config_file
map ctrl+shift+e launch --type=tab nvim ~/.config/kitty/kitty.conf

Cursor Customization

cursor_shape block
cursor_blink_interval 0  # Disable blinking
cursor_stop_blinking_after 15.0

Background Opacity

background_opacity 0.95
Requires compositor support (works with Hyprland).

Tab Bar Style

tab_bar_style powerline
tab_powerline_style round
Or:
tab_bar_style fade
tab_fade 0.25 0.5 0.75 1

Shell Integration

shell_integration enabled
Enables features like:
  • Jump to previous/next prompt
  • Copy last command output
  • Semantic understanding of shell output

Performance

Rendering

repaint_delay 10
input_delay 3
sync_to_monitor yes

Scrollback Buffer

scrollback_lines 10000
scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER

FAQ

Ensure the font is installed system-wide:
fc-list | grep -i "sono"
If not found, install via package manager:
sudo dnf install sono-fonts
Press Ctrl+Shift+F5 or run:
kill -SIGUSR1 $(pgrep kitty)
Check your theme file:
cat ~/.config/kitty/current-theme.conf
Ensure it’s a valid Kitty theme. Try switching themes:
kitty +kitten themes
Add to kitty.conf:
cursor_shape beam      # I-beam (vertical line)
cursor_shape underline # Underline
cursor_shape block     # Block (default)
Reload: Ctrl+Shift+F5
Try disabling ligatures if using a font with ligatures:
disable_ligatures always
Or adjust performance settings:
repaint_delay 5
input_delay 1

Configuration Location

~/.config/kitty/
├── kitty.conf
└── current-theme.conf

Theme Resources

Build docs developers (and LLMs) love