# Alacritty Configuration for socktop webterm
# This is an example configuration - copy to alacritty.toml and customize

[window]
# Window opacity (0.0 - 1.0)
opacity = 0.95

# Window padding
padding = { x = 5, y = 5 }

# Window decorations
decorations = "full"

# Startup mode
startup_mode = "Windowed"

[font]
# Font configuration
normal = { family = "FiraCode Nerd Font Mono", style = "Regular" }
bold = { family = "FiraCode Nerd Font Mono", style = "Bold" }
italic = { family = "FiraCode Nerd Font Mono", style = "Italic" }
bold_italic = { family = "FiraCode Nerd Font Mono", style = "Bold Italic" }

# Font size
size = 11.0

# Better font rendering
builtin_box_drawing = true

[colors]
# Import Catppuccin Frappe theme
# Make sure catppuccin-frappe.toml is in the same directory
import = ["~/.config/alacritty/catppuccin-frappe.toml"]

# Draw bold text with bright colors
draw_bold_text_with_bright_colors = true

[cursor]
# Cursor style
style = { shape = "Block", blinking = "On" }

# Cursor blink interval (milliseconds)
blink_interval = 750

# Cursor thickness
thickness = 0.15

[scrolling]
# Maximum number of lines in the scrollback buffer
history = 10000

# Number of lines scrolled for every input scroll increment
multiplier = 3

[mouse]
# Hide mouse cursor when typing
hide_when_typing = true

[keyboard]
# Key bindings
bindings = [
    # Copy/Paste
    { key = "C", mods = "Control|Shift", action = "Copy" },
    { key = "V", mods = "Control|Shift", action = "Paste" },

    # Search
    { key = "F", mods = "Control|Shift", action = "SearchForward" },

    # Font size adjustment
    { key = "Plus", mods = "Control", action = "IncreaseFontSize" },
    { key = "Minus", mods = "Control", action = "DecreaseFontSize" },
    { key = "Key0", mods = "Control", action = "ResetFontSize" },

    # Scrolling
    { key = "PageUp", mods = "Shift", action = "ScrollPageUp" },
    { key = "PageDown", mods = "Shift", action = "ScrollPageDown" },
    { key = "Home", mods = "Shift", action = "ScrollToTop" },
    { key = "End", mods = "Shift", action = "ScrollToBottom" },
]

[bell]
# Visual bell animation
animation = "EaseOutExpo"
duration = 0
color = "#ffffff"

[selection]
# Characters that are used as separators for "semantic words" in Alacritty
semantic_escape_chars = ",│`|:\"' ()[]{}<>\t"

# When set to true, selected text will be copied to the primary clipboard
save_to_clipboard = true

[terminal]
# Set the TERM environment variable
# This should match what's expected by the application
osc52 = "CopyPaste"

[env]
# Environment variables
TERM = "xterm-256color"
