rice

personal dot files and scripts for linux and macOS
Log | Files | Refs | README | LICENSE

alacritty.yml (20935B)


      1 # Configuration for Alacritty, the GPU enhanced terminal emulator
      2 
      3 # Any items in the `env` entry below will be added as
      4 # environment variables. Some entries may override variables
      5 # set by alacritty it self.
      6 env:
      7   # TERM env customization.
      8   #
      9   # If this property is not set, alacritty will set it to xterm-256color.
     10   #
     11   # Note that some xterm terminfo databases don't declare support for italics.
     12   # You can verify this by checking for the presence of `smso` and `sitm` in
     13   # `infocmp xterm-256color`.
     14   TERM: xterm-256color
     15 
     16 window:
     17   opacity: 1
     18   dynamic_title: true
     19 
     20   # Window dimensions in character columns and lines
     21   # (changes require restart)
     22   dimensions:
     23     columns: 80
     24     lines: 24
     25 
     26   # Adds this many blank pixels of padding around the window
     27   # Units are physical pixels; this is not DPI aware.
     28   # (change requires restart)
     29   padding:
     30     x: 30
     31     y: 30
     32 
     33   # Window decorations
     34   # Setting this to false will result in window without borders and title bar.
     35   decorations: transparent
     36 
     37 # When true, bold text is drawn using the bright variant of colors.
     38 draw_bold_text_with_bright_colors: true
     39 
     40 # Font configuration (changes require restart)
     41 font:
     42   # The normal (roman) font face to use.
     43   normal:
     44     family: Fira Mono
     45     # Style can be specified to pick a specific face.
     46     style: Medium
     47 
     48   # The bold font face
     49   bold:
     50     family: Fira Mono
     51     # Style can be specified to pick a specific face.
     52     # style: Bold
     53 
     54   # The italic font face
     55   italic:
     56     family: Fira Mono
     57     # Style can be specified to pick a specific face.
     58     # style: Italic
     59 
     60   # Point size of the font
     61   size: 12.0
     62 
     63   # Offset is the extra space around each character. offset.y can be thought of
     64   # as modifying the linespacing, and offset.x as modifying the letter spacing.
     65   offset:
     66     x: 0
     67     y: 5
     68 
     69   # Glyph offset determines the locations of the glyphs within their cells with
     70   # the default being at the bottom. Increase the x offset to move the glyph to
     71   # the right, increase the y offset to move the glyph upward.
     72   glyph_offset:
     73     x: 0
     74     y: 0
     75 
     76   # OS X only: use thin stroke font rendering. Thin strokes are suitable
     77   # for retina displays, but for non-retina you probably want this set to
     78   # false.
     79   use_thin_strokes: false
     80 
     81 # Use custom cursor colors. If true, display the cursor in the cursor.foreground
     82 # and cursor.background colors, otherwise invert the colors of the cursor.
     83 custom_cursor_colors: false
     84 
     85 # Colors (Tomorrow Night Bright)
     86 colors:
     87   # Default colors
     88   primary:
     89     background: '#161819'
     90     foreground: '#ebdbb2'
     91 
     92   # Colors the cursor will use if `custom_cursor_colors` is true
     93   cursor:
     94     text: '#282828'
     95     cursor: '#ebdbb2'
     96 
     97   # Normal colors
     98   normal:
     99     black:   '#282828'
    100     red:     '#cc241d'
    101     green:   '#98971a'
    102     yellow:  '#d79921'
    103     blue:    '#458588'
    104     magenta: '#b16286'
    105     cyan:    '#689d6a'
    106     white:   '#a89984'
    107 
    108   # Bright colors
    109   bright:
    110     black:   '#928374'
    111     red:     '#fb4934'
    112     green:   '#b8bb26'
    113     yellow:  '#fabd2f'
    114     blue:    '#83a598'
    115     magenta: '#d3869b'
    116     cyan:    '#8ec07c'
    117     white:   '#ebdbb2'
    118 
    119   # # Dim colors (Optional)
    120   # dim:
    121   #   black:   '0x333333'
    122   #   red:     '0xf2777a'
    123   #   green:   '0x99cc99'
    124   #   yellow:  '0xffcc66'
    125   #   blue:    '0x6699cc'
    126   #   magenta: '0xcc99cc'
    127   #   cyan:    '0x66cccc'
    128   #   white:   '0xdddddd'
    129 
    130 
    131 # Visual Bell
    132 #
    133 # Any time the BEL code is received, Alacritty "rings" the visual bell. Once
    134 # rung, the terminal background will be set to white and transition back to the
    135 # default background color. You can control the rate of this transition by
    136 # setting the `duration` property (represented in milliseconds). You can also
    137 # configure the transition function by setting the `animation` property.
    138 #
    139 # Possible values for `animation`
    140 # `Ease`
    141 # `EaseOut`
    142 # `EaseOutSine`
    143 # `EaseOutQuad`
    144 # `EaseOutCubic`
    145 # `EaseOutQuart`
    146 # `EaseOutQuint`
    147 # `EaseOutExpo`
    148 # `EaseOutCirc`
    149 # `Linear`
    150 #
    151 # To completely disable the visual bell, set its duration to 0.
    152 #
    153 bell:
    154   animation: EaseOutExpo
    155   duration: 0
    156 
    157 # Mouse bindings
    158 #
    159 # Currently doesn't support modifiers. Both the `mouse` and `action` fields must
    160 # be specified.
    161 #
    162 # Values for `mouse`:
    163 # - Middle
    164 # - Left
    165 # - Right
    166 # - Numeric identifier such as `5`
    167 #
    168 # Values for `action`:
    169 # - Paste
    170 # - PasteSelection
    171 # - Copy (TODO)
    172 mouse_bindings:
    173   - { mouse: Middle, action: PasteSelection }
    174 
    175 mouse:
    176   # Click settings
    177   #
    178   # The `double_click` and `triple_click` settings control the time
    179   # alacritty should wait for accepting multiple clicks as one double
    180   # or triple click.
    181   double_click: { threshold: 300 }
    182   triple_click: { threshold: 300 }
    183   hide_when_typing: true
    184 
    185   # Faux Scrollback
    186   #
    187   # The `faux_scrollback_lines` setting controls the number
    188   # of lines the terminal should scroll when the alternate
    189   # screen buffer is active. This is used to allow mouse
    190   # scrolling for applications like `man`.
    191   #
    192   # To disable this completely, set `faux_scrollback_lines` to 0.
    193   faux_scrollback_lines: 1
    194 
    195 selection:
    196   semantic_escape_chars: ",│`|:\"' ()[]{}<>"
    197 
    198 hide_cursor_when_typing: false
    199 
    200 # Style of the cursor
    201 #
    202 # Values for 'cursor_style':
    203 # - Block
    204 # - Underline
    205 # - Beam
    206 cursor_style: Block
    207 
    208 # Live config reload (changes require restart)
    209 live_config_reload: true
    210 
    211 # Shell
    212 #
    213 # You can set shell.program to the path of your favorite shell, e.g. /bin/fish.
    214 # Entries in shell.args are passed unmodified as arguments to the shell.
    215 #
    216 shell:
    217   program: zsh
    218 #   args:
    219 #     - --login
    220 
    221 # Key bindings
    222 #
    223 # Each binding is defined as an object with some properties. Most of the
    224 # properties are optional. All of the alphabetical keys should have a letter for
    225 # the `key` value such as `V`. Function keys are probably what you would expect
    226 # as well (F1, F2, ..). The number keys above the main keyboard are encoded as
    227 # `Key1`, `Key2`, etc. Keys on the number pad are encoded `Number1`, `Number2`,
    228 # etc.  These all match the glutin::VirtualKeyCode variants.
    229 #
    230 # A list with all available `key` names can be found here:
    231 # https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants
    232 #
    233 # Possible values for `mods`
    234 # `Command`, `Super` refer to the super/command/windows key
    235 # `Control` for the control key
    236 # `Shift` for the Shift key
    237 # `Alt` and `Option` refer to alt/option
    238 #
    239 # mods may be combined with a `|`. For example, requiring control and shift
    240 # looks like:
    241 #
    242 # mods: Control|Shift
    243 #
    244 # The parser is currently quite sensitive to whitespace and capitalization -
    245 # capitalization must match exactly, and piped items must not have whitespace
    246 # around them.
    247 #
    248 # Either an `action`, `chars`, or `command` field must be present.
    249 #   `action` must be one of `Paste`, `PasteSelection`, `Copy`, or `Quit`.
    250 #   `chars` writes the specified string every time that binding is activated.
    251 #     These should generally be escape sequences, but they can be configured to
    252 #     send arbitrary strings of bytes.
    253 #   `command` must be a map containing a `program` string, and `args` array of
    254 #     strings. For example:
    255 #     - { ... , command: { program: "alacritty", args: ["-e", "vttest"] } }
    256 #
    257 #     USE: xxd -psd
    258 key_bindings:
    259   - { key: N,        mods: Command, action: SpawnNewInstance             }
    260   - { key: Return,   mods: Command, action: ToggleFullscreen             }
    261   - { key: V,        mods: Command, action: Paste                        }
    262   - { key: C,        mods: Command, action: Copy                         }
    263   - { key: Q,        mods: Command, action: Quit                         }
    264   - { key: W,        mods: Command, action: Quit                         }
    265   - { key: Home,                    chars: "\x1bOH",   mode: AppCursor   }
    266   - { key: Home,                    chars: "\x1b[H",   mode: ~AppCursor  }
    267   - { key: End,                     chars: "\x1bOF",   mode: AppCursor   }
    268   - { key: End,                     chars: "\x1b[F",   mode: ~AppCursor  }
    269   - { key: Key0,     mods: Command, action: ResetFontSize                }
    270   - { key: Equals,   mods: Command, action: IncreaseFontSize             }
    271   - { key: Minus,    mods: Command, action: DecreaseFontSize             }
    272   - { key: PageUp,   mods: Shift,   chars: "\x1b[5;2~"                   }
    273   - { key: PageUp,   mods: Control, chars: "\x1b[5;5~"                   }
    274   - { key: PageUp,                  chars: "\x1b[5~"                     }
    275   - { key: PageDown, mods: Shift,   chars: "\x1b[6;2~"                   }
    276   - { key: PageDown, mods: Control, chars: "\x1b[6;5~"                   }
    277   - { key: PageDown,                chars: "\x1b[6~"                     }
    278   - { key: Tab,      mods: Shift,   chars: "\x1b[Z"                      }
    279   - { key: Back,                    chars: "\x7f"                        }
    280   - { key: Back,     mods: Alt,     chars: "\x1b\x7f"                    }
    281   - { key: Insert,                  chars: "\x1b[2~"                     }
    282   - { key: Delete,                  chars: "\x1b[3~"                     }
    283   - { key: Left,     mods: Shift,   chars: "\x1b[1;2D"                   }
    284   - { key: Left,     mods: Control, chars: "\x1b[1;5D"                   }
    285   - { key: Left,     mods: Alt,     chars: "\x1b[1;3D"                   }
    286   - { key: Left,                    chars: "\x1b[D",   mode: ~AppCursor  }
    287   - { key: Left,                    chars: "\x1bOD",   mode: AppCursor   }
    288   - { key: Right,    mods: Shift,   chars: "\x1b[1;2C"                   }
    289   - { key: Right,    mods: Control, chars: "\x1b[1;5C"                   }
    290   - { key: Right,    mods: Alt,     chars: "\x1b[1;3C"                   }
    291   - { key: Right,                   chars: "\x1b[C",   mode: ~AppCursor  }
    292   - { key: Right,                   chars: "\x1bOC",   mode: AppCursor   }
    293   - { key: Up,       mods: Shift,   chars: "\x1b[1;2A"                   }
    294   - { key: Up,       mods: Control, chars: "\x1b[1;5A"                   }
    295   - { key: Up,       mods: Alt,     chars: "\x1b[1;3A"                   }
    296   - { key: Up,                      chars: "\x1b[A",   mode: ~AppCursor  }
    297   - { key: Up,                      chars: "\x1bOA",   mode: AppCursor   }
    298   - { key: Down,     mods: Shift,   chars: "\x1b[1;2B"                   }
    299   - { key: Down,     mods: Control, chars: "\x1b[1;5B"                   }
    300   - { key: Down,     mods: Alt,     chars: "\x1b[1;3B"                   }
    301   - { key: Down,                    chars: "\x1b[B",   mode: ~AppCursor  }
    302   - { key: Down,                    chars: "\x1bOB",   mode: AppCursor   }
    303   - { key: F1,                      chars: "\x1bOP"                      }
    304   - { key: F2,                      chars: "\x1bOQ"                      }
    305   - { key: F3,                      chars: "\x1bOR"                      }
    306   - { key: F4,                      chars: "\x1bOS"                      }
    307   - { key: F5,                      chars: "\x1b[15~"                    }
    308   - { key: F6,                      chars: "\x1b[17~"                    }
    309   - { key: F7,                      chars: "\x1b[18~"                    }
    310   - { key: F8,                      chars: "\x1b[19~"                    }
    311   - { key: F9,                      chars: "\x1b[20~"                    }
    312   - { key: F10,                     chars: "\x1b[21~"                    }
    313   - { key: F11,                     chars: "\x1b[23~"                    }
    314   - { key: F12,                     chars: "\x1b[24~"                    }
    315   - { key: F1,       mods: Shift,   chars: "\x1b[1;2P"                   }
    316   - { key: F2,       mods: Shift,   chars: "\x1b[1;2Q"                   }
    317   - { key: F3,       mods: Shift,   chars: "\x1b[1;2R"                   }
    318   - { key: F4,       mods: Shift,   chars: "\x1b[1;2S"                   }
    319   - { key: F5,       mods: Shift,   chars: "\x1b[15;2~"                  }
    320   - { key: F6,       mods: Shift,   chars: "\x1b[17;2~"                  }
    321   - { key: F7,       mods: Shift,   chars: "\x1b[18;2~"                  }
    322   - { key: F8,       mods: Shift,   chars: "\x1b[19;2~"                  }
    323   - { key: F9,       mods: Shift,   chars: "\x1b[20;2~"                  }
    324   - { key: F10,      mods: Shift,   chars: "\x1b[21;2~"                  }
    325   - { key: F11,      mods: Shift,   chars: "\x1b[23;2~"                  }
    326   - { key: F12,      mods: Shift,   chars: "\x1b[24;2~"                  }
    327   - { key: F1,       mods: Control, chars: "\x1b[1;5P"                   }
    328   - { key: F2,       mods: Control, chars: "\x1b[1;5Q"                   }
    329   - { key: F3,       mods: Control, chars: "\x1b[1;5R"                   }
    330   - { key: F4,       mods: Control, chars: "\x1b[1;5S"                   }
    331   - { key: F5,       mods: Control, chars: "\x1b[15;5~"                  }
    332   - { key: F6,       mods: Control, chars: "\x1b[17;5~"                  }
    333   - { key: F7,       mods: Control, chars: "\x1b[18;5~"                  }
    334   - { key: F8,       mods: Control, chars: "\x1b[19;5~"                  }
    335   - { key: F9,       mods: Control, chars: "\x1b[20;5~"                  }
    336   - { key: F10,      mods: Control, chars: "\x1b[21;5~"                  }
    337   - { key: F11,      mods: Control, chars: "\x1b[23;5~"                  }
    338   - { key: F12,      mods: Control, chars: "\x1b[24;5~"                  }
    339   - { key: F1,       mods: Alt,     chars: "\x1b[1;6P"                   }
    340   - { key: F2,       mods: Alt,     chars: "\x1b[1;6Q"                   }
    341   - { key: F3,       mods: Alt,     chars: "\x1b[1;6R"                   }
    342   - { key: F4,       mods: Alt,     chars: "\x1b[1;6S"                   }
    343   - { key: F5,       mods: Alt,     chars: "\x1b[15;6~"                  }
    344   - { key: F6,       mods: Alt,     chars: "\x1b[17;6~"                  }
    345   - { key: F7,       mods: Alt,     chars: "\x1b[18;6~"                  }
    346   - { key: F8,       mods: Alt,     chars: "\x1b[19;6~"                  }
    347   - { key: F9,       mods: Alt,     chars: "\x1b[20;6~"                  }
    348   - { key: F10,      mods: Alt,     chars: "\x1b[21;6~"                  }
    349   - { key: F11,      mods: Alt,     chars: "\x1b[23;6~"                  }
    350   - { key: F12,      mods: Alt,     chars: "\x1b[24;6~"                  }
    351   - { key: F1,       mods: Command, chars: "\x1b[1;3P"                   }
    352   - { key: F2,       mods: Command, chars: "\x1b[1;3Q"                   }
    353   - { key: F3,       mods: Command, chars: "\x1b[1;3R"                   }
    354   - { key: F4,       mods: Command, chars: "\x1b[1;3S"                   }
    355   - { key: F5,       mods: Command, chars: "\x1b[15;3~"                  }
    356   - { key: F6,       mods: Command, chars: "\x1b[17;3~"                  }
    357   - { key: F7,       mods: Command, chars: "\x1b[18;3~"                  }
    358   - { key: F8,       mods: Command, chars: "\x1b[19;3~"                  }
    359   - { key: F9,       mods: Command, chars: "\x1b[20;3~"                  }
    360   - { key: F10,      mods: Command, chars: "\x1b[21;3~"                  }
    361   - { key: F11,      mods: Command, chars: "\x1b[23;3~"                  }
    362   - { key: F12,      mods: Command, chars: "\x1b[24;3~"                  }
    363 
    364   # Alt key
    365   - { key: A,         mods: Alt,       chars: "\x1ba"                       }
    366   - { key: B,         mods: Alt,       chars: "\x1bb"                       }
    367   - { key: C,         mods: Alt,       chars: "\x1bc"                       }
    368   - { key: D,         mods: Alt,       chars: "\x1bd"                       }
    369   - { key: E,         mods: Alt,       chars: "\x1be"                       }
    370   - { key: F,         mods: Alt,       chars: "\x1bf"                       }
    371   - { key: G,         mods: Alt,       chars: "\x1bg"                       }
    372   - { key: H,         mods: Alt,       chars: "\x1bh"                       }
    373   - { key: I,         mods: Alt,       chars: "\x1bi"                       }
    374   - { key: J,         mods: Alt,       chars: "\x1bj"                       }
    375   - { key: K,         mods: Alt,       chars: "\x1bk"                       }
    376   - { key: L,         mods: Alt,       chars: "\x1bl"                       }
    377   - { key: M,         mods: Alt,       chars: "\x1bm"                       }
    378   - { key: N,         mods: Alt,       chars: "\x1bn"                       }
    379   - { key: O,         mods: Alt,       chars: "\x1bo"                       }
    380   - { key: P,         mods: Alt,       chars: "\x1bp"                       }
    381   - { key: Q,         mods: Alt,       chars: "\x1bq"                       }
    382   - { key: R,         mods: Alt,       chars: "\x1br"                       }
    383   - { key: S,         mods: Alt,       chars: "\x1bs"                       }
    384   - { key: T,         mods: Alt,       chars: "\x1bt"                       }
    385   - { key: U,         mods: Alt,       chars: "\x1bu"                       }
    386   - { key: V,         mods: Alt,       chars: "\x1bv"                       }
    387   - { key: W,         mods: Alt,       chars: "\x1bw"                       }
    388   - { key: X,         mods: Alt,       chars: "\x1bx"                       }
    389   - { key: Y,         mods: Alt,       chars: "\x1by"                       }
    390   - { key: Z,         mods: Alt,       chars: "\x1bz"                       }
    391   - { key: A,         mods: Alt|Shift, chars: "\x1bA"                       }
    392   - { key: B,         mods: Alt|Shift, chars: "\x1bB"                       }
    393   - { key: C,         mods: Alt|Shift, chars: "\x1bC"                       }
    394   - { key: D,         mods: Alt|Shift, chars: "\x1bD"                       }
    395   - { key: E,         mods: Alt|Shift, chars: "\x1bE"                       }
    396   - { key: F,         mods: Alt|Shift, chars: "\x1bF"                       }
    397   - { key: G,         mods: Alt|Shift, chars: "\x1bG"                       }
    398   - { key: H,         mods: Alt|Shift, chars: "\x1bH"                       }
    399   - { key: I,         mods: Alt|Shift, chars: "\x1bI"                       }
    400   - { key: J,         mods: Alt|Shift, chars: "\x1bJ"                       }
    401   - { key: K,         mods: Alt|Shift, chars: "\x1bK"                       }
    402   - { key: L,         mods: Alt|Shift, chars: "\x1bL"                       }
    403   - { key: M,         mods: Alt|Shift, chars: "\x1bM"                       }
    404   - { key: N,         mods: Alt|Shift, chars: "\x1bN"                       }
    405   - { key: O,         mods: Alt|Shift, chars: "\x1bO"                       }
    406   - { key: P,         mods: Alt|Shift, chars: "\x1bP"                       }
    407   - { key: Q,         mods: Alt|Shift, chars: "\x1bQ"                       }
    408   - { key: R,         mods: Alt|Shift, chars: "\x1bR"                       }
    409   - { key: S,         mods: Alt|Shift, chars: "\x1bS"                       }
    410   - { key: T,         mods: Alt|Shift, chars: "\x1bT"                       }
    411   - { key: U,         mods: Alt|Shift, chars: "\x1bU"                       }
    412   - { key: V,         mods: Alt|Shift, chars: "\x1bV"                       }
    413   - { key: W,         mods: Alt|Shift, chars: "\x1bW"                       }
    414   - { key: X,         mods: Alt|Shift, chars: "\x1bX"                       }
    415   - { key: Y,         mods: Alt|Shift, chars: "\x1bY"                       }
    416   - { key: Z,         mods: Alt|Shift, chars: "\x1bZ"                       }
    417   - { key: Key1,      mods: Alt,       chars: "\x1b1"                       }
    418   - { key: Key2,      mods: Alt,       chars: "\x1b2"                       }
    419   - { key: Key3,      mods: Alt,       chars: "\x1b3"                       }
    420   - { key: Key4,      mods: Alt,       chars: "\x1b4"                       }
    421   - { key: Key5,      mods: Alt,       chars: "\x1b5"                       }
    422   - { key: Key6,      mods: Alt,       chars: "\x1b6"                       }
    423   - { key: Key7,      mods: Alt,       chars: "\x1b7"                       }
    424   - { key: Key8,      mods: Alt,       chars: "\x1b8"                       }
    425   - { key: Key9,      mods: Alt,       chars: "\x1b9"                       }
    426   - { key: Key0,      mods: Alt,       chars: "\x1b0"                       }
    427   - { key: Space,     mods: Control,   chars: "\x00"                        } # Ctrl + Space
    428   - { key: Grave,     mods: Alt,       chars: "\x1b`"                       } # Alt + `
    429   - { key: Grave,     mods: Alt|Shift, chars: "\x1b~"                       } # Alt + ~
    430   - { key: Period,    mods: Alt,       chars: "\x1b."                       } # Alt + .
    431   - { key: Key8,      mods: Alt|Shift, chars: "\x1b*"                       } # Alt + *
    432   - { key: Key3,      mods: Alt|Shift, chars: "\x1b#"                       } # Alt + #
    433   - { key: Period,    mods: Alt|Shift, chars: "\x1b>"                       } # Alt + >
    434   - { key: Comma,     mods: Alt|Shift, chars: "\x1b<"                       } # Alt + <
    435   - { key: Minus,     mods: Alt|Shift, chars: "\x1b_"                       } # Alt + _
    436   - { key: Key5,      mods: Alt|Shift, chars: "\x1b%"                       } # Alt + %
    437   - { key: Key6,      mods: Alt|Shift, chars: "\x1b^"                       } # Alt + ^
    438   - { key: Backslash, mods: Alt,       chars: "\x1b\\"                      } # Alt + \
    439   - { key: Backslash, mods: Alt|Shift, chars: "\x1b|"                       } # Alt + |