commit a75733d611305aad11590181f019356b721d908f Author: Jens Luedicke Date: Sat Sep 20 08:54:43 2025 +0200 Add configuration for alacritty. diff --git a/alacritty/alacritty.toml b/alacritty/alacritty.toml new file mode 100644 index 0000000..f8c163f --- /dev/null +++ b/alacritty/alacritty.toml @@ -0,0 +1,128 @@ + +[window] +padding = { x = 2, y = 2 } +decorations = "Full" +opacity = 0.98 +startup_mode = "Windowed" +dimensions = { columns = 140, lines = 45 } + +[font] +size = 16.0 + +[font.normal] +family = "Menlo" +style = "Regular" + +[font.bold] +family = "Menlo" +style = "Bold" + +[font.italic] +family = "Menlo" +style = "Italic" + +[font.bold_italic] +family = "Menlo" +style = "Bold Italic" + +# Colors are now managed by the theme import above +# To change themes, modify the import line to use a different theme file +# Example themes: dracula.toml, gruvbox_dark.toml, nord.toml, catppuccin.toml, etc. + +[cursor] +style = { shape = "Block", blinking = "On" } +blink_interval = 750 +unfocused_hollow = true + +[selection] +save_to_clipboard = true + +[mouse] +hide_when_typing = false + +[keyboard] +# Essential Emacs keybindings that might conflict with terminal defaults +bindings = [ + # Allow Option/Alt key to work as Meta in Emacs + { key = "A", mods = "Alt", chars = "\u001ba" }, + { key = "B", mods = "Alt", chars = "\u001bb" }, + { key = "C", mods = "Alt", chars = "\u001bc" }, + { key = "D", mods = "Alt", chars = "\u001bd" }, + { key = "E", mods = "Alt", chars = "\u001be" }, + { key = "F", mods = "Alt", chars = "\u001bf" }, + { key = "G", mods = "Alt", chars = "\u001bg" }, + { key = "H", mods = "Alt", chars = "\u001bh" }, + { key = "I", mods = "Alt", chars = "\u001bi" }, + { key = "J", mods = "Alt", chars = "\u001bj" }, + { key = "K", mods = "Alt", chars = "\u001bk" }, + { key = "L", mods = "Alt", chars = "\u001bl" }, + { key = "M", mods = "Alt", chars = "\u001bm" }, + { key = "N", mods = "Alt", chars = "\u001bn" }, + { key = "O", mods = "Alt", chars = "\u001bo" }, + { key = "P", mods = "Alt", chars = "\u001bp" }, + { key = "Q", mods = "Alt", chars = "\u001bq" }, + { key = "R", mods = "Alt", chars = "\u001br" }, + { key = "S", mods = "Alt", chars = "\u001bs" }, + { key = "T", mods = "Alt", chars = "\u001bt" }, + { key = "U", mods = "Alt", chars = "\u001bu" }, + { key = "V", mods = "Alt", chars = "\u001bv" }, + { key = "W", mods = "Alt", chars = "\u001bw" }, + { key = "X", mods = "Alt", chars = "\u001bx" }, + { key = "Y", mods = "Alt", chars = "\u001by" }, + { key = "Z", mods = "Alt", chars = "\u001bz" }, + + # Meta + special keys + { key = "Left", mods = "Alt", chars = "\u001b[1;3D" }, + { key = "Right", mods = "Alt", chars = "\u001b[1;3C" }, + { key = "Up", mods = "Alt", chars = "\u001b[1;3A" }, + { key = "Down", mods = "Alt", chars = "\u001b[1;3B" }, + { key = "Back", mods = "Alt", chars = "\u001b\u007f" }, + { key = "Space", mods = "Alt", chars = "\u001b " }, + + # Common Emacs combinations + { key = "Slash", mods = "Control", chars = "\u001f" }, + { key = "Period", mods = "Alt", chars = "\u001b." }, + { key = "Comma", mods = "Alt", chars = "\u001b," }, + { key = "Semicolon", mods = "Alt", chars = "\u001b;" }, + { key = "Slash", mods = "Alt", chars = "\u001b/" }, + { key = "Key1", mods = "Alt", chars = "\u001b1" }, + { key = "Key2", mods = "Alt", chars = "\u001b2" }, + { key = "Key3", mods = "Alt", chars = "\u001b3" }, + { key = "Key4", mods = "Alt", chars = "\u001b4" }, + { key = "Key5", mods = "Alt", chars = "\u001b5" }, + { key = "Key6", mods = "Alt", chars = "\u001b6" }, + { key = "Key7", mods = "Alt", chars = "\u001b7" }, + { key = "Key8", mods = "Alt", chars = "\u001b8" }, + { key = "Key9", mods = "Alt", chars = "\u001b9" }, + { key = "Key0", mods = "Alt", chars = "\u001b0" }, + + # Function keys + { key = "F1", chars = "\u001bOP" }, + { key = "F2", chars = "\u001bOQ" }, + { key = "F3", chars = "\u001bOR" }, + { key = "F4", chars = "\u001bOS" }, + { key = "F5", chars = "\u001b[15~" }, + { key = "F6", chars = "\u001b[17~" }, + { key = "F7", chars = "\u001b[18~" }, + { key = "F8", chars = "\u001b[19~" }, + { key = "F9", chars = "\u001b[20~" }, + { key = "F10", chars = "\u001b[21~" }, + { key = "F11", chars = "\u001b[23~" }, + { key = "F12", chars = "\u001b[24~" }, +] + +[terminal] +osc52 = "CopyPaste" # Enable OSC 52 for clipboard support + +[scrolling] +history = 10000 +multiplier = 3 + +[env] +TERM = "xterm-256color" + +[general] +# Alacritty configuration optimized for Emacs -nw + +# Theme import - change this to any theme from ~/.config/alacritty/themes/themes/ +import = ["~/.config/alacritty/themes/themes/tokyo_night.toml"] diff --git a/alacritty/themes b/alacritty/themes new file mode 160000 index 0000000..40e0c6c --- /dev/null +++ b/alacritty/themes @@ -0,0 +1 @@ +Subproject commit 40e0c6c8690d1c62f58718fcef8a48eb6077740b